xref: /DragonOS/kernel/src/include/bindings/linux_bpf.rs (revision fae6e9ade46a52976ad5d099643d51cc20876448)
1*fae6e9adSlinfeng /* automatically generated by rust-bindgen 0.69.4 */
2*fae6e9adSlinfeng 
3*fae6e9adSlinfeng #[repr(C)]
4*fae6e9adSlinfeng #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5*fae6e9adSlinfeng pub struct __BindgenBitfieldUnit<Storage> {
6*fae6e9adSlinfeng     storage: Storage,
7*fae6e9adSlinfeng }
8*fae6e9adSlinfeng impl<Storage> __BindgenBitfieldUnit<Storage> {
9*fae6e9adSlinfeng     #[inline]
new(storage: Storage) -> Self10*fae6e9adSlinfeng     pub const fn new(storage: Storage) -> Self {
11*fae6e9adSlinfeng         Self { storage }
12*fae6e9adSlinfeng     }
13*fae6e9adSlinfeng }
14*fae6e9adSlinfeng impl<Storage> __BindgenBitfieldUnit<Storage>
15*fae6e9adSlinfeng where
16*fae6e9adSlinfeng     Storage: AsRef<[u8]> + AsMut<[u8]>,
17*fae6e9adSlinfeng {
18*fae6e9adSlinfeng     #[inline]
get_bit(&self, index: usize) -> bool19*fae6e9adSlinfeng     pub fn get_bit(&self, index: usize) -> bool {
20*fae6e9adSlinfeng         debug_assert!(index / 8 < self.storage.as_ref().len());
21*fae6e9adSlinfeng         let byte_index = index / 8;
22*fae6e9adSlinfeng         let byte = self.storage.as_ref()[byte_index];
23*fae6e9adSlinfeng         let bit_index = if cfg!(target_endian = "big") {
24*fae6e9adSlinfeng             7 - (index % 8)
25*fae6e9adSlinfeng         } else {
26*fae6e9adSlinfeng             index % 8
27*fae6e9adSlinfeng         };
28*fae6e9adSlinfeng         let mask = 1 << bit_index;
29*fae6e9adSlinfeng         byte & mask == mask
30*fae6e9adSlinfeng     }
31*fae6e9adSlinfeng     #[inline]
set_bit(&mut self, index: usize, val: bool)32*fae6e9adSlinfeng     pub fn set_bit(&mut self, index: usize, val: bool) {
33*fae6e9adSlinfeng         debug_assert!(index / 8 < self.storage.as_ref().len());
34*fae6e9adSlinfeng         let byte_index = index / 8;
35*fae6e9adSlinfeng         let byte = &mut self.storage.as_mut()[byte_index];
36*fae6e9adSlinfeng         let bit_index = if cfg!(target_endian = "big") {
37*fae6e9adSlinfeng             7 - (index % 8)
38*fae6e9adSlinfeng         } else {
39*fae6e9adSlinfeng             index % 8
40*fae6e9adSlinfeng         };
41*fae6e9adSlinfeng         let mask = 1 << bit_index;
42*fae6e9adSlinfeng         if val {
43*fae6e9adSlinfeng             *byte |= mask;
44*fae6e9adSlinfeng         } else {
45*fae6e9adSlinfeng             *byte &= !mask;
46*fae6e9adSlinfeng         }
47*fae6e9adSlinfeng     }
48*fae6e9adSlinfeng     #[inline]
get(&self, bit_offset: usize, bit_width: u8) -> u6449*fae6e9adSlinfeng     pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50*fae6e9adSlinfeng         debug_assert!(bit_width <= 64);
51*fae6e9adSlinfeng         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52*fae6e9adSlinfeng         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53*fae6e9adSlinfeng         let mut val = 0;
54*fae6e9adSlinfeng         for i in 0..(bit_width as usize) {
55*fae6e9adSlinfeng             if self.get_bit(i + bit_offset) {
56*fae6e9adSlinfeng                 let index = if cfg!(target_endian = "big") {
57*fae6e9adSlinfeng                     bit_width as usize - 1 - i
58*fae6e9adSlinfeng                 } else {
59*fae6e9adSlinfeng                     i
60*fae6e9adSlinfeng                 };
61*fae6e9adSlinfeng                 val |= 1 << index;
62*fae6e9adSlinfeng             }
63*fae6e9adSlinfeng         }
64*fae6e9adSlinfeng         val
65*fae6e9adSlinfeng     }
66*fae6e9adSlinfeng     #[inline]
set(&mut self, bit_offset: usize, bit_width: u8, val: u64)67*fae6e9adSlinfeng     pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68*fae6e9adSlinfeng         debug_assert!(bit_width <= 64);
69*fae6e9adSlinfeng         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70*fae6e9adSlinfeng         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71*fae6e9adSlinfeng         for i in 0..(bit_width as usize) {
72*fae6e9adSlinfeng             let mask = 1 << i;
73*fae6e9adSlinfeng             let val_bit_is_set = val & mask == mask;
74*fae6e9adSlinfeng             let index = if cfg!(target_endian = "big") {
75*fae6e9adSlinfeng                 bit_width as usize - 1 - i
76*fae6e9adSlinfeng             } else {
77*fae6e9adSlinfeng                 i
78*fae6e9adSlinfeng             };
79*fae6e9adSlinfeng             self.set_bit(index + bit_offset, val_bit_is_set);
80*fae6e9adSlinfeng         }
81*fae6e9adSlinfeng     }
82*fae6e9adSlinfeng }
83*fae6e9adSlinfeng #[repr(C)]
84*fae6e9adSlinfeng #[derive(Default)]
85*fae6e9adSlinfeng pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
86*fae6e9adSlinfeng impl<T> __IncompleteArrayField<T> {
87*fae6e9adSlinfeng     #[inline]
new() -> Self88*fae6e9adSlinfeng     pub const fn new() -> Self {
89*fae6e9adSlinfeng         __IncompleteArrayField(::core::marker::PhantomData, [])
90*fae6e9adSlinfeng     }
91*fae6e9adSlinfeng     #[inline]
as_ptr(&self) -> *const T92*fae6e9adSlinfeng     pub fn as_ptr(&self) -> *const T {
93*fae6e9adSlinfeng         self as *const _ as *const T
94*fae6e9adSlinfeng     }
95*fae6e9adSlinfeng     #[inline]
as_mut_ptr(&mut self) -> *mut T96*fae6e9adSlinfeng     pub fn as_mut_ptr(&mut self) -> *mut T {
97*fae6e9adSlinfeng         self as *mut _ as *mut T
98*fae6e9adSlinfeng     }
99*fae6e9adSlinfeng     #[inline]
as_slice(&self, len: usize) -> &[T]100*fae6e9adSlinfeng     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
101*fae6e9adSlinfeng         ::core::slice::from_raw_parts(self.as_ptr(), len)
102*fae6e9adSlinfeng     }
103*fae6e9adSlinfeng     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]104*fae6e9adSlinfeng     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
105*fae6e9adSlinfeng         ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
106*fae6e9adSlinfeng     }
107*fae6e9adSlinfeng }
108*fae6e9adSlinfeng impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result109*fae6e9adSlinfeng     fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
110*fae6e9adSlinfeng         fmt.write_str("__IncompleteArrayField")
111*fae6e9adSlinfeng     }
112*fae6e9adSlinfeng }
113*fae6e9adSlinfeng pub const SO_ATTACH_BPF: u32 = 50;
114*fae6e9adSlinfeng pub const SO_DETACH_BPF: u32 = 27;
115*fae6e9adSlinfeng pub const BPF_LD: u32 = 0;
116*fae6e9adSlinfeng pub const BPF_LDX: u32 = 1;
117*fae6e9adSlinfeng pub const BPF_ST: u32 = 2;
118*fae6e9adSlinfeng pub const BPF_STX: u32 = 3;
119*fae6e9adSlinfeng pub const BPF_ALU: u32 = 4;
120*fae6e9adSlinfeng pub const BPF_JMP: u32 = 5;
121*fae6e9adSlinfeng pub const BPF_W: u32 = 0;
122*fae6e9adSlinfeng pub const BPF_H: u32 = 8;
123*fae6e9adSlinfeng pub const BPF_B: u32 = 16;
124*fae6e9adSlinfeng pub const BPF_K: u32 = 0;
125*fae6e9adSlinfeng pub const BPF_ALU64: u32 = 7;
126*fae6e9adSlinfeng pub const BPF_DW: u32 = 24;
127*fae6e9adSlinfeng pub const BPF_CALL: u32 = 128;
128*fae6e9adSlinfeng pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
129*fae6e9adSlinfeng pub const BPF_F_ALLOW_MULTI: u32 = 2;
130*fae6e9adSlinfeng pub const BPF_F_REPLACE: u32 = 4;
131*fae6e9adSlinfeng pub const BPF_F_BEFORE: u32 = 8;
132*fae6e9adSlinfeng pub const BPF_F_AFTER: u32 = 16;
133*fae6e9adSlinfeng pub const BPF_F_ID: u32 = 32;
134*fae6e9adSlinfeng pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
135*fae6e9adSlinfeng pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
136*fae6e9adSlinfeng pub const BPF_F_TEST_RND_HI32: u32 = 4;
137*fae6e9adSlinfeng pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
138*fae6e9adSlinfeng pub const BPF_F_SLEEPABLE: u32 = 16;
139*fae6e9adSlinfeng pub const BPF_F_XDP_HAS_FRAGS: u32 = 32;
140*fae6e9adSlinfeng pub const BPF_F_XDP_DEV_BOUND_ONLY: u32 = 64;
141*fae6e9adSlinfeng pub const BPF_F_TEST_REG_INVARIANTS: u32 = 128;
142*fae6e9adSlinfeng pub const BPF_F_NETFILTER_IP_DEFRAG: u32 = 1;
143*fae6e9adSlinfeng pub const BPF_PSEUDO_MAP_FD: u32 = 1;
144*fae6e9adSlinfeng pub const BPF_PSEUDO_MAP_IDX: u32 = 5;
145*fae6e9adSlinfeng pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
146*fae6e9adSlinfeng pub const BPF_PSEUDO_MAP_IDX_VALUE: u32 = 6;
147*fae6e9adSlinfeng pub const BPF_PSEUDO_BTF_ID: u32 = 3;
148*fae6e9adSlinfeng pub const BPF_PSEUDO_FUNC: u32 = 4;
149*fae6e9adSlinfeng pub const BPF_PSEUDO_CALL: u32 = 1;
150*fae6e9adSlinfeng pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2;
151*fae6e9adSlinfeng pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
152*fae6e9adSlinfeng pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1;
153*fae6e9adSlinfeng pub const BPF_F_TEST_XDP_LIVE_FRAMES: u32 = 2;
154*fae6e9adSlinfeng pub const BTF_INT_SIGNED: u32 = 1;
155*fae6e9adSlinfeng pub const BTF_INT_CHAR: u32 = 2;
156*fae6e9adSlinfeng pub const BTF_INT_BOOL: u32 = 4;
157*fae6e9adSlinfeng pub const NLMSG_ALIGNTO: u32 = 4;
158*fae6e9adSlinfeng pub const XDP_FLAGS_UPDATE_IF_NOEXIST: u32 = 1;
159*fae6e9adSlinfeng pub const XDP_FLAGS_SKB_MODE: u32 = 2;
160*fae6e9adSlinfeng pub const XDP_FLAGS_DRV_MODE: u32 = 4;
161*fae6e9adSlinfeng pub const XDP_FLAGS_HW_MODE: u32 = 8;
162*fae6e9adSlinfeng pub const XDP_FLAGS_REPLACE: u32 = 16;
163*fae6e9adSlinfeng pub const XDP_FLAGS_MODES: u32 = 14;
164*fae6e9adSlinfeng pub const XDP_FLAGS_MASK: u32 = 31;
165*fae6e9adSlinfeng pub const PERF_MAX_STACK_DEPTH: u32 = 127;
166*fae6e9adSlinfeng pub const PERF_MAX_CONTEXTS_PER_STACK: u32 = 8;
167*fae6e9adSlinfeng pub const PERF_FLAG_FD_NO_GROUP: u32 = 1;
168*fae6e9adSlinfeng pub const PERF_FLAG_FD_OUTPUT: u32 = 2;
169*fae6e9adSlinfeng pub const PERF_FLAG_PID_CGROUP: u32 = 4;
170*fae6e9adSlinfeng pub const PERF_FLAG_FD_CLOEXEC: u32 = 8;
171*fae6e9adSlinfeng pub const TC_H_MAJ_MASK: u32 = 4294901760;
172*fae6e9adSlinfeng pub const TC_H_MIN_MASK: u32 = 65535;
173*fae6e9adSlinfeng pub const TC_H_UNSPEC: u32 = 0;
174*fae6e9adSlinfeng pub const TC_H_ROOT: u32 = 4294967295;
175*fae6e9adSlinfeng pub const TC_H_INGRESS: u32 = 4294967281;
176*fae6e9adSlinfeng pub const TC_H_CLSACT: u32 = 4294967281;
177*fae6e9adSlinfeng pub const TC_H_MIN_PRIORITY: u32 = 65504;
178*fae6e9adSlinfeng pub const TC_H_MIN_INGRESS: u32 = 65522;
179*fae6e9adSlinfeng pub const TC_H_MIN_EGRESS: u32 = 65523;
180*fae6e9adSlinfeng pub const TCA_BPF_FLAG_ACT_DIRECT: u32 = 1;
181*fae6e9adSlinfeng pub type __u8 = ::core::ffi::c_uchar;
182*fae6e9adSlinfeng pub type __s16 = ::core::ffi::c_short;
183*fae6e9adSlinfeng pub type __u16 = ::core::ffi::c_ushort;
184*fae6e9adSlinfeng pub type __s32 = ::core::ffi::c_int;
185*fae6e9adSlinfeng pub type __u32 = ::core::ffi::c_uint;
186*fae6e9adSlinfeng pub type __s64 = ::core::ffi::c_longlong;
187*fae6e9adSlinfeng pub type __u64 = ::core::ffi::c_ulonglong;
188*fae6e9adSlinfeng #[repr(C)]
189*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
190*fae6e9adSlinfeng pub struct bpf_insn {
191*fae6e9adSlinfeng     pub code: __u8,
192*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
193*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
194*fae6e9adSlinfeng     pub off: __s16,
195*fae6e9adSlinfeng     pub imm: __s32,
196*fae6e9adSlinfeng }
197*fae6e9adSlinfeng impl bpf_insn {
198*fae6e9adSlinfeng     #[inline]
dst_reg(&self) -> __u8199*fae6e9adSlinfeng     pub fn dst_reg(&self) -> __u8 {
200*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
201*fae6e9adSlinfeng     }
202*fae6e9adSlinfeng     #[inline]
set_dst_reg(&mut self, val: __u8)203*fae6e9adSlinfeng     pub fn set_dst_reg(&mut self, val: __u8) {
204*fae6e9adSlinfeng         unsafe {
205*fae6e9adSlinfeng             let val: u8 = ::core::mem::transmute(val);
206*fae6e9adSlinfeng             self._bitfield_1.set(0usize, 4u8, val as u64)
207*fae6e9adSlinfeng         }
208*fae6e9adSlinfeng     }
209*fae6e9adSlinfeng     #[inline]
src_reg(&self) -> __u8210*fae6e9adSlinfeng     pub fn src_reg(&self) -> __u8 {
211*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
212*fae6e9adSlinfeng     }
213*fae6e9adSlinfeng     #[inline]
set_src_reg(&mut self, val: __u8)214*fae6e9adSlinfeng     pub fn set_src_reg(&mut self, val: __u8) {
215*fae6e9adSlinfeng         unsafe {
216*fae6e9adSlinfeng             let val: u8 = ::core::mem::transmute(val);
217*fae6e9adSlinfeng             self._bitfield_1.set(4usize, 4u8, val as u64)
218*fae6e9adSlinfeng         }
219*fae6e9adSlinfeng     }
220*fae6e9adSlinfeng     #[inline]
new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]>221*fae6e9adSlinfeng     pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
222*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
223*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(0usize, 4u8, {
224*fae6e9adSlinfeng             let dst_reg: u8 = unsafe { ::core::mem::transmute(dst_reg) };
225*fae6e9adSlinfeng             dst_reg as u64
226*fae6e9adSlinfeng         });
227*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(4usize, 4u8, {
228*fae6e9adSlinfeng             let src_reg: u8 = unsafe { ::core::mem::transmute(src_reg) };
229*fae6e9adSlinfeng             src_reg as u64
230*fae6e9adSlinfeng         });
231*fae6e9adSlinfeng         __bindgen_bitfield_unit
232*fae6e9adSlinfeng     }
233*fae6e9adSlinfeng }
234*fae6e9adSlinfeng #[repr(C)]
235*fae6e9adSlinfeng #[derive(Debug)]
236*fae6e9adSlinfeng pub struct bpf_lpm_trie_key {
237*fae6e9adSlinfeng     pub prefixlen: __u32,
238*fae6e9adSlinfeng     pub data: __IncompleteArrayField<__u8>,
239*fae6e9adSlinfeng }
240*fae6e9adSlinfeng impl bpf_cmd {
241*fae6e9adSlinfeng     pub const BPF_PROG_RUN: bpf_cmd = bpf_cmd::BPF_PROG_TEST_RUN;
242*fae6e9adSlinfeng }
243*fae6e9adSlinfeng #[repr(u32)]
244*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
245*fae6e9adSlinfeng pub enum bpf_cmd {
246*fae6e9adSlinfeng     BPF_MAP_CREATE = 0,
247*fae6e9adSlinfeng     BPF_MAP_LOOKUP_ELEM = 1,
248*fae6e9adSlinfeng     BPF_MAP_UPDATE_ELEM = 2,
249*fae6e9adSlinfeng     BPF_MAP_DELETE_ELEM = 3,
250*fae6e9adSlinfeng     BPF_MAP_GET_NEXT_KEY = 4,
251*fae6e9adSlinfeng     BPF_PROG_LOAD = 5,
252*fae6e9adSlinfeng     BPF_OBJ_PIN = 6,
253*fae6e9adSlinfeng     BPF_OBJ_GET = 7,
254*fae6e9adSlinfeng     BPF_PROG_ATTACH = 8,
255*fae6e9adSlinfeng     BPF_PROG_DETACH = 9,
256*fae6e9adSlinfeng     BPF_PROG_TEST_RUN = 10,
257*fae6e9adSlinfeng     BPF_PROG_GET_NEXT_ID = 11,
258*fae6e9adSlinfeng     BPF_MAP_GET_NEXT_ID = 12,
259*fae6e9adSlinfeng     BPF_PROG_GET_FD_BY_ID = 13,
260*fae6e9adSlinfeng     BPF_MAP_GET_FD_BY_ID = 14,
261*fae6e9adSlinfeng     BPF_OBJ_GET_INFO_BY_FD = 15,
262*fae6e9adSlinfeng     BPF_PROG_QUERY = 16,
263*fae6e9adSlinfeng     BPF_RAW_TRACEPOINT_OPEN = 17,
264*fae6e9adSlinfeng     BPF_BTF_LOAD = 18,
265*fae6e9adSlinfeng     BPF_BTF_GET_FD_BY_ID = 19,
266*fae6e9adSlinfeng     BPF_TASK_FD_QUERY = 20,
267*fae6e9adSlinfeng     BPF_MAP_LOOKUP_AND_DELETE_ELEM = 21,
268*fae6e9adSlinfeng     BPF_MAP_FREEZE = 22,
269*fae6e9adSlinfeng     BPF_BTF_GET_NEXT_ID = 23,
270*fae6e9adSlinfeng     BPF_MAP_LOOKUP_BATCH = 24,
271*fae6e9adSlinfeng     BPF_MAP_LOOKUP_AND_DELETE_BATCH = 25,
272*fae6e9adSlinfeng     BPF_MAP_UPDATE_BATCH = 26,
273*fae6e9adSlinfeng     BPF_MAP_DELETE_BATCH = 27,
274*fae6e9adSlinfeng     BPF_LINK_CREATE = 28,
275*fae6e9adSlinfeng     BPF_LINK_UPDATE = 29,
276*fae6e9adSlinfeng     BPF_LINK_GET_FD_BY_ID = 30,
277*fae6e9adSlinfeng     BPF_LINK_GET_NEXT_ID = 31,
278*fae6e9adSlinfeng     BPF_ENABLE_STATS = 32,
279*fae6e9adSlinfeng     BPF_ITER_CREATE = 33,
280*fae6e9adSlinfeng     BPF_LINK_DETACH = 34,
281*fae6e9adSlinfeng     BPF_PROG_BIND_MAP = 35,
282*fae6e9adSlinfeng     BPF_TOKEN_CREATE = 36,
283*fae6e9adSlinfeng     __MAX_BPF_CMD = 37,
284*fae6e9adSlinfeng }
285*fae6e9adSlinfeng impl bpf_map_type {
286*fae6e9adSlinfeng     pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type =
287*fae6e9adSlinfeng         bpf_map_type::BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED;
288*fae6e9adSlinfeng }
289*fae6e9adSlinfeng impl bpf_map_type {
290*fae6e9adSlinfeng     pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: bpf_map_type =
291*fae6e9adSlinfeng         bpf_map_type::BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED;
292*fae6e9adSlinfeng }
293*fae6e9adSlinfeng #[repr(u32)]
294*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
295*fae6e9adSlinfeng pub enum bpf_map_type {
296*fae6e9adSlinfeng     BPF_MAP_TYPE_UNSPEC = 0,
297*fae6e9adSlinfeng     BPF_MAP_TYPE_HASH = 1,
298*fae6e9adSlinfeng     BPF_MAP_TYPE_ARRAY = 2,
299*fae6e9adSlinfeng     BPF_MAP_TYPE_PROG_ARRAY = 3,
300*fae6e9adSlinfeng     BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,
301*fae6e9adSlinfeng     BPF_MAP_TYPE_PERCPU_HASH = 5,
302*fae6e9adSlinfeng     BPF_MAP_TYPE_PERCPU_ARRAY = 6,
303*fae6e9adSlinfeng     BPF_MAP_TYPE_STACK_TRACE = 7,
304*fae6e9adSlinfeng     BPF_MAP_TYPE_CGROUP_ARRAY = 8,
305*fae6e9adSlinfeng     BPF_MAP_TYPE_LRU_HASH = 9,
306*fae6e9adSlinfeng     BPF_MAP_TYPE_LRU_PERCPU_HASH = 10,
307*fae6e9adSlinfeng     BPF_MAP_TYPE_LPM_TRIE = 11,
308*fae6e9adSlinfeng     BPF_MAP_TYPE_ARRAY_OF_MAPS = 12,
309*fae6e9adSlinfeng     BPF_MAP_TYPE_HASH_OF_MAPS = 13,
310*fae6e9adSlinfeng     BPF_MAP_TYPE_DEVMAP = 14,
311*fae6e9adSlinfeng     BPF_MAP_TYPE_SOCKMAP = 15,
312*fae6e9adSlinfeng     BPF_MAP_TYPE_CPUMAP = 16,
313*fae6e9adSlinfeng     BPF_MAP_TYPE_XSKMAP = 17,
314*fae6e9adSlinfeng     BPF_MAP_TYPE_SOCKHASH = 18,
315*fae6e9adSlinfeng     BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,
316*fae6e9adSlinfeng     BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
317*fae6e9adSlinfeng     BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21,
318*fae6e9adSlinfeng     BPF_MAP_TYPE_QUEUE = 22,
319*fae6e9adSlinfeng     BPF_MAP_TYPE_STACK = 23,
320*fae6e9adSlinfeng     BPF_MAP_TYPE_SK_STORAGE = 24,
321*fae6e9adSlinfeng     BPF_MAP_TYPE_DEVMAP_HASH = 25,
322*fae6e9adSlinfeng     BPF_MAP_TYPE_STRUCT_OPS = 26,
323*fae6e9adSlinfeng     BPF_MAP_TYPE_RINGBUF = 27,
324*fae6e9adSlinfeng     BPF_MAP_TYPE_INODE_STORAGE = 28,
325*fae6e9adSlinfeng     BPF_MAP_TYPE_TASK_STORAGE = 29,
326*fae6e9adSlinfeng     BPF_MAP_TYPE_BLOOM_FILTER = 30,
327*fae6e9adSlinfeng     BPF_MAP_TYPE_USER_RINGBUF = 31,
328*fae6e9adSlinfeng     BPF_MAP_TYPE_CGRP_STORAGE = 32,
329*fae6e9adSlinfeng     BPF_MAP_TYPE_ARENA = 33,
330*fae6e9adSlinfeng     __MAX_BPF_MAP_TYPE = 34,
331*fae6e9adSlinfeng }
332*fae6e9adSlinfeng #[repr(u32)]
333*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
334*fae6e9adSlinfeng pub enum bpf_prog_type {
335*fae6e9adSlinfeng     BPF_PROG_TYPE_UNSPEC = 0,
336*fae6e9adSlinfeng     BPF_PROG_TYPE_SOCKET_FILTER = 1,
337*fae6e9adSlinfeng     BPF_PROG_TYPE_KPROBE = 2,
338*fae6e9adSlinfeng     BPF_PROG_TYPE_SCHED_CLS = 3,
339*fae6e9adSlinfeng     BPF_PROG_TYPE_SCHED_ACT = 4,
340*fae6e9adSlinfeng     BPF_PROG_TYPE_TRACEPOINT = 5,
341*fae6e9adSlinfeng     BPF_PROG_TYPE_XDP = 6,
342*fae6e9adSlinfeng     BPF_PROG_TYPE_PERF_EVENT = 7,
343*fae6e9adSlinfeng     BPF_PROG_TYPE_CGROUP_SKB = 8,
344*fae6e9adSlinfeng     BPF_PROG_TYPE_CGROUP_SOCK = 9,
345*fae6e9adSlinfeng     BPF_PROG_TYPE_LWT_IN = 10,
346*fae6e9adSlinfeng     BPF_PROG_TYPE_LWT_OUT = 11,
347*fae6e9adSlinfeng     BPF_PROG_TYPE_LWT_XMIT = 12,
348*fae6e9adSlinfeng     BPF_PROG_TYPE_SOCK_OPS = 13,
349*fae6e9adSlinfeng     BPF_PROG_TYPE_SK_SKB = 14,
350*fae6e9adSlinfeng     BPF_PROG_TYPE_CGROUP_DEVICE = 15,
351*fae6e9adSlinfeng     BPF_PROG_TYPE_SK_MSG = 16,
352*fae6e9adSlinfeng     BPF_PROG_TYPE_RAW_TRACEPOINT = 17,
353*fae6e9adSlinfeng     BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18,
354*fae6e9adSlinfeng     BPF_PROG_TYPE_LWT_SEG6LOCAL = 19,
355*fae6e9adSlinfeng     BPF_PROG_TYPE_LIRC_MODE2 = 20,
356*fae6e9adSlinfeng     BPF_PROG_TYPE_SK_REUSEPORT = 21,
357*fae6e9adSlinfeng     BPF_PROG_TYPE_FLOW_DISSECTOR = 22,
358*fae6e9adSlinfeng     BPF_PROG_TYPE_CGROUP_SYSCTL = 23,
359*fae6e9adSlinfeng     BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24,
360*fae6e9adSlinfeng     BPF_PROG_TYPE_CGROUP_SOCKOPT = 25,
361*fae6e9adSlinfeng     BPF_PROG_TYPE_TRACING = 26,
362*fae6e9adSlinfeng     BPF_PROG_TYPE_STRUCT_OPS = 27,
363*fae6e9adSlinfeng     BPF_PROG_TYPE_EXT = 28,
364*fae6e9adSlinfeng     BPF_PROG_TYPE_LSM = 29,
365*fae6e9adSlinfeng     BPF_PROG_TYPE_SK_LOOKUP = 30,
366*fae6e9adSlinfeng     BPF_PROG_TYPE_SYSCALL = 31,
367*fae6e9adSlinfeng     BPF_PROG_TYPE_NETFILTER = 32,
368*fae6e9adSlinfeng     __MAX_BPF_PROG_TYPE = 33,
369*fae6e9adSlinfeng }
370*fae6e9adSlinfeng #[repr(u32)]
371*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
372*fae6e9adSlinfeng pub enum bpf_attach_type {
373*fae6e9adSlinfeng     BPF_CGROUP_INET_INGRESS = 0,
374*fae6e9adSlinfeng     BPF_CGROUP_INET_EGRESS = 1,
375*fae6e9adSlinfeng     BPF_CGROUP_INET_SOCK_CREATE = 2,
376*fae6e9adSlinfeng     BPF_CGROUP_SOCK_OPS = 3,
377*fae6e9adSlinfeng     BPF_SK_SKB_STREAM_PARSER = 4,
378*fae6e9adSlinfeng     BPF_SK_SKB_STREAM_VERDICT = 5,
379*fae6e9adSlinfeng     BPF_CGROUP_DEVICE = 6,
380*fae6e9adSlinfeng     BPF_SK_MSG_VERDICT = 7,
381*fae6e9adSlinfeng     BPF_CGROUP_INET4_BIND = 8,
382*fae6e9adSlinfeng     BPF_CGROUP_INET6_BIND = 9,
383*fae6e9adSlinfeng     BPF_CGROUP_INET4_CONNECT = 10,
384*fae6e9adSlinfeng     BPF_CGROUP_INET6_CONNECT = 11,
385*fae6e9adSlinfeng     BPF_CGROUP_INET4_POST_BIND = 12,
386*fae6e9adSlinfeng     BPF_CGROUP_INET6_POST_BIND = 13,
387*fae6e9adSlinfeng     BPF_CGROUP_UDP4_SENDMSG = 14,
388*fae6e9adSlinfeng     BPF_CGROUP_UDP6_SENDMSG = 15,
389*fae6e9adSlinfeng     BPF_LIRC_MODE2 = 16,
390*fae6e9adSlinfeng     BPF_FLOW_DISSECTOR = 17,
391*fae6e9adSlinfeng     BPF_CGROUP_SYSCTL = 18,
392*fae6e9adSlinfeng     BPF_CGROUP_UDP4_RECVMSG = 19,
393*fae6e9adSlinfeng     BPF_CGROUP_UDP6_RECVMSG = 20,
394*fae6e9adSlinfeng     BPF_CGROUP_GETSOCKOPT = 21,
395*fae6e9adSlinfeng     BPF_CGROUP_SETSOCKOPT = 22,
396*fae6e9adSlinfeng     BPF_TRACE_RAW_TP = 23,
397*fae6e9adSlinfeng     BPF_TRACE_FENTRY = 24,
398*fae6e9adSlinfeng     BPF_TRACE_FEXIT = 25,
399*fae6e9adSlinfeng     BPF_MODIFY_RETURN = 26,
400*fae6e9adSlinfeng     BPF_LSM_MAC = 27,
401*fae6e9adSlinfeng     BPF_TRACE_ITER = 28,
402*fae6e9adSlinfeng     BPF_CGROUP_INET4_GETPEERNAME = 29,
403*fae6e9adSlinfeng     BPF_CGROUP_INET6_GETPEERNAME = 30,
404*fae6e9adSlinfeng     BPF_CGROUP_INET4_GETSOCKNAME = 31,
405*fae6e9adSlinfeng     BPF_CGROUP_INET6_GETSOCKNAME = 32,
406*fae6e9adSlinfeng     BPF_XDP_DEVMAP = 33,
407*fae6e9adSlinfeng     BPF_CGROUP_INET_SOCK_RELEASE = 34,
408*fae6e9adSlinfeng     BPF_XDP_CPUMAP = 35,
409*fae6e9adSlinfeng     BPF_SK_LOOKUP = 36,
410*fae6e9adSlinfeng     BPF_XDP = 37,
411*fae6e9adSlinfeng     BPF_SK_SKB_VERDICT = 38,
412*fae6e9adSlinfeng     BPF_SK_REUSEPORT_SELECT = 39,
413*fae6e9adSlinfeng     BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40,
414*fae6e9adSlinfeng     BPF_PERF_EVENT = 41,
415*fae6e9adSlinfeng     BPF_TRACE_KPROBE_MULTI = 42,
416*fae6e9adSlinfeng     BPF_LSM_CGROUP = 43,
417*fae6e9adSlinfeng     BPF_STRUCT_OPS = 44,
418*fae6e9adSlinfeng     BPF_NETFILTER = 45,
419*fae6e9adSlinfeng     BPF_TCX_INGRESS = 46,
420*fae6e9adSlinfeng     BPF_TCX_EGRESS = 47,
421*fae6e9adSlinfeng     BPF_TRACE_UPROBE_MULTI = 48,
422*fae6e9adSlinfeng     BPF_CGROUP_UNIX_CONNECT = 49,
423*fae6e9adSlinfeng     BPF_CGROUP_UNIX_SENDMSG = 50,
424*fae6e9adSlinfeng     BPF_CGROUP_UNIX_RECVMSG = 51,
425*fae6e9adSlinfeng     BPF_CGROUP_UNIX_GETPEERNAME = 52,
426*fae6e9adSlinfeng     BPF_CGROUP_UNIX_GETSOCKNAME = 53,
427*fae6e9adSlinfeng     BPF_NETKIT_PRIMARY = 54,
428*fae6e9adSlinfeng     BPF_NETKIT_PEER = 55,
429*fae6e9adSlinfeng     __MAX_BPF_ATTACH_TYPE = 56,
430*fae6e9adSlinfeng }
431*fae6e9adSlinfeng #[repr(u32)]
432*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
433*fae6e9adSlinfeng pub enum bpf_link_type {
434*fae6e9adSlinfeng     BPF_LINK_TYPE_UNSPEC = 0,
435*fae6e9adSlinfeng     BPF_LINK_TYPE_RAW_TRACEPOINT = 1,
436*fae6e9adSlinfeng     BPF_LINK_TYPE_TRACING = 2,
437*fae6e9adSlinfeng     BPF_LINK_TYPE_CGROUP = 3,
438*fae6e9adSlinfeng     BPF_LINK_TYPE_ITER = 4,
439*fae6e9adSlinfeng     BPF_LINK_TYPE_NETNS = 5,
440*fae6e9adSlinfeng     BPF_LINK_TYPE_XDP = 6,
441*fae6e9adSlinfeng     BPF_LINK_TYPE_PERF_EVENT = 7,
442*fae6e9adSlinfeng     BPF_LINK_TYPE_KPROBE_MULTI = 8,
443*fae6e9adSlinfeng     BPF_LINK_TYPE_STRUCT_OPS = 9,
444*fae6e9adSlinfeng     BPF_LINK_TYPE_NETFILTER = 10,
445*fae6e9adSlinfeng     BPF_LINK_TYPE_TCX = 11,
446*fae6e9adSlinfeng     BPF_LINK_TYPE_UPROBE_MULTI = 12,
447*fae6e9adSlinfeng     BPF_LINK_TYPE_NETKIT = 13,
448*fae6e9adSlinfeng     __MAX_BPF_LINK_TYPE = 14,
449*fae6e9adSlinfeng }
450*fae6e9adSlinfeng pub const BPF_F_KPROBE_MULTI_RETURN: _bindgen_ty_2 = 1;
451*fae6e9adSlinfeng pub type _bindgen_ty_2 = ::core::ffi::c_uint;
452*fae6e9adSlinfeng pub const BPF_F_UPROBE_MULTI_RETURN: _bindgen_ty_3 = 1;
453*fae6e9adSlinfeng pub type _bindgen_ty_3 = ::core::ffi::c_uint;
454*fae6e9adSlinfeng pub const BPF_ANY: _bindgen_ty_4 = 0;
455*fae6e9adSlinfeng pub const BPF_NOEXIST: _bindgen_ty_4 = 1;
456*fae6e9adSlinfeng pub const BPF_EXIST: _bindgen_ty_4 = 2;
457*fae6e9adSlinfeng pub const BPF_F_LOCK: _bindgen_ty_4 = 4;
458*fae6e9adSlinfeng pub type _bindgen_ty_4 = ::core::ffi::c_uint;
459*fae6e9adSlinfeng pub const BPF_F_NO_PREALLOC: _bindgen_ty_5 = 1;
460*fae6e9adSlinfeng pub const BPF_F_NO_COMMON_LRU: _bindgen_ty_5 = 2;
461*fae6e9adSlinfeng pub const BPF_F_NUMA_NODE: _bindgen_ty_5 = 4;
462*fae6e9adSlinfeng pub const BPF_F_RDONLY: _bindgen_ty_5 = 8;
463*fae6e9adSlinfeng pub const BPF_F_WRONLY: _bindgen_ty_5 = 16;
464*fae6e9adSlinfeng pub const BPF_F_STACK_BUILD_ID: _bindgen_ty_5 = 32;
465*fae6e9adSlinfeng pub const BPF_F_ZERO_SEED: _bindgen_ty_5 = 64;
466*fae6e9adSlinfeng pub const BPF_F_RDONLY_PROG: _bindgen_ty_5 = 128;
467*fae6e9adSlinfeng pub const BPF_F_WRONLY_PROG: _bindgen_ty_5 = 256;
468*fae6e9adSlinfeng pub const BPF_F_CLONE: _bindgen_ty_5 = 512;
469*fae6e9adSlinfeng pub const BPF_F_MMAPABLE: _bindgen_ty_5 = 1024;
470*fae6e9adSlinfeng pub const BPF_F_PRESERVE_ELEMS: _bindgen_ty_5 = 2048;
471*fae6e9adSlinfeng pub const BPF_F_INNER_MAP: _bindgen_ty_5 = 4096;
472*fae6e9adSlinfeng pub const BPF_F_LINK: _bindgen_ty_5 = 8192;
473*fae6e9adSlinfeng pub const BPF_F_PATH_FD: _bindgen_ty_5 = 16384;
474*fae6e9adSlinfeng pub const BPF_F_VTYPE_BTF_OBJ_FD: _bindgen_ty_5 = 32768;
475*fae6e9adSlinfeng pub const BPF_F_TOKEN_FD: _bindgen_ty_5 = 65536;
476*fae6e9adSlinfeng pub const BPF_F_SEGV_ON_FAULT: _bindgen_ty_5 = 131072;
477*fae6e9adSlinfeng pub const BPF_F_NO_USER_CONV: _bindgen_ty_5 = 262144;
478*fae6e9adSlinfeng pub type _bindgen_ty_5 = ::core::ffi::c_uint;
479*fae6e9adSlinfeng #[repr(u32)]
480*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
481*fae6e9adSlinfeng pub enum bpf_stats_type {
482*fae6e9adSlinfeng     BPF_STATS_RUN_TIME = 0,
483*fae6e9adSlinfeng }
484*fae6e9adSlinfeng #[repr(C)]
485*fae6e9adSlinfeng #[derive(Copy, Clone)]
486*fae6e9adSlinfeng pub union bpf_attr {
487*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_1,
488*fae6e9adSlinfeng     pub __bindgen_anon_2: bpf_attr__bindgen_ty_2,
489*fae6e9adSlinfeng     pub batch: bpf_attr__bindgen_ty_3,
490*fae6e9adSlinfeng     pub __bindgen_anon_3: bpf_attr__bindgen_ty_4,
491*fae6e9adSlinfeng     pub __bindgen_anon_4: bpf_attr__bindgen_ty_5,
492*fae6e9adSlinfeng     pub __bindgen_anon_5: bpf_attr__bindgen_ty_6,
493*fae6e9adSlinfeng     pub test: bpf_attr__bindgen_ty_7,
494*fae6e9adSlinfeng     pub __bindgen_anon_6: bpf_attr__bindgen_ty_8,
495*fae6e9adSlinfeng     pub info: bpf_attr__bindgen_ty_9,
496*fae6e9adSlinfeng     pub query: bpf_attr__bindgen_ty_10,
497*fae6e9adSlinfeng     pub raw_tracepoint: bpf_attr__bindgen_ty_11,
498*fae6e9adSlinfeng     pub __bindgen_anon_7: bpf_attr__bindgen_ty_12,
499*fae6e9adSlinfeng     pub task_fd_query: bpf_attr__bindgen_ty_13,
500*fae6e9adSlinfeng     pub link_create: bpf_attr__bindgen_ty_14,
501*fae6e9adSlinfeng     pub link_update: bpf_attr__bindgen_ty_15,
502*fae6e9adSlinfeng     pub link_detach: bpf_attr__bindgen_ty_16,
503*fae6e9adSlinfeng     pub enable_stats: bpf_attr__bindgen_ty_17,
504*fae6e9adSlinfeng     pub iter_create: bpf_attr__bindgen_ty_18,
505*fae6e9adSlinfeng     pub prog_bind_map: bpf_attr__bindgen_ty_19,
506*fae6e9adSlinfeng     pub token_create: bpf_attr__bindgen_ty_20,
507*fae6e9adSlinfeng }
508*fae6e9adSlinfeng #[repr(C)]
509*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
510*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_1 {
511*fae6e9adSlinfeng     pub map_type: __u32,
512*fae6e9adSlinfeng     pub key_size: __u32,
513*fae6e9adSlinfeng     pub value_size: __u32,
514*fae6e9adSlinfeng     pub max_entries: __u32,
515*fae6e9adSlinfeng     pub map_flags: __u32,
516*fae6e9adSlinfeng     pub inner_map_fd: __u32,
517*fae6e9adSlinfeng     pub numa_node: __u32,
518*fae6e9adSlinfeng     pub map_name: [::core::ffi::c_char; 16usize],
519*fae6e9adSlinfeng     pub map_ifindex: __u32,
520*fae6e9adSlinfeng     pub btf_fd: __u32,
521*fae6e9adSlinfeng     pub btf_key_type_id: __u32,
522*fae6e9adSlinfeng     pub btf_value_type_id: __u32,
523*fae6e9adSlinfeng     pub btf_vmlinux_value_type_id: __u32,
524*fae6e9adSlinfeng     pub map_extra: __u64,
525*fae6e9adSlinfeng     pub value_type_btf_obj_fd: __s32,
526*fae6e9adSlinfeng     pub map_token_fd: __s32,
527*fae6e9adSlinfeng }
528*fae6e9adSlinfeng #[repr(C)]
529*fae6e9adSlinfeng #[derive(Copy, Clone)]
530*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_2 {
531*fae6e9adSlinfeng     pub map_fd: __u32,
532*fae6e9adSlinfeng     pub key: __u64,
533*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1,
534*fae6e9adSlinfeng     pub flags: __u64,
535*fae6e9adSlinfeng }
536*fae6e9adSlinfeng #[repr(C)]
537*fae6e9adSlinfeng #[derive(Copy, Clone)]
538*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 {
539*fae6e9adSlinfeng     pub value: __u64,
540*fae6e9adSlinfeng     pub next_key: __u64,
541*fae6e9adSlinfeng }
542*fae6e9adSlinfeng #[repr(C)]
543*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
544*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_3 {
545*fae6e9adSlinfeng     pub in_batch: __u64,
546*fae6e9adSlinfeng     pub out_batch: __u64,
547*fae6e9adSlinfeng     pub keys: __u64,
548*fae6e9adSlinfeng     pub values: __u64,
549*fae6e9adSlinfeng     pub count: __u32,
550*fae6e9adSlinfeng     pub map_fd: __u32,
551*fae6e9adSlinfeng     pub elem_flags: __u64,
552*fae6e9adSlinfeng     pub flags: __u64,
553*fae6e9adSlinfeng }
554*fae6e9adSlinfeng #[repr(C)]
555*fae6e9adSlinfeng #[derive(Copy, Clone)]
556*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_4 {
557*fae6e9adSlinfeng     pub prog_type: __u32,
558*fae6e9adSlinfeng     pub insn_cnt: __u32,
559*fae6e9adSlinfeng     pub insns: __u64,
560*fae6e9adSlinfeng     pub license: __u64,
561*fae6e9adSlinfeng     pub log_level: __u32,
562*fae6e9adSlinfeng     pub log_size: __u32,
563*fae6e9adSlinfeng     pub log_buf: __u64,
564*fae6e9adSlinfeng     pub kern_version: __u32,
565*fae6e9adSlinfeng     pub prog_flags: __u32,
566*fae6e9adSlinfeng     pub prog_name: [::core::ffi::c_char; 16usize],
567*fae6e9adSlinfeng     pub prog_ifindex: __u32,
568*fae6e9adSlinfeng     pub expected_attach_type: __u32,
569*fae6e9adSlinfeng     pub prog_btf_fd: __u32,
570*fae6e9adSlinfeng     pub func_info_rec_size: __u32,
571*fae6e9adSlinfeng     pub func_info: __u64,
572*fae6e9adSlinfeng     pub func_info_cnt: __u32,
573*fae6e9adSlinfeng     pub line_info_rec_size: __u32,
574*fae6e9adSlinfeng     pub line_info: __u64,
575*fae6e9adSlinfeng     pub line_info_cnt: __u32,
576*fae6e9adSlinfeng     pub attach_btf_id: __u32,
577*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1,
578*fae6e9adSlinfeng     pub core_relo_cnt: __u32,
579*fae6e9adSlinfeng     pub fd_array: __u64,
580*fae6e9adSlinfeng     pub core_relos: __u64,
581*fae6e9adSlinfeng     pub core_relo_rec_size: __u32,
582*fae6e9adSlinfeng     pub log_true_size: __u32,
583*fae6e9adSlinfeng     pub prog_token_fd: __s32,
584*fae6e9adSlinfeng }
585*fae6e9adSlinfeng #[repr(C)]
586*fae6e9adSlinfeng #[derive(Copy, Clone)]
587*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 {
588*fae6e9adSlinfeng     pub attach_prog_fd: __u32,
589*fae6e9adSlinfeng     pub attach_btf_obj_fd: __u32,
590*fae6e9adSlinfeng }
591*fae6e9adSlinfeng #[repr(C)]
592*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
593*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_5 {
594*fae6e9adSlinfeng     pub pathname: __u64,
595*fae6e9adSlinfeng     pub bpf_fd: __u32,
596*fae6e9adSlinfeng     pub file_flags: __u32,
597*fae6e9adSlinfeng     pub path_fd: __s32,
598*fae6e9adSlinfeng }
599*fae6e9adSlinfeng #[repr(C)]
600*fae6e9adSlinfeng #[derive(Copy, Clone)]
601*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_6 {
602*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_6__bindgen_ty_1,
603*fae6e9adSlinfeng     pub attach_bpf_fd: __u32,
604*fae6e9adSlinfeng     pub attach_type: __u32,
605*fae6e9adSlinfeng     pub attach_flags: __u32,
606*fae6e9adSlinfeng     pub replace_bpf_fd: __u32,
607*fae6e9adSlinfeng     pub __bindgen_anon_2: bpf_attr__bindgen_ty_6__bindgen_ty_2,
608*fae6e9adSlinfeng     pub expected_revision: __u64,
609*fae6e9adSlinfeng }
610*fae6e9adSlinfeng #[repr(C)]
611*fae6e9adSlinfeng #[derive(Copy, Clone)]
612*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_6__bindgen_ty_1 {
613*fae6e9adSlinfeng     pub target_fd: __u32,
614*fae6e9adSlinfeng     pub target_ifindex: __u32,
615*fae6e9adSlinfeng }
616*fae6e9adSlinfeng #[repr(C)]
617*fae6e9adSlinfeng #[derive(Copy, Clone)]
618*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_6__bindgen_ty_2 {
619*fae6e9adSlinfeng     pub relative_fd: __u32,
620*fae6e9adSlinfeng     pub relative_id: __u32,
621*fae6e9adSlinfeng }
622*fae6e9adSlinfeng #[repr(C)]
623*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
624*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_7 {
625*fae6e9adSlinfeng     pub prog_fd: __u32,
626*fae6e9adSlinfeng     pub retval: __u32,
627*fae6e9adSlinfeng     pub data_size_in: __u32,
628*fae6e9adSlinfeng     pub data_size_out: __u32,
629*fae6e9adSlinfeng     pub data_in: __u64,
630*fae6e9adSlinfeng     pub data_out: __u64,
631*fae6e9adSlinfeng     pub repeat: __u32,
632*fae6e9adSlinfeng     pub duration: __u32,
633*fae6e9adSlinfeng     pub ctx_size_in: __u32,
634*fae6e9adSlinfeng     pub ctx_size_out: __u32,
635*fae6e9adSlinfeng     pub ctx_in: __u64,
636*fae6e9adSlinfeng     pub ctx_out: __u64,
637*fae6e9adSlinfeng     pub flags: __u32,
638*fae6e9adSlinfeng     pub cpu: __u32,
639*fae6e9adSlinfeng     pub batch_size: __u32,
640*fae6e9adSlinfeng }
641*fae6e9adSlinfeng #[repr(C)]
642*fae6e9adSlinfeng #[derive(Copy, Clone)]
643*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_8 {
644*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_8__bindgen_ty_1,
645*fae6e9adSlinfeng     pub next_id: __u32,
646*fae6e9adSlinfeng     pub open_flags: __u32,
647*fae6e9adSlinfeng }
648*fae6e9adSlinfeng #[repr(C)]
649*fae6e9adSlinfeng #[derive(Copy, Clone)]
650*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_8__bindgen_ty_1 {
651*fae6e9adSlinfeng     pub start_id: __u32,
652*fae6e9adSlinfeng     pub prog_id: __u32,
653*fae6e9adSlinfeng     pub map_id: __u32,
654*fae6e9adSlinfeng     pub btf_id: __u32,
655*fae6e9adSlinfeng     pub link_id: __u32,
656*fae6e9adSlinfeng }
657*fae6e9adSlinfeng #[repr(C)]
658*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
659*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_9 {
660*fae6e9adSlinfeng     pub bpf_fd: __u32,
661*fae6e9adSlinfeng     pub info_len: __u32,
662*fae6e9adSlinfeng     pub info: __u64,
663*fae6e9adSlinfeng }
664*fae6e9adSlinfeng #[repr(C)]
665*fae6e9adSlinfeng #[derive(Copy, Clone)]
666*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_10 {
667*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_10__bindgen_ty_1,
668*fae6e9adSlinfeng     pub attach_type: __u32,
669*fae6e9adSlinfeng     pub query_flags: __u32,
670*fae6e9adSlinfeng     pub attach_flags: __u32,
671*fae6e9adSlinfeng     pub prog_ids: __u64,
672*fae6e9adSlinfeng     pub __bindgen_anon_2: bpf_attr__bindgen_ty_10__bindgen_ty_2,
673*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
674*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
675*fae6e9adSlinfeng     pub prog_attach_flags: __u64,
676*fae6e9adSlinfeng     pub link_ids: __u64,
677*fae6e9adSlinfeng     pub link_attach_flags: __u64,
678*fae6e9adSlinfeng     pub revision: __u64,
679*fae6e9adSlinfeng }
680*fae6e9adSlinfeng #[repr(C)]
681*fae6e9adSlinfeng #[derive(Copy, Clone)]
682*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_10__bindgen_ty_1 {
683*fae6e9adSlinfeng     pub target_fd: __u32,
684*fae6e9adSlinfeng     pub target_ifindex: __u32,
685*fae6e9adSlinfeng }
686*fae6e9adSlinfeng #[repr(C)]
687*fae6e9adSlinfeng #[derive(Copy, Clone)]
688*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_10__bindgen_ty_2 {
689*fae6e9adSlinfeng     pub prog_cnt: __u32,
690*fae6e9adSlinfeng     pub count: __u32,
691*fae6e9adSlinfeng }
692*fae6e9adSlinfeng impl bpf_attr__bindgen_ty_10 {
693*fae6e9adSlinfeng     #[inline]
new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]>694*fae6e9adSlinfeng     pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
695*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
696*fae6e9adSlinfeng         __bindgen_bitfield_unit
697*fae6e9adSlinfeng     }
698*fae6e9adSlinfeng }
699*fae6e9adSlinfeng #[repr(C)]
700*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
701*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_11 {
702*fae6e9adSlinfeng     pub name: __u64,
703*fae6e9adSlinfeng     pub prog_fd: __u32,
704*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
705*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
706*fae6e9adSlinfeng     pub cookie: __u64,
707*fae6e9adSlinfeng }
708*fae6e9adSlinfeng impl bpf_attr__bindgen_ty_11 {
709*fae6e9adSlinfeng     #[inline]
new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]>710*fae6e9adSlinfeng     pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
711*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
712*fae6e9adSlinfeng         __bindgen_bitfield_unit
713*fae6e9adSlinfeng     }
714*fae6e9adSlinfeng }
715*fae6e9adSlinfeng #[repr(C)]
716*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
717*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_12 {
718*fae6e9adSlinfeng     pub btf: __u64,
719*fae6e9adSlinfeng     pub btf_log_buf: __u64,
720*fae6e9adSlinfeng     pub btf_size: __u32,
721*fae6e9adSlinfeng     pub btf_log_size: __u32,
722*fae6e9adSlinfeng     pub btf_log_level: __u32,
723*fae6e9adSlinfeng     pub btf_log_true_size: __u32,
724*fae6e9adSlinfeng     pub btf_flags: __u32,
725*fae6e9adSlinfeng     pub btf_token_fd: __s32,
726*fae6e9adSlinfeng }
727*fae6e9adSlinfeng #[repr(C)]
728*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
729*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_13 {
730*fae6e9adSlinfeng     pub pid: __u32,
731*fae6e9adSlinfeng     pub fd: __u32,
732*fae6e9adSlinfeng     pub flags: __u32,
733*fae6e9adSlinfeng     pub buf_len: __u32,
734*fae6e9adSlinfeng     pub buf: __u64,
735*fae6e9adSlinfeng     pub prog_id: __u32,
736*fae6e9adSlinfeng     pub fd_type: __u32,
737*fae6e9adSlinfeng     pub probe_offset: __u64,
738*fae6e9adSlinfeng     pub probe_addr: __u64,
739*fae6e9adSlinfeng }
740*fae6e9adSlinfeng #[repr(C)]
741*fae6e9adSlinfeng #[derive(Copy, Clone)]
742*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14 {
743*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_1,
744*fae6e9adSlinfeng     pub __bindgen_anon_2: bpf_attr__bindgen_ty_14__bindgen_ty_2,
745*fae6e9adSlinfeng     pub attach_type: __u32,
746*fae6e9adSlinfeng     pub flags: __u32,
747*fae6e9adSlinfeng     pub __bindgen_anon_3: bpf_attr__bindgen_ty_14__bindgen_ty_3,
748*fae6e9adSlinfeng }
749*fae6e9adSlinfeng #[repr(C)]
750*fae6e9adSlinfeng #[derive(Copy, Clone)]
751*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_14__bindgen_ty_1 {
752*fae6e9adSlinfeng     pub prog_fd: __u32,
753*fae6e9adSlinfeng     pub map_fd: __u32,
754*fae6e9adSlinfeng }
755*fae6e9adSlinfeng #[repr(C)]
756*fae6e9adSlinfeng #[derive(Copy, Clone)]
757*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_14__bindgen_ty_2 {
758*fae6e9adSlinfeng     pub target_fd: __u32,
759*fae6e9adSlinfeng     pub target_ifindex: __u32,
760*fae6e9adSlinfeng }
761*fae6e9adSlinfeng #[repr(C)]
762*fae6e9adSlinfeng #[derive(Copy, Clone)]
763*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_14__bindgen_ty_3 {
764*fae6e9adSlinfeng     pub target_btf_id: __u32,
765*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1,
766*fae6e9adSlinfeng     pub perf_event: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2,
767*fae6e9adSlinfeng     pub kprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3,
768*fae6e9adSlinfeng     pub tracing: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4,
769*fae6e9adSlinfeng     pub netfilter: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5,
770*fae6e9adSlinfeng     pub tcx: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6,
771*fae6e9adSlinfeng     pub uprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7,
772*fae6e9adSlinfeng     pub netkit: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8,
773*fae6e9adSlinfeng }
774*fae6e9adSlinfeng #[repr(C)]
775*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
776*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1 {
777*fae6e9adSlinfeng     pub iter_info: __u64,
778*fae6e9adSlinfeng     pub iter_info_len: __u32,
779*fae6e9adSlinfeng }
780*fae6e9adSlinfeng #[repr(C)]
781*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
782*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2 {
783*fae6e9adSlinfeng     pub bpf_cookie: __u64,
784*fae6e9adSlinfeng }
785*fae6e9adSlinfeng #[repr(C)]
786*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
787*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3 {
788*fae6e9adSlinfeng     pub flags: __u32,
789*fae6e9adSlinfeng     pub cnt: __u32,
790*fae6e9adSlinfeng     pub syms: __u64,
791*fae6e9adSlinfeng     pub addrs: __u64,
792*fae6e9adSlinfeng     pub cookies: __u64,
793*fae6e9adSlinfeng }
794*fae6e9adSlinfeng #[repr(C)]
795*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
796*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4 {
797*fae6e9adSlinfeng     pub target_btf_id: __u32,
798*fae6e9adSlinfeng     pub cookie: __u64,
799*fae6e9adSlinfeng }
800*fae6e9adSlinfeng #[repr(C)]
801*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
802*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5 {
803*fae6e9adSlinfeng     pub pf: __u32,
804*fae6e9adSlinfeng     pub hooknum: __u32,
805*fae6e9adSlinfeng     pub priority: __s32,
806*fae6e9adSlinfeng     pub flags: __u32,
807*fae6e9adSlinfeng }
808*fae6e9adSlinfeng #[repr(C)]
809*fae6e9adSlinfeng #[derive(Copy, Clone)]
810*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 {
811*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1,
812*fae6e9adSlinfeng     pub expected_revision: __u64,
813*fae6e9adSlinfeng }
814*fae6e9adSlinfeng #[repr(C)]
815*fae6e9adSlinfeng #[derive(Copy, Clone)]
816*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 {
817*fae6e9adSlinfeng     pub relative_fd: __u32,
818*fae6e9adSlinfeng     pub relative_id: __u32,
819*fae6e9adSlinfeng }
820*fae6e9adSlinfeng #[repr(C)]
821*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
822*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7 {
823*fae6e9adSlinfeng     pub path: __u64,
824*fae6e9adSlinfeng     pub offsets: __u64,
825*fae6e9adSlinfeng     pub ref_ctr_offsets: __u64,
826*fae6e9adSlinfeng     pub cookies: __u64,
827*fae6e9adSlinfeng     pub cnt: __u32,
828*fae6e9adSlinfeng     pub flags: __u32,
829*fae6e9adSlinfeng     pub pid: __u32,
830*fae6e9adSlinfeng }
831*fae6e9adSlinfeng #[repr(C)]
832*fae6e9adSlinfeng #[derive(Copy, Clone)]
833*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 {
834*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1,
835*fae6e9adSlinfeng     pub expected_revision: __u64,
836*fae6e9adSlinfeng }
837*fae6e9adSlinfeng #[repr(C)]
838*fae6e9adSlinfeng #[derive(Copy, Clone)]
839*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 {
840*fae6e9adSlinfeng     pub relative_fd: __u32,
841*fae6e9adSlinfeng     pub relative_id: __u32,
842*fae6e9adSlinfeng }
843*fae6e9adSlinfeng #[repr(C)]
844*fae6e9adSlinfeng #[derive(Copy, Clone)]
845*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_15 {
846*fae6e9adSlinfeng     pub link_fd: __u32,
847*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_attr__bindgen_ty_15__bindgen_ty_1,
848*fae6e9adSlinfeng     pub flags: __u32,
849*fae6e9adSlinfeng     pub __bindgen_anon_2: bpf_attr__bindgen_ty_15__bindgen_ty_2,
850*fae6e9adSlinfeng }
851*fae6e9adSlinfeng #[repr(C)]
852*fae6e9adSlinfeng #[derive(Copy, Clone)]
853*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_15__bindgen_ty_1 {
854*fae6e9adSlinfeng     pub new_prog_fd: __u32,
855*fae6e9adSlinfeng     pub new_map_fd: __u32,
856*fae6e9adSlinfeng }
857*fae6e9adSlinfeng #[repr(C)]
858*fae6e9adSlinfeng #[derive(Copy, Clone)]
859*fae6e9adSlinfeng pub union bpf_attr__bindgen_ty_15__bindgen_ty_2 {
860*fae6e9adSlinfeng     pub old_prog_fd: __u32,
861*fae6e9adSlinfeng     pub old_map_fd: __u32,
862*fae6e9adSlinfeng }
863*fae6e9adSlinfeng #[repr(C)]
864*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
865*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_16 {
866*fae6e9adSlinfeng     pub link_fd: __u32,
867*fae6e9adSlinfeng }
868*fae6e9adSlinfeng #[repr(C)]
869*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
870*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_17 {
871*fae6e9adSlinfeng     pub type_: __u32,
872*fae6e9adSlinfeng }
873*fae6e9adSlinfeng #[repr(C)]
874*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
875*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_18 {
876*fae6e9adSlinfeng     pub link_fd: __u32,
877*fae6e9adSlinfeng     pub flags: __u32,
878*fae6e9adSlinfeng }
879*fae6e9adSlinfeng #[repr(C)]
880*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
881*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_19 {
882*fae6e9adSlinfeng     pub prog_fd: __u32,
883*fae6e9adSlinfeng     pub map_fd: __u32,
884*fae6e9adSlinfeng     pub flags: __u32,
885*fae6e9adSlinfeng }
886*fae6e9adSlinfeng #[repr(C)]
887*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
888*fae6e9adSlinfeng pub struct bpf_attr__bindgen_ty_20 {
889*fae6e9adSlinfeng     pub flags: __u32,
890*fae6e9adSlinfeng     pub bpffs_fd: __u32,
891*fae6e9adSlinfeng }
892*fae6e9adSlinfeng pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_6 = 1;
893*fae6e9adSlinfeng pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_6 = 2;
894*fae6e9adSlinfeng pub type _bindgen_ty_6 = ::core::ffi::c_uint;
895*fae6e9adSlinfeng pub const BPF_F_HDR_FIELD_MASK: _bindgen_ty_7 = 15;
896*fae6e9adSlinfeng pub type _bindgen_ty_7 = ::core::ffi::c_uint;
897*fae6e9adSlinfeng pub const BPF_F_PSEUDO_HDR: _bindgen_ty_8 = 16;
898*fae6e9adSlinfeng pub const BPF_F_MARK_MANGLED_0: _bindgen_ty_8 = 32;
899*fae6e9adSlinfeng pub const BPF_F_MARK_ENFORCE: _bindgen_ty_8 = 64;
900*fae6e9adSlinfeng pub type _bindgen_ty_8 = ::core::ffi::c_uint;
901*fae6e9adSlinfeng pub const BPF_F_INGRESS: _bindgen_ty_9 = 1;
902*fae6e9adSlinfeng pub type _bindgen_ty_9 = ::core::ffi::c_uint;
903*fae6e9adSlinfeng pub const BPF_F_TUNINFO_IPV6: _bindgen_ty_10 = 1;
904*fae6e9adSlinfeng pub type _bindgen_ty_10 = ::core::ffi::c_uint;
905*fae6e9adSlinfeng pub const BPF_F_SKIP_FIELD_MASK: _bindgen_ty_11 = 255;
906*fae6e9adSlinfeng pub const BPF_F_USER_STACK: _bindgen_ty_11 = 256;
907*fae6e9adSlinfeng pub const BPF_F_FAST_STACK_CMP: _bindgen_ty_11 = 512;
908*fae6e9adSlinfeng pub const BPF_F_REUSE_STACKID: _bindgen_ty_11 = 1024;
909*fae6e9adSlinfeng pub const BPF_F_USER_BUILD_ID: _bindgen_ty_11 = 2048;
910*fae6e9adSlinfeng pub type _bindgen_ty_11 = ::core::ffi::c_uint;
911*fae6e9adSlinfeng pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_12 = 2;
912*fae6e9adSlinfeng pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_12 = 4;
913*fae6e9adSlinfeng pub const BPF_F_SEQ_NUMBER: _bindgen_ty_12 = 8;
914*fae6e9adSlinfeng pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_12 = 16;
915*fae6e9adSlinfeng pub type _bindgen_ty_12 = ::core::ffi::c_uint;
916*fae6e9adSlinfeng pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_13 = 16;
917*fae6e9adSlinfeng pub type _bindgen_ty_13 = ::core::ffi::c_uint;
918*fae6e9adSlinfeng pub const BPF_F_INDEX_MASK: _bindgen_ty_14 = 4294967295;
919*fae6e9adSlinfeng pub const BPF_F_CURRENT_CPU: _bindgen_ty_14 = 4294967295;
920*fae6e9adSlinfeng pub const BPF_F_CTXLEN_MASK: _bindgen_ty_14 = 4503595332403200;
921*fae6e9adSlinfeng pub type _bindgen_ty_14 = ::core::ffi::c_ulong;
922*fae6e9adSlinfeng pub const BPF_F_CURRENT_NETNS: _bindgen_ty_15 = -1;
923*fae6e9adSlinfeng pub type _bindgen_ty_15 = ::core::ffi::c_int;
924*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_17 = 1;
925*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_17 = 2;
926*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_17 = 4;
927*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_17 = 8;
928*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_17 = 16;
929*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_17 = 32;
930*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_17 = 64;
931*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV4: _bindgen_ty_17 = 128;
932*fae6e9adSlinfeng pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV6: _bindgen_ty_17 = 256;
933*fae6e9adSlinfeng pub type _bindgen_ty_17 = ::core::ffi::c_uint;
934*fae6e9adSlinfeng pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_19 = 1;
935*fae6e9adSlinfeng pub type _bindgen_ty_19 = ::core::ffi::c_uint;
936*fae6e9adSlinfeng pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_21 = 1;
937*fae6e9adSlinfeng pub type _bindgen_ty_21 = ::core::ffi::c_uint;
938*fae6e9adSlinfeng pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_24 = 2147483648;
939*fae6e9adSlinfeng pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_24 = 1073741824;
940*fae6e9adSlinfeng pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_24 = 8;
941*fae6e9adSlinfeng pub type _bindgen_ty_24 = ::core::ffi::c_uint;
942*fae6e9adSlinfeng pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_26 = 1;
943*fae6e9adSlinfeng pub type _bindgen_ty_26 = ::core::ffi::c_uint;
944*fae6e9adSlinfeng pub const BPF_F_BROADCAST: _bindgen_ty_27 = 8;
945*fae6e9adSlinfeng pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_27 = 16;
946*fae6e9adSlinfeng pub type _bindgen_ty_27 = ::core::ffi::c_uint;
947*fae6e9adSlinfeng #[repr(C)]
948*fae6e9adSlinfeng #[derive(Copy, Clone)]
949*fae6e9adSlinfeng pub struct bpf_devmap_val {
950*fae6e9adSlinfeng     pub ifindex: __u32,
951*fae6e9adSlinfeng     pub bpf_prog: bpf_devmap_val__bindgen_ty_1,
952*fae6e9adSlinfeng }
953*fae6e9adSlinfeng #[repr(C)]
954*fae6e9adSlinfeng #[derive(Copy, Clone)]
955*fae6e9adSlinfeng pub union bpf_devmap_val__bindgen_ty_1 {
956*fae6e9adSlinfeng     pub fd: ::core::ffi::c_int,
957*fae6e9adSlinfeng     pub id: __u32,
958*fae6e9adSlinfeng }
959*fae6e9adSlinfeng #[repr(C)]
960*fae6e9adSlinfeng #[derive(Copy, Clone)]
961*fae6e9adSlinfeng pub struct bpf_cpumap_val {
962*fae6e9adSlinfeng     pub qsize: __u32,
963*fae6e9adSlinfeng     pub bpf_prog: bpf_cpumap_val__bindgen_ty_1,
964*fae6e9adSlinfeng }
965*fae6e9adSlinfeng #[repr(C)]
966*fae6e9adSlinfeng #[derive(Copy, Clone)]
967*fae6e9adSlinfeng pub union bpf_cpumap_val__bindgen_ty_1 {
968*fae6e9adSlinfeng     pub fd: ::core::ffi::c_int,
969*fae6e9adSlinfeng     pub id: __u32,
970*fae6e9adSlinfeng }
971*fae6e9adSlinfeng #[repr(C)]
972*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
973*fae6e9adSlinfeng pub struct bpf_prog_info {
974*fae6e9adSlinfeng     pub type_: __u32,
975*fae6e9adSlinfeng     pub id: __u32,
976*fae6e9adSlinfeng     pub tag: [__u8; 8usize],
977*fae6e9adSlinfeng     pub jited_prog_len: __u32,
978*fae6e9adSlinfeng     pub xlated_prog_len: __u32,
979*fae6e9adSlinfeng     pub jited_prog_insns: __u64,
980*fae6e9adSlinfeng     pub xlated_prog_insns: __u64,
981*fae6e9adSlinfeng     pub load_time: __u64,
982*fae6e9adSlinfeng     pub created_by_uid: __u32,
983*fae6e9adSlinfeng     pub nr_map_ids: __u32,
984*fae6e9adSlinfeng     pub map_ids: __u64,
985*fae6e9adSlinfeng     pub name: [::core::ffi::c_char; 16usize],
986*fae6e9adSlinfeng     pub ifindex: __u32,
987*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
988*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
989*fae6e9adSlinfeng     pub netns_dev: __u64,
990*fae6e9adSlinfeng     pub netns_ino: __u64,
991*fae6e9adSlinfeng     pub nr_jited_ksyms: __u32,
992*fae6e9adSlinfeng     pub nr_jited_func_lens: __u32,
993*fae6e9adSlinfeng     pub jited_ksyms: __u64,
994*fae6e9adSlinfeng     pub jited_func_lens: __u64,
995*fae6e9adSlinfeng     pub btf_id: __u32,
996*fae6e9adSlinfeng     pub func_info_rec_size: __u32,
997*fae6e9adSlinfeng     pub func_info: __u64,
998*fae6e9adSlinfeng     pub nr_func_info: __u32,
999*fae6e9adSlinfeng     pub nr_line_info: __u32,
1000*fae6e9adSlinfeng     pub line_info: __u64,
1001*fae6e9adSlinfeng     pub jited_line_info: __u64,
1002*fae6e9adSlinfeng     pub nr_jited_line_info: __u32,
1003*fae6e9adSlinfeng     pub line_info_rec_size: __u32,
1004*fae6e9adSlinfeng     pub jited_line_info_rec_size: __u32,
1005*fae6e9adSlinfeng     pub nr_prog_tags: __u32,
1006*fae6e9adSlinfeng     pub prog_tags: __u64,
1007*fae6e9adSlinfeng     pub run_time_ns: __u64,
1008*fae6e9adSlinfeng     pub run_cnt: __u64,
1009*fae6e9adSlinfeng     pub recursion_misses: __u64,
1010*fae6e9adSlinfeng     pub verified_insns: __u32,
1011*fae6e9adSlinfeng     pub attach_btf_obj_id: __u32,
1012*fae6e9adSlinfeng     pub attach_btf_id: __u32,
1013*fae6e9adSlinfeng }
1014*fae6e9adSlinfeng impl bpf_prog_info {
1015*fae6e9adSlinfeng     #[inline]
gpl_compatible(&self) -> __u321016*fae6e9adSlinfeng     pub fn gpl_compatible(&self) -> __u32 {
1017*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1018*fae6e9adSlinfeng     }
1019*fae6e9adSlinfeng     #[inline]
set_gpl_compatible(&mut self, val: __u32)1020*fae6e9adSlinfeng     pub fn set_gpl_compatible(&mut self, val: __u32) {
1021*fae6e9adSlinfeng         unsafe {
1022*fae6e9adSlinfeng             let val: u32 = ::core::mem::transmute(val);
1023*fae6e9adSlinfeng             self._bitfield_1.set(0usize, 1u8, val as u64)
1024*fae6e9adSlinfeng         }
1025*fae6e9adSlinfeng     }
1026*fae6e9adSlinfeng     #[inline]
new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize]>1027*fae6e9adSlinfeng     pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1028*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1029*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(0usize, 1u8, {
1030*fae6e9adSlinfeng             let gpl_compatible: u32 = unsafe { ::core::mem::transmute(gpl_compatible) };
1031*fae6e9adSlinfeng             gpl_compatible as u64
1032*fae6e9adSlinfeng         });
1033*fae6e9adSlinfeng         __bindgen_bitfield_unit
1034*fae6e9adSlinfeng     }
1035*fae6e9adSlinfeng }
1036*fae6e9adSlinfeng #[repr(C)]
1037*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1038*fae6e9adSlinfeng pub struct bpf_map_info {
1039*fae6e9adSlinfeng     pub type_: __u32,
1040*fae6e9adSlinfeng     pub id: __u32,
1041*fae6e9adSlinfeng     pub key_size: __u32,
1042*fae6e9adSlinfeng     pub value_size: __u32,
1043*fae6e9adSlinfeng     pub max_entries: __u32,
1044*fae6e9adSlinfeng     pub map_flags: __u32,
1045*fae6e9adSlinfeng     pub name: [::core::ffi::c_char; 16usize],
1046*fae6e9adSlinfeng     pub ifindex: __u32,
1047*fae6e9adSlinfeng     pub btf_vmlinux_value_type_id: __u32,
1048*fae6e9adSlinfeng     pub netns_dev: __u64,
1049*fae6e9adSlinfeng     pub netns_ino: __u64,
1050*fae6e9adSlinfeng     pub btf_id: __u32,
1051*fae6e9adSlinfeng     pub btf_key_type_id: __u32,
1052*fae6e9adSlinfeng     pub btf_value_type_id: __u32,
1053*fae6e9adSlinfeng     pub btf_vmlinux_id: __u32,
1054*fae6e9adSlinfeng     pub map_extra: __u64,
1055*fae6e9adSlinfeng }
1056*fae6e9adSlinfeng #[repr(C)]
1057*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1058*fae6e9adSlinfeng pub struct bpf_btf_info {
1059*fae6e9adSlinfeng     pub btf: __u64,
1060*fae6e9adSlinfeng     pub btf_size: __u32,
1061*fae6e9adSlinfeng     pub id: __u32,
1062*fae6e9adSlinfeng     pub name: __u64,
1063*fae6e9adSlinfeng     pub name_len: __u32,
1064*fae6e9adSlinfeng     pub kernel_btf: __u32,
1065*fae6e9adSlinfeng }
1066*fae6e9adSlinfeng #[repr(C)]
1067*fae6e9adSlinfeng #[derive(Copy, Clone)]
1068*fae6e9adSlinfeng pub struct bpf_link_info {
1069*fae6e9adSlinfeng     pub type_: __u32,
1070*fae6e9adSlinfeng     pub id: __u32,
1071*fae6e9adSlinfeng     pub prog_id: __u32,
1072*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1,
1073*fae6e9adSlinfeng }
1074*fae6e9adSlinfeng #[repr(C)]
1075*fae6e9adSlinfeng #[derive(Copy, Clone)]
1076*fae6e9adSlinfeng pub union bpf_link_info__bindgen_ty_1 {
1077*fae6e9adSlinfeng     pub raw_tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_1,
1078*fae6e9adSlinfeng     pub tracing: bpf_link_info__bindgen_ty_1__bindgen_ty_2,
1079*fae6e9adSlinfeng     pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_3,
1080*fae6e9adSlinfeng     pub iter: bpf_link_info__bindgen_ty_1__bindgen_ty_4,
1081*fae6e9adSlinfeng     pub netns: bpf_link_info__bindgen_ty_1__bindgen_ty_5,
1082*fae6e9adSlinfeng     pub xdp: bpf_link_info__bindgen_ty_1__bindgen_ty_6,
1083*fae6e9adSlinfeng     pub struct_ops: bpf_link_info__bindgen_ty_1__bindgen_ty_7,
1084*fae6e9adSlinfeng     pub netfilter: bpf_link_info__bindgen_ty_1__bindgen_ty_8,
1085*fae6e9adSlinfeng     pub kprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_9,
1086*fae6e9adSlinfeng     pub uprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_10,
1087*fae6e9adSlinfeng     pub perf_event: bpf_link_info__bindgen_ty_1__bindgen_ty_11,
1088*fae6e9adSlinfeng     pub tcx: bpf_link_info__bindgen_ty_1__bindgen_ty_12,
1089*fae6e9adSlinfeng     pub netkit: bpf_link_info__bindgen_ty_1__bindgen_ty_13,
1090*fae6e9adSlinfeng }
1091*fae6e9adSlinfeng #[repr(C)]
1092*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1093*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_1 {
1094*fae6e9adSlinfeng     pub tp_name: __u64,
1095*fae6e9adSlinfeng     pub tp_name_len: __u32,
1096*fae6e9adSlinfeng }
1097*fae6e9adSlinfeng #[repr(C)]
1098*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1099*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_2 {
1100*fae6e9adSlinfeng     pub attach_type: __u32,
1101*fae6e9adSlinfeng     pub target_obj_id: __u32,
1102*fae6e9adSlinfeng     pub target_btf_id: __u32,
1103*fae6e9adSlinfeng }
1104*fae6e9adSlinfeng #[repr(C)]
1105*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1106*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_3 {
1107*fae6e9adSlinfeng     pub cgroup_id: __u64,
1108*fae6e9adSlinfeng     pub attach_type: __u32,
1109*fae6e9adSlinfeng }
1110*fae6e9adSlinfeng #[repr(C)]
1111*fae6e9adSlinfeng #[derive(Copy, Clone)]
1112*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
1113*fae6e9adSlinfeng     pub target_name: __u64,
1114*fae6e9adSlinfeng     pub target_name_len: __u32,
1115*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
1116*fae6e9adSlinfeng     pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
1117*fae6e9adSlinfeng }
1118*fae6e9adSlinfeng #[repr(C)]
1119*fae6e9adSlinfeng #[derive(Copy, Clone)]
1120*fae6e9adSlinfeng pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
1121*fae6e9adSlinfeng     pub map: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
1122*fae6e9adSlinfeng }
1123*fae6e9adSlinfeng #[repr(C)]
1124*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1125*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
1126*fae6e9adSlinfeng     pub map_id: __u32,
1127*fae6e9adSlinfeng }
1128*fae6e9adSlinfeng #[repr(C)]
1129*fae6e9adSlinfeng #[derive(Copy, Clone)]
1130*fae6e9adSlinfeng pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
1131*fae6e9adSlinfeng     pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
1132*fae6e9adSlinfeng     pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
1133*fae6e9adSlinfeng }
1134*fae6e9adSlinfeng #[repr(C)]
1135*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1136*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
1137*fae6e9adSlinfeng     pub cgroup_id: __u64,
1138*fae6e9adSlinfeng     pub order: __u32,
1139*fae6e9adSlinfeng }
1140*fae6e9adSlinfeng #[repr(C)]
1141*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1142*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
1143*fae6e9adSlinfeng     pub tid: __u32,
1144*fae6e9adSlinfeng     pub pid: __u32,
1145*fae6e9adSlinfeng }
1146*fae6e9adSlinfeng #[repr(C)]
1147*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1148*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
1149*fae6e9adSlinfeng     pub netns_ino: __u32,
1150*fae6e9adSlinfeng     pub attach_type: __u32,
1151*fae6e9adSlinfeng }
1152*fae6e9adSlinfeng #[repr(C)]
1153*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1154*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_6 {
1155*fae6e9adSlinfeng     pub ifindex: __u32,
1156*fae6e9adSlinfeng }
1157*fae6e9adSlinfeng #[repr(C)]
1158*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1159*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_7 {
1160*fae6e9adSlinfeng     pub map_id: __u32,
1161*fae6e9adSlinfeng }
1162*fae6e9adSlinfeng #[repr(C)]
1163*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1164*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_8 {
1165*fae6e9adSlinfeng     pub pf: __u32,
1166*fae6e9adSlinfeng     pub hooknum: __u32,
1167*fae6e9adSlinfeng     pub priority: __s32,
1168*fae6e9adSlinfeng     pub flags: __u32,
1169*fae6e9adSlinfeng }
1170*fae6e9adSlinfeng #[repr(C)]
1171*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1172*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_9 {
1173*fae6e9adSlinfeng     pub addrs: __u64,
1174*fae6e9adSlinfeng     pub count: __u32,
1175*fae6e9adSlinfeng     pub flags: __u32,
1176*fae6e9adSlinfeng     pub missed: __u64,
1177*fae6e9adSlinfeng     pub cookies: __u64,
1178*fae6e9adSlinfeng }
1179*fae6e9adSlinfeng #[repr(C)]
1180*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1181*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_10 {
1182*fae6e9adSlinfeng     pub path: __u64,
1183*fae6e9adSlinfeng     pub offsets: __u64,
1184*fae6e9adSlinfeng     pub ref_ctr_offsets: __u64,
1185*fae6e9adSlinfeng     pub cookies: __u64,
1186*fae6e9adSlinfeng     pub path_size: __u32,
1187*fae6e9adSlinfeng     pub count: __u32,
1188*fae6e9adSlinfeng     pub flags: __u32,
1189*fae6e9adSlinfeng     pub pid: __u32,
1190*fae6e9adSlinfeng }
1191*fae6e9adSlinfeng #[repr(C)]
1192*fae6e9adSlinfeng #[derive(Copy, Clone)]
1193*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
1194*fae6e9adSlinfeng     pub type_: __u32,
1195*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
1196*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1197*fae6e9adSlinfeng     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1,
1198*fae6e9adSlinfeng }
1199*fae6e9adSlinfeng #[repr(C)]
1200*fae6e9adSlinfeng #[derive(Copy, Clone)]
1201*fae6e9adSlinfeng pub union bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 {
1202*fae6e9adSlinfeng     pub uprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1,
1203*fae6e9adSlinfeng     pub kprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2,
1204*fae6e9adSlinfeng     pub tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3,
1205*fae6e9adSlinfeng     pub event: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4,
1206*fae6e9adSlinfeng }
1207*fae6e9adSlinfeng #[repr(C)]
1208*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1209*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 {
1210*fae6e9adSlinfeng     pub file_name: __u64,
1211*fae6e9adSlinfeng     pub name_len: __u32,
1212*fae6e9adSlinfeng     pub offset: __u32,
1213*fae6e9adSlinfeng     pub cookie: __u64,
1214*fae6e9adSlinfeng }
1215*fae6e9adSlinfeng #[repr(C)]
1216*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1217*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 {
1218*fae6e9adSlinfeng     pub func_name: __u64,
1219*fae6e9adSlinfeng     pub name_len: __u32,
1220*fae6e9adSlinfeng     pub offset: __u32,
1221*fae6e9adSlinfeng     pub addr: __u64,
1222*fae6e9adSlinfeng     pub missed: __u64,
1223*fae6e9adSlinfeng     pub cookie: __u64,
1224*fae6e9adSlinfeng }
1225*fae6e9adSlinfeng #[repr(C)]
1226*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1227*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
1228*fae6e9adSlinfeng     pub tp_name: __u64,
1229*fae6e9adSlinfeng     pub name_len: __u32,
1230*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
1231*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1232*fae6e9adSlinfeng     pub cookie: __u64,
1233*fae6e9adSlinfeng }
1234*fae6e9adSlinfeng impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
1235*fae6e9adSlinfeng     #[inline]
new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]>1236*fae6e9adSlinfeng     pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1237*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1238*fae6e9adSlinfeng         __bindgen_bitfield_unit
1239*fae6e9adSlinfeng     }
1240*fae6e9adSlinfeng }
1241*fae6e9adSlinfeng #[repr(C)]
1242*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1243*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
1244*fae6e9adSlinfeng     pub config: __u64,
1245*fae6e9adSlinfeng     pub type_: __u32,
1246*fae6e9adSlinfeng     pub _bitfield_align_1: [u8; 0],
1247*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1248*fae6e9adSlinfeng     pub cookie: __u64,
1249*fae6e9adSlinfeng }
1250*fae6e9adSlinfeng impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
1251*fae6e9adSlinfeng     #[inline]
new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]>1252*fae6e9adSlinfeng     pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1253*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1254*fae6e9adSlinfeng         __bindgen_bitfield_unit
1255*fae6e9adSlinfeng     }
1256*fae6e9adSlinfeng }
1257*fae6e9adSlinfeng impl bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
1258*fae6e9adSlinfeng     #[inline]
new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]>1259*fae6e9adSlinfeng     pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1260*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1261*fae6e9adSlinfeng         __bindgen_bitfield_unit
1262*fae6e9adSlinfeng     }
1263*fae6e9adSlinfeng }
1264*fae6e9adSlinfeng #[repr(C)]
1265*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1266*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_12 {
1267*fae6e9adSlinfeng     pub ifindex: __u32,
1268*fae6e9adSlinfeng     pub attach_type: __u32,
1269*fae6e9adSlinfeng }
1270*fae6e9adSlinfeng #[repr(C)]
1271*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1272*fae6e9adSlinfeng pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_13 {
1273*fae6e9adSlinfeng     pub ifindex: __u32,
1274*fae6e9adSlinfeng     pub attach_type: __u32,
1275*fae6e9adSlinfeng }
1276*fae6e9adSlinfeng #[repr(C)]
1277*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1278*fae6e9adSlinfeng pub struct bpf_func_info {
1279*fae6e9adSlinfeng     pub insn_off: __u32,
1280*fae6e9adSlinfeng     pub type_id: __u32,
1281*fae6e9adSlinfeng }
1282*fae6e9adSlinfeng #[repr(C)]
1283*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1284*fae6e9adSlinfeng pub struct bpf_line_info {
1285*fae6e9adSlinfeng     pub insn_off: __u32,
1286*fae6e9adSlinfeng     pub file_name_off: __u32,
1287*fae6e9adSlinfeng     pub line_off: __u32,
1288*fae6e9adSlinfeng     pub line_col: __u32,
1289*fae6e9adSlinfeng }
1290*fae6e9adSlinfeng pub const BPF_F_TIMER_ABS: _bindgen_ty_41 = 1;
1291*fae6e9adSlinfeng pub const BPF_F_TIMER_CPU_PIN: _bindgen_ty_41 = 2;
1292*fae6e9adSlinfeng pub type _bindgen_ty_41 = ::core::ffi::c_uint;
1293*fae6e9adSlinfeng #[repr(C)]
1294*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1295*fae6e9adSlinfeng pub struct btf_header {
1296*fae6e9adSlinfeng     pub magic: __u16,
1297*fae6e9adSlinfeng     pub version: __u8,
1298*fae6e9adSlinfeng     pub flags: __u8,
1299*fae6e9adSlinfeng     pub hdr_len: __u32,
1300*fae6e9adSlinfeng     pub type_off: __u32,
1301*fae6e9adSlinfeng     pub type_len: __u32,
1302*fae6e9adSlinfeng     pub str_off: __u32,
1303*fae6e9adSlinfeng     pub str_len: __u32,
1304*fae6e9adSlinfeng }
1305*fae6e9adSlinfeng #[repr(C)]
1306*fae6e9adSlinfeng #[derive(Copy, Clone)]
1307*fae6e9adSlinfeng pub struct btf_type {
1308*fae6e9adSlinfeng     pub name_off: __u32,
1309*fae6e9adSlinfeng     pub info: __u32,
1310*fae6e9adSlinfeng     pub __bindgen_anon_1: btf_type__bindgen_ty_1,
1311*fae6e9adSlinfeng }
1312*fae6e9adSlinfeng #[repr(C)]
1313*fae6e9adSlinfeng #[derive(Copy, Clone)]
1314*fae6e9adSlinfeng pub union btf_type__bindgen_ty_1 {
1315*fae6e9adSlinfeng     pub size: __u32,
1316*fae6e9adSlinfeng     pub type_: __u32,
1317*fae6e9adSlinfeng }
1318*fae6e9adSlinfeng pub const BTF_KIND_UNKN: _bindgen_ty_42 = 0;
1319*fae6e9adSlinfeng pub const BTF_KIND_INT: _bindgen_ty_42 = 1;
1320*fae6e9adSlinfeng pub const BTF_KIND_PTR: _bindgen_ty_42 = 2;
1321*fae6e9adSlinfeng pub const BTF_KIND_ARRAY: _bindgen_ty_42 = 3;
1322*fae6e9adSlinfeng pub const BTF_KIND_STRUCT: _bindgen_ty_42 = 4;
1323*fae6e9adSlinfeng pub const BTF_KIND_UNION: _bindgen_ty_42 = 5;
1324*fae6e9adSlinfeng pub const BTF_KIND_ENUM: _bindgen_ty_42 = 6;
1325*fae6e9adSlinfeng pub const BTF_KIND_FWD: _bindgen_ty_42 = 7;
1326*fae6e9adSlinfeng pub const BTF_KIND_TYPEDEF: _bindgen_ty_42 = 8;
1327*fae6e9adSlinfeng pub const BTF_KIND_VOLATILE: _bindgen_ty_42 = 9;
1328*fae6e9adSlinfeng pub const BTF_KIND_CONST: _bindgen_ty_42 = 10;
1329*fae6e9adSlinfeng pub const BTF_KIND_RESTRICT: _bindgen_ty_42 = 11;
1330*fae6e9adSlinfeng pub const BTF_KIND_FUNC: _bindgen_ty_42 = 12;
1331*fae6e9adSlinfeng pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_42 = 13;
1332*fae6e9adSlinfeng pub const BTF_KIND_VAR: _bindgen_ty_42 = 14;
1333*fae6e9adSlinfeng pub const BTF_KIND_DATASEC: _bindgen_ty_42 = 15;
1334*fae6e9adSlinfeng pub const BTF_KIND_FLOAT: _bindgen_ty_42 = 16;
1335*fae6e9adSlinfeng pub const BTF_KIND_DECL_TAG: _bindgen_ty_42 = 17;
1336*fae6e9adSlinfeng pub const BTF_KIND_TYPE_TAG: _bindgen_ty_42 = 18;
1337*fae6e9adSlinfeng pub const BTF_KIND_ENUM64: _bindgen_ty_42 = 19;
1338*fae6e9adSlinfeng pub const NR_BTF_KINDS: _bindgen_ty_42 = 20;
1339*fae6e9adSlinfeng pub const BTF_KIND_MAX: _bindgen_ty_42 = 19;
1340*fae6e9adSlinfeng pub type _bindgen_ty_42 = ::core::ffi::c_uint;
1341*fae6e9adSlinfeng #[repr(C)]
1342*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1343*fae6e9adSlinfeng pub struct btf_enum {
1344*fae6e9adSlinfeng     pub name_off: __u32,
1345*fae6e9adSlinfeng     pub val: __s32,
1346*fae6e9adSlinfeng }
1347*fae6e9adSlinfeng #[repr(C)]
1348*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1349*fae6e9adSlinfeng pub struct btf_array {
1350*fae6e9adSlinfeng     pub type_: __u32,
1351*fae6e9adSlinfeng     pub index_type: __u32,
1352*fae6e9adSlinfeng     pub nelems: __u32,
1353*fae6e9adSlinfeng }
1354*fae6e9adSlinfeng #[repr(C)]
1355*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1356*fae6e9adSlinfeng pub struct btf_member {
1357*fae6e9adSlinfeng     pub name_off: __u32,
1358*fae6e9adSlinfeng     pub type_: __u32,
1359*fae6e9adSlinfeng     pub offset: __u32,
1360*fae6e9adSlinfeng }
1361*fae6e9adSlinfeng #[repr(C)]
1362*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1363*fae6e9adSlinfeng pub struct btf_param {
1364*fae6e9adSlinfeng     pub name_off: __u32,
1365*fae6e9adSlinfeng     pub type_: __u32,
1366*fae6e9adSlinfeng }
1367*fae6e9adSlinfeng pub const BTF_VAR_STATIC: _bindgen_ty_43 = 0;
1368*fae6e9adSlinfeng pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_43 = 1;
1369*fae6e9adSlinfeng pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_43 = 2;
1370*fae6e9adSlinfeng pub type _bindgen_ty_43 = ::core::ffi::c_uint;
1371*fae6e9adSlinfeng #[repr(u32)]
1372*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1373*fae6e9adSlinfeng pub enum btf_func_linkage {
1374*fae6e9adSlinfeng     BTF_FUNC_STATIC = 0,
1375*fae6e9adSlinfeng     BTF_FUNC_GLOBAL = 1,
1376*fae6e9adSlinfeng     BTF_FUNC_EXTERN = 2,
1377*fae6e9adSlinfeng }
1378*fae6e9adSlinfeng #[repr(C)]
1379*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1380*fae6e9adSlinfeng pub struct btf_var {
1381*fae6e9adSlinfeng     pub linkage: __u32,
1382*fae6e9adSlinfeng }
1383*fae6e9adSlinfeng #[repr(C)]
1384*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1385*fae6e9adSlinfeng pub struct btf_var_secinfo {
1386*fae6e9adSlinfeng     pub type_: __u32,
1387*fae6e9adSlinfeng     pub offset: __u32,
1388*fae6e9adSlinfeng     pub size: __u32,
1389*fae6e9adSlinfeng }
1390*fae6e9adSlinfeng #[repr(C)]
1391*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
1392*fae6e9adSlinfeng pub struct btf_decl_tag {
1393*fae6e9adSlinfeng     pub component_idx: __s32,
1394*fae6e9adSlinfeng }
1395*fae6e9adSlinfeng pub const IFLA_XDP_UNSPEC: _bindgen_ty_92 = 0;
1396*fae6e9adSlinfeng pub const IFLA_XDP_FD: _bindgen_ty_92 = 1;
1397*fae6e9adSlinfeng pub const IFLA_XDP_ATTACHED: _bindgen_ty_92 = 2;
1398*fae6e9adSlinfeng pub const IFLA_XDP_FLAGS: _bindgen_ty_92 = 3;
1399*fae6e9adSlinfeng pub const IFLA_XDP_PROG_ID: _bindgen_ty_92 = 4;
1400*fae6e9adSlinfeng pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_92 = 5;
1401*fae6e9adSlinfeng pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_92 = 6;
1402*fae6e9adSlinfeng pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_92 = 7;
1403*fae6e9adSlinfeng pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_92 = 8;
1404*fae6e9adSlinfeng pub const __IFLA_XDP_MAX: _bindgen_ty_92 = 9;
1405*fae6e9adSlinfeng pub type _bindgen_ty_92 = ::core::ffi::c_uint;
1406*fae6e9adSlinfeng #[repr(u32)]
1407*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
1408*fae6e9adSlinfeng pub enum perf_type_id {
1409*fae6e9adSlinfeng     PERF_TYPE_HARDWARE = 0,
1410*fae6e9adSlinfeng     PERF_TYPE_SOFTWARE = 1,
1411*fae6e9adSlinfeng     PERF_TYPE_TRACEPOINT = 2,
1412*fae6e9adSlinfeng     PERF_TYPE_HW_CACHE = 3,
1413*fae6e9adSlinfeng     PERF_TYPE_RAW = 4,
1414*fae6e9adSlinfeng     PERF_TYPE_BREAKPOINT = 5,
1415*fae6e9adSlinfeng     PERF_TYPE_MAX = 6,
1416*fae6e9adSlinfeng }
1417*fae6e9adSlinfeng #[repr(u32)]
1418*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1419*fae6e9adSlinfeng pub enum perf_hw_id {
1420*fae6e9adSlinfeng     PERF_COUNT_HW_CPU_CYCLES = 0,
1421*fae6e9adSlinfeng     PERF_COUNT_HW_INSTRUCTIONS = 1,
1422*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_REFERENCES = 2,
1423*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_MISSES = 3,
1424*fae6e9adSlinfeng     PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,
1425*fae6e9adSlinfeng     PERF_COUNT_HW_BRANCH_MISSES = 5,
1426*fae6e9adSlinfeng     PERF_COUNT_HW_BUS_CYCLES = 6,
1427*fae6e9adSlinfeng     PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,
1428*fae6e9adSlinfeng     PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,
1429*fae6e9adSlinfeng     PERF_COUNT_HW_REF_CPU_CYCLES = 9,
1430*fae6e9adSlinfeng     PERF_COUNT_HW_MAX = 10,
1431*fae6e9adSlinfeng }
1432*fae6e9adSlinfeng #[repr(u32)]
1433*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1434*fae6e9adSlinfeng pub enum perf_hw_cache_id {
1435*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_L1D = 0,
1436*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_L1I = 1,
1437*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_LL = 2,
1438*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_DTLB = 3,
1439*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_ITLB = 4,
1440*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_BPU = 5,
1441*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_NODE = 6,
1442*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_MAX = 7,
1443*fae6e9adSlinfeng }
1444*fae6e9adSlinfeng #[repr(u32)]
1445*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1446*fae6e9adSlinfeng pub enum perf_hw_cache_op_id {
1447*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_OP_READ = 0,
1448*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_OP_WRITE = 1,
1449*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_OP_PREFETCH = 2,
1450*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_OP_MAX = 3,
1451*fae6e9adSlinfeng }
1452*fae6e9adSlinfeng #[repr(u32)]
1453*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1454*fae6e9adSlinfeng pub enum perf_hw_cache_op_result_id {
1455*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,
1456*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_RESULT_MISS = 1,
1457*fae6e9adSlinfeng     PERF_COUNT_HW_CACHE_RESULT_MAX = 2,
1458*fae6e9adSlinfeng }
1459*fae6e9adSlinfeng #[repr(u32)]
1460*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
1461*fae6e9adSlinfeng pub enum perf_sw_ids {
1462*fae6e9adSlinfeng     PERF_COUNT_SW_CPU_CLOCK = 0,
1463*fae6e9adSlinfeng     PERF_COUNT_SW_TASK_CLOCK = 1,
1464*fae6e9adSlinfeng     PERF_COUNT_SW_PAGE_FAULTS = 2,
1465*fae6e9adSlinfeng     PERF_COUNT_SW_CONTEXT_SWITCHES = 3,
1466*fae6e9adSlinfeng     PERF_COUNT_SW_CPU_MIGRATIONS = 4,
1467*fae6e9adSlinfeng     PERF_COUNT_SW_PAGE_FAULTS_MIN = 5,
1468*fae6e9adSlinfeng     PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,
1469*fae6e9adSlinfeng     PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
1470*fae6e9adSlinfeng     PERF_COUNT_SW_EMULATION_FAULTS = 8,
1471*fae6e9adSlinfeng     PERF_COUNT_SW_DUMMY = 9,
1472*fae6e9adSlinfeng     PERF_COUNT_SW_BPF_OUTPUT = 10,
1473*fae6e9adSlinfeng     PERF_COUNT_SW_CGROUP_SWITCHES = 11,
1474*fae6e9adSlinfeng     PERF_COUNT_SW_MAX = 12,
1475*fae6e9adSlinfeng }
1476*fae6e9adSlinfeng #[repr(u32)]
1477*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
1478*fae6e9adSlinfeng pub enum perf_event_sample_format {
1479*fae6e9adSlinfeng     PERF_SAMPLE_IP = 1,
1480*fae6e9adSlinfeng     PERF_SAMPLE_TID = 2,
1481*fae6e9adSlinfeng     PERF_SAMPLE_TIME = 4,
1482*fae6e9adSlinfeng     PERF_SAMPLE_ADDR = 8,
1483*fae6e9adSlinfeng     PERF_SAMPLE_READ = 16,
1484*fae6e9adSlinfeng     PERF_SAMPLE_CALLCHAIN = 32,
1485*fae6e9adSlinfeng     PERF_SAMPLE_ID = 64,
1486*fae6e9adSlinfeng     PERF_SAMPLE_CPU = 128,
1487*fae6e9adSlinfeng     PERF_SAMPLE_PERIOD = 256,
1488*fae6e9adSlinfeng     PERF_SAMPLE_STREAM_ID = 512,
1489*fae6e9adSlinfeng     PERF_SAMPLE_RAW = 1024,
1490*fae6e9adSlinfeng     PERF_SAMPLE_BRANCH_STACK = 2048,
1491*fae6e9adSlinfeng     PERF_SAMPLE_REGS_USER = 4096,
1492*fae6e9adSlinfeng     PERF_SAMPLE_STACK_USER = 8192,
1493*fae6e9adSlinfeng     PERF_SAMPLE_WEIGHT = 16384,
1494*fae6e9adSlinfeng     PERF_SAMPLE_DATA_SRC = 32768,
1495*fae6e9adSlinfeng     PERF_SAMPLE_IDENTIFIER = 65536,
1496*fae6e9adSlinfeng     PERF_SAMPLE_TRANSACTION = 131072,
1497*fae6e9adSlinfeng     PERF_SAMPLE_REGS_INTR = 262144,
1498*fae6e9adSlinfeng     PERF_SAMPLE_PHYS_ADDR = 524288,
1499*fae6e9adSlinfeng     PERF_SAMPLE_AUX = 1048576,
1500*fae6e9adSlinfeng     PERF_SAMPLE_CGROUP = 2097152,
1501*fae6e9adSlinfeng     PERF_SAMPLE_DATA_PAGE_SIZE = 4194304,
1502*fae6e9adSlinfeng     PERF_SAMPLE_CODE_PAGE_SIZE = 8388608,
1503*fae6e9adSlinfeng     PERF_SAMPLE_WEIGHT_STRUCT = 16777216,
1504*fae6e9adSlinfeng     PERF_SAMPLE_MAX = 33554432,
1505*fae6e9adSlinfeng }
1506*fae6e9adSlinfeng #[repr(C)]
1507*fae6e9adSlinfeng #[derive(Copy, Clone)]
1508*fae6e9adSlinfeng pub struct perf_event_attr {
1509*fae6e9adSlinfeng     pub type_: __u32,
1510*fae6e9adSlinfeng     pub size: __u32,
1511*fae6e9adSlinfeng     pub config: __u64,
1512*fae6e9adSlinfeng     pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
1513*fae6e9adSlinfeng     pub sample_type: __u64,
1514*fae6e9adSlinfeng     pub read_format: __u64,
1515*fae6e9adSlinfeng     pub _bitfield_align_1: [u32; 0],
1516*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1517*fae6e9adSlinfeng     pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
1518*fae6e9adSlinfeng     pub bp_type: __u32,
1519*fae6e9adSlinfeng     pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
1520*fae6e9adSlinfeng     pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
1521*fae6e9adSlinfeng     pub branch_sample_type: __u64,
1522*fae6e9adSlinfeng     pub sample_regs_user: __u64,
1523*fae6e9adSlinfeng     pub sample_stack_user: __u32,
1524*fae6e9adSlinfeng     pub clockid: __s32,
1525*fae6e9adSlinfeng     pub sample_regs_intr: __u64,
1526*fae6e9adSlinfeng     pub aux_watermark: __u32,
1527*fae6e9adSlinfeng     pub sample_max_stack: __u16,
1528*fae6e9adSlinfeng     pub __reserved_2: __u16,
1529*fae6e9adSlinfeng     pub aux_sample_size: __u32,
1530*fae6e9adSlinfeng     pub __reserved_3: __u32,
1531*fae6e9adSlinfeng     pub sig_data: __u64,
1532*fae6e9adSlinfeng     pub config3: __u64,
1533*fae6e9adSlinfeng }
1534*fae6e9adSlinfeng #[repr(C)]
1535*fae6e9adSlinfeng #[derive(Copy, Clone)]
1536*fae6e9adSlinfeng pub union perf_event_attr__bindgen_ty_1 {
1537*fae6e9adSlinfeng     pub sample_period: __u64,
1538*fae6e9adSlinfeng     pub sample_freq: __u64,
1539*fae6e9adSlinfeng }
1540*fae6e9adSlinfeng #[repr(C)]
1541*fae6e9adSlinfeng #[derive(Copy, Clone)]
1542*fae6e9adSlinfeng pub union perf_event_attr__bindgen_ty_2 {
1543*fae6e9adSlinfeng     pub wakeup_events: __u32,
1544*fae6e9adSlinfeng     pub wakeup_watermark: __u32,
1545*fae6e9adSlinfeng }
1546*fae6e9adSlinfeng #[repr(C)]
1547*fae6e9adSlinfeng #[derive(Copy, Clone)]
1548*fae6e9adSlinfeng pub union perf_event_attr__bindgen_ty_3 {
1549*fae6e9adSlinfeng     pub bp_addr: __u64,
1550*fae6e9adSlinfeng     pub kprobe_func: __u64,
1551*fae6e9adSlinfeng     pub uprobe_path: __u64,
1552*fae6e9adSlinfeng     pub config1: __u64,
1553*fae6e9adSlinfeng }
1554*fae6e9adSlinfeng #[repr(C)]
1555*fae6e9adSlinfeng #[derive(Copy, Clone)]
1556*fae6e9adSlinfeng pub union perf_event_attr__bindgen_ty_4 {
1557*fae6e9adSlinfeng     pub bp_len: __u64,
1558*fae6e9adSlinfeng     pub kprobe_addr: __u64,
1559*fae6e9adSlinfeng     pub probe_offset: __u64,
1560*fae6e9adSlinfeng     pub config2: __u64,
1561*fae6e9adSlinfeng }
1562*fae6e9adSlinfeng impl perf_event_attr {
1563*fae6e9adSlinfeng     #[inline]
disabled(&self) -> __u641564*fae6e9adSlinfeng     pub fn disabled(&self) -> __u64 {
1565*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
1566*fae6e9adSlinfeng     }
1567*fae6e9adSlinfeng     #[inline]
set_disabled(&mut self, val: __u64)1568*fae6e9adSlinfeng     pub fn set_disabled(&mut self, val: __u64) {
1569*fae6e9adSlinfeng         unsafe {
1570*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1571*fae6e9adSlinfeng             self._bitfield_1.set(0usize, 1u8, val as u64)
1572*fae6e9adSlinfeng         }
1573*fae6e9adSlinfeng     }
1574*fae6e9adSlinfeng     #[inline]
inherit(&self) -> __u641575*fae6e9adSlinfeng     pub fn inherit(&self) -> __u64 {
1576*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
1577*fae6e9adSlinfeng     }
1578*fae6e9adSlinfeng     #[inline]
set_inherit(&mut self, val: __u64)1579*fae6e9adSlinfeng     pub fn set_inherit(&mut self, val: __u64) {
1580*fae6e9adSlinfeng         unsafe {
1581*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1582*fae6e9adSlinfeng             self._bitfield_1.set(1usize, 1u8, val as u64)
1583*fae6e9adSlinfeng         }
1584*fae6e9adSlinfeng     }
1585*fae6e9adSlinfeng     #[inline]
pinned(&self) -> __u641586*fae6e9adSlinfeng     pub fn pinned(&self) -> __u64 {
1587*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
1588*fae6e9adSlinfeng     }
1589*fae6e9adSlinfeng     #[inline]
set_pinned(&mut self, val: __u64)1590*fae6e9adSlinfeng     pub fn set_pinned(&mut self, val: __u64) {
1591*fae6e9adSlinfeng         unsafe {
1592*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1593*fae6e9adSlinfeng             self._bitfield_1.set(2usize, 1u8, val as u64)
1594*fae6e9adSlinfeng         }
1595*fae6e9adSlinfeng     }
1596*fae6e9adSlinfeng     #[inline]
exclusive(&self) -> __u641597*fae6e9adSlinfeng     pub fn exclusive(&self) -> __u64 {
1598*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
1599*fae6e9adSlinfeng     }
1600*fae6e9adSlinfeng     #[inline]
set_exclusive(&mut self, val: __u64)1601*fae6e9adSlinfeng     pub fn set_exclusive(&mut self, val: __u64) {
1602*fae6e9adSlinfeng         unsafe {
1603*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1604*fae6e9adSlinfeng             self._bitfield_1.set(3usize, 1u8, val as u64)
1605*fae6e9adSlinfeng         }
1606*fae6e9adSlinfeng     }
1607*fae6e9adSlinfeng     #[inline]
exclude_user(&self) -> __u641608*fae6e9adSlinfeng     pub fn exclude_user(&self) -> __u64 {
1609*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
1610*fae6e9adSlinfeng     }
1611*fae6e9adSlinfeng     #[inline]
set_exclude_user(&mut self, val: __u64)1612*fae6e9adSlinfeng     pub fn set_exclude_user(&mut self, val: __u64) {
1613*fae6e9adSlinfeng         unsafe {
1614*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1615*fae6e9adSlinfeng             self._bitfield_1.set(4usize, 1u8, val as u64)
1616*fae6e9adSlinfeng         }
1617*fae6e9adSlinfeng     }
1618*fae6e9adSlinfeng     #[inline]
exclude_kernel(&self) -> __u641619*fae6e9adSlinfeng     pub fn exclude_kernel(&self) -> __u64 {
1620*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
1621*fae6e9adSlinfeng     }
1622*fae6e9adSlinfeng     #[inline]
set_exclude_kernel(&mut self, val: __u64)1623*fae6e9adSlinfeng     pub fn set_exclude_kernel(&mut self, val: __u64) {
1624*fae6e9adSlinfeng         unsafe {
1625*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1626*fae6e9adSlinfeng             self._bitfield_1.set(5usize, 1u8, val as u64)
1627*fae6e9adSlinfeng         }
1628*fae6e9adSlinfeng     }
1629*fae6e9adSlinfeng     #[inline]
exclude_hv(&self) -> __u641630*fae6e9adSlinfeng     pub fn exclude_hv(&self) -> __u64 {
1631*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
1632*fae6e9adSlinfeng     }
1633*fae6e9adSlinfeng     #[inline]
set_exclude_hv(&mut self, val: __u64)1634*fae6e9adSlinfeng     pub fn set_exclude_hv(&mut self, val: __u64) {
1635*fae6e9adSlinfeng         unsafe {
1636*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1637*fae6e9adSlinfeng             self._bitfield_1.set(6usize, 1u8, val as u64)
1638*fae6e9adSlinfeng         }
1639*fae6e9adSlinfeng     }
1640*fae6e9adSlinfeng     #[inline]
exclude_idle(&self) -> __u641641*fae6e9adSlinfeng     pub fn exclude_idle(&self) -> __u64 {
1642*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
1643*fae6e9adSlinfeng     }
1644*fae6e9adSlinfeng     #[inline]
set_exclude_idle(&mut self, val: __u64)1645*fae6e9adSlinfeng     pub fn set_exclude_idle(&mut self, val: __u64) {
1646*fae6e9adSlinfeng         unsafe {
1647*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1648*fae6e9adSlinfeng             self._bitfield_1.set(7usize, 1u8, val as u64)
1649*fae6e9adSlinfeng         }
1650*fae6e9adSlinfeng     }
1651*fae6e9adSlinfeng     #[inline]
mmap(&self) -> __u641652*fae6e9adSlinfeng     pub fn mmap(&self) -> __u64 {
1653*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
1654*fae6e9adSlinfeng     }
1655*fae6e9adSlinfeng     #[inline]
set_mmap(&mut self, val: __u64)1656*fae6e9adSlinfeng     pub fn set_mmap(&mut self, val: __u64) {
1657*fae6e9adSlinfeng         unsafe {
1658*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1659*fae6e9adSlinfeng             self._bitfield_1.set(8usize, 1u8, val as u64)
1660*fae6e9adSlinfeng         }
1661*fae6e9adSlinfeng     }
1662*fae6e9adSlinfeng     #[inline]
comm(&self) -> __u641663*fae6e9adSlinfeng     pub fn comm(&self) -> __u64 {
1664*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
1665*fae6e9adSlinfeng     }
1666*fae6e9adSlinfeng     #[inline]
set_comm(&mut self, val: __u64)1667*fae6e9adSlinfeng     pub fn set_comm(&mut self, val: __u64) {
1668*fae6e9adSlinfeng         unsafe {
1669*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1670*fae6e9adSlinfeng             self._bitfield_1.set(9usize, 1u8, val as u64)
1671*fae6e9adSlinfeng         }
1672*fae6e9adSlinfeng     }
1673*fae6e9adSlinfeng     #[inline]
freq(&self) -> __u641674*fae6e9adSlinfeng     pub fn freq(&self) -> __u64 {
1675*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
1676*fae6e9adSlinfeng     }
1677*fae6e9adSlinfeng     #[inline]
set_freq(&mut self, val: __u64)1678*fae6e9adSlinfeng     pub fn set_freq(&mut self, val: __u64) {
1679*fae6e9adSlinfeng         unsafe {
1680*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1681*fae6e9adSlinfeng             self._bitfield_1.set(10usize, 1u8, val as u64)
1682*fae6e9adSlinfeng         }
1683*fae6e9adSlinfeng     }
1684*fae6e9adSlinfeng     #[inline]
inherit_stat(&self) -> __u641685*fae6e9adSlinfeng     pub fn inherit_stat(&self) -> __u64 {
1686*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
1687*fae6e9adSlinfeng     }
1688*fae6e9adSlinfeng     #[inline]
set_inherit_stat(&mut self, val: __u64)1689*fae6e9adSlinfeng     pub fn set_inherit_stat(&mut self, val: __u64) {
1690*fae6e9adSlinfeng         unsafe {
1691*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1692*fae6e9adSlinfeng             self._bitfield_1.set(11usize, 1u8, val as u64)
1693*fae6e9adSlinfeng         }
1694*fae6e9adSlinfeng     }
1695*fae6e9adSlinfeng     #[inline]
enable_on_exec(&self) -> __u641696*fae6e9adSlinfeng     pub fn enable_on_exec(&self) -> __u64 {
1697*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
1698*fae6e9adSlinfeng     }
1699*fae6e9adSlinfeng     #[inline]
set_enable_on_exec(&mut self, val: __u64)1700*fae6e9adSlinfeng     pub fn set_enable_on_exec(&mut self, val: __u64) {
1701*fae6e9adSlinfeng         unsafe {
1702*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1703*fae6e9adSlinfeng             self._bitfield_1.set(12usize, 1u8, val as u64)
1704*fae6e9adSlinfeng         }
1705*fae6e9adSlinfeng     }
1706*fae6e9adSlinfeng     #[inline]
task(&self) -> __u641707*fae6e9adSlinfeng     pub fn task(&self) -> __u64 {
1708*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
1709*fae6e9adSlinfeng     }
1710*fae6e9adSlinfeng     #[inline]
set_task(&mut self, val: __u64)1711*fae6e9adSlinfeng     pub fn set_task(&mut self, val: __u64) {
1712*fae6e9adSlinfeng         unsafe {
1713*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1714*fae6e9adSlinfeng             self._bitfield_1.set(13usize, 1u8, val as u64)
1715*fae6e9adSlinfeng         }
1716*fae6e9adSlinfeng     }
1717*fae6e9adSlinfeng     #[inline]
watermark(&self) -> __u641718*fae6e9adSlinfeng     pub fn watermark(&self) -> __u64 {
1719*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
1720*fae6e9adSlinfeng     }
1721*fae6e9adSlinfeng     #[inline]
set_watermark(&mut self, val: __u64)1722*fae6e9adSlinfeng     pub fn set_watermark(&mut self, val: __u64) {
1723*fae6e9adSlinfeng         unsafe {
1724*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1725*fae6e9adSlinfeng             self._bitfield_1.set(14usize, 1u8, val as u64)
1726*fae6e9adSlinfeng         }
1727*fae6e9adSlinfeng     }
1728*fae6e9adSlinfeng     #[inline]
precise_ip(&self) -> __u641729*fae6e9adSlinfeng     pub fn precise_ip(&self) -> __u64 {
1730*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
1731*fae6e9adSlinfeng     }
1732*fae6e9adSlinfeng     #[inline]
set_precise_ip(&mut self, val: __u64)1733*fae6e9adSlinfeng     pub fn set_precise_ip(&mut self, val: __u64) {
1734*fae6e9adSlinfeng         unsafe {
1735*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1736*fae6e9adSlinfeng             self._bitfield_1.set(15usize, 2u8, val as u64)
1737*fae6e9adSlinfeng         }
1738*fae6e9adSlinfeng     }
1739*fae6e9adSlinfeng     #[inline]
mmap_data(&self) -> __u641740*fae6e9adSlinfeng     pub fn mmap_data(&self) -> __u64 {
1741*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
1742*fae6e9adSlinfeng     }
1743*fae6e9adSlinfeng     #[inline]
set_mmap_data(&mut self, val: __u64)1744*fae6e9adSlinfeng     pub fn set_mmap_data(&mut self, val: __u64) {
1745*fae6e9adSlinfeng         unsafe {
1746*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1747*fae6e9adSlinfeng             self._bitfield_1.set(17usize, 1u8, val as u64)
1748*fae6e9adSlinfeng         }
1749*fae6e9adSlinfeng     }
1750*fae6e9adSlinfeng     #[inline]
sample_id_all(&self) -> __u641751*fae6e9adSlinfeng     pub fn sample_id_all(&self) -> __u64 {
1752*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
1753*fae6e9adSlinfeng     }
1754*fae6e9adSlinfeng     #[inline]
set_sample_id_all(&mut self, val: __u64)1755*fae6e9adSlinfeng     pub fn set_sample_id_all(&mut self, val: __u64) {
1756*fae6e9adSlinfeng         unsafe {
1757*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1758*fae6e9adSlinfeng             self._bitfield_1.set(18usize, 1u8, val as u64)
1759*fae6e9adSlinfeng         }
1760*fae6e9adSlinfeng     }
1761*fae6e9adSlinfeng     #[inline]
exclude_host(&self) -> __u641762*fae6e9adSlinfeng     pub fn exclude_host(&self) -> __u64 {
1763*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
1764*fae6e9adSlinfeng     }
1765*fae6e9adSlinfeng     #[inline]
set_exclude_host(&mut self, val: __u64)1766*fae6e9adSlinfeng     pub fn set_exclude_host(&mut self, val: __u64) {
1767*fae6e9adSlinfeng         unsafe {
1768*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1769*fae6e9adSlinfeng             self._bitfield_1.set(19usize, 1u8, val as u64)
1770*fae6e9adSlinfeng         }
1771*fae6e9adSlinfeng     }
1772*fae6e9adSlinfeng     #[inline]
exclude_guest(&self) -> __u641773*fae6e9adSlinfeng     pub fn exclude_guest(&self) -> __u64 {
1774*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
1775*fae6e9adSlinfeng     }
1776*fae6e9adSlinfeng     #[inline]
set_exclude_guest(&mut self, val: __u64)1777*fae6e9adSlinfeng     pub fn set_exclude_guest(&mut self, val: __u64) {
1778*fae6e9adSlinfeng         unsafe {
1779*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1780*fae6e9adSlinfeng             self._bitfield_1.set(20usize, 1u8, val as u64)
1781*fae6e9adSlinfeng         }
1782*fae6e9adSlinfeng     }
1783*fae6e9adSlinfeng     #[inline]
exclude_callchain_kernel(&self) -> __u641784*fae6e9adSlinfeng     pub fn exclude_callchain_kernel(&self) -> __u64 {
1785*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
1786*fae6e9adSlinfeng     }
1787*fae6e9adSlinfeng     #[inline]
set_exclude_callchain_kernel(&mut self, val: __u64)1788*fae6e9adSlinfeng     pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
1789*fae6e9adSlinfeng         unsafe {
1790*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1791*fae6e9adSlinfeng             self._bitfield_1.set(21usize, 1u8, val as u64)
1792*fae6e9adSlinfeng         }
1793*fae6e9adSlinfeng     }
1794*fae6e9adSlinfeng     #[inline]
exclude_callchain_user(&self) -> __u641795*fae6e9adSlinfeng     pub fn exclude_callchain_user(&self) -> __u64 {
1796*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
1797*fae6e9adSlinfeng     }
1798*fae6e9adSlinfeng     #[inline]
set_exclude_callchain_user(&mut self, val: __u64)1799*fae6e9adSlinfeng     pub fn set_exclude_callchain_user(&mut self, val: __u64) {
1800*fae6e9adSlinfeng         unsafe {
1801*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1802*fae6e9adSlinfeng             self._bitfield_1.set(22usize, 1u8, val as u64)
1803*fae6e9adSlinfeng         }
1804*fae6e9adSlinfeng     }
1805*fae6e9adSlinfeng     #[inline]
mmap2(&self) -> __u641806*fae6e9adSlinfeng     pub fn mmap2(&self) -> __u64 {
1807*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
1808*fae6e9adSlinfeng     }
1809*fae6e9adSlinfeng     #[inline]
set_mmap2(&mut self, val: __u64)1810*fae6e9adSlinfeng     pub fn set_mmap2(&mut self, val: __u64) {
1811*fae6e9adSlinfeng         unsafe {
1812*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1813*fae6e9adSlinfeng             self._bitfield_1.set(23usize, 1u8, val as u64)
1814*fae6e9adSlinfeng         }
1815*fae6e9adSlinfeng     }
1816*fae6e9adSlinfeng     #[inline]
comm_exec(&self) -> __u641817*fae6e9adSlinfeng     pub fn comm_exec(&self) -> __u64 {
1818*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
1819*fae6e9adSlinfeng     }
1820*fae6e9adSlinfeng     #[inline]
set_comm_exec(&mut self, val: __u64)1821*fae6e9adSlinfeng     pub fn set_comm_exec(&mut self, val: __u64) {
1822*fae6e9adSlinfeng         unsafe {
1823*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1824*fae6e9adSlinfeng             self._bitfield_1.set(24usize, 1u8, val as u64)
1825*fae6e9adSlinfeng         }
1826*fae6e9adSlinfeng     }
1827*fae6e9adSlinfeng     #[inline]
use_clockid(&self) -> __u641828*fae6e9adSlinfeng     pub fn use_clockid(&self) -> __u64 {
1829*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
1830*fae6e9adSlinfeng     }
1831*fae6e9adSlinfeng     #[inline]
set_use_clockid(&mut self, val: __u64)1832*fae6e9adSlinfeng     pub fn set_use_clockid(&mut self, val: __u64) {
1833*fae6e9adSlinfeng         unsafe {
1834*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1835*fae6e9adSlinfeng             self._bitfield_1.set(25usize, 1u8, val as u64)
1836*fae6e9adSlinfeng         }
1837*fae6e9adSlinfeng     }
1838*fae6e9adSlinfeng     #[inline]
context_switch(&self) -> __u641839*fae6e9adSlinfeng     pub fn context_switch(&self) -> __u64 {
1840*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
1841*fae6e9adSlinfeng     }
1842*fae6e9adSlinfeng     #[inline]
set_context_switch(&mut self, val: __u64)1843*fae6e9adSlinfeng     pub fn set_context_switch(&mut self, val: __u64) {
1844*fae6e9adSlinfeng         unsafe {
1845*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1846*fae6e9adSlinfeng             self._bitfield_1.set(26usize, 1u8, val as u64)
1847*fae6e9adSlinfeng         }
1848*fae6e9adSlinfeng     }
1849*fae6e9adSlinfeng     #[inline]
write_backward(&self) -> __u641850*fae6e9adSlinfeng     pub fn write_backward(&self) -> __u64 {
1851*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
1852*fae6e9adSlinfeng     }
1853*fae6e9adSlinfeng     #[inline]
set_write_backward(&mut self, val: __u64)1854*fae6e9adSlinfeng     pub fn set_write_backward(&mut self, val: __u64) {
1855*fae6e9adSlinfeng         unsafe {
1856*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1857*fae6e9adSlinfeng             self._bitfield_1.set(27usize, 1u8, val as u64)
1858*fae6e9adSlinfeng         }
1859*fae6e9adSlinfeng     }
1860*fae6e9adSlinfeng     #[inline]
namespaces(&self) -> __u641861*fae6e9adSlinfeng     pub fn namespaces(&self) -> __u64 {
1862*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
1863*fae6e9adSlinfeng     }
1864*fae6e9adSlinfeng     #[inline]
set_namespaces(&mut self, val: __u64)1865*fae6e9adSlinfeng     pub fn set_namespaces(&mut self, val: __u64) {
1866*fae6e9adSlinfeng         unsafe {
1867*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1868*fae6e9adSlinfeng             self._bitfield_1.set(28usize, 1u8, val as u64)
1869*fae6e9adSlinfeng         }
1870*fae6e9adSlinfeng     }
1871*fae6e9adSlinfeng     #[inline]
ksymbol(&self) -> __u641872*fae6e9adSlinfeng     pub fn ksymbol(&self) -> __u64 {
1873*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
1874*fae6e9adSlinfeng     }
1875*fae6e9adSlinfeng     #[inline]
set_ksymbol(&mut self, val: __u64)1876*fae6e9adSlinfeng     pub fn set_ksymbol(&mut self, val: __u64) {
1877*fae6e9adSlinfeng         unsafe {
1878*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1879*fae6e9adSlinfeng             self._bitfield_1.set(29usize, 1u8, val as u64)
1880*fae6e9adSlinfeng         }
1881*fae6e9adSlinfeng     }
1882*fae6e9adSlinfeng     #[inline]
bpf_event(&self) -> __u641883*fae6e9adSlinfeng     pub fn bpf_event(&self) -> __u64 {
1884*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
1885*fae6e9adSlinfeng     }
1886*fae6e9adSlinfeng     #[inline]
set_bpf_event(&mut self, val: __u64)1887*fae6e9adSlinfeng     pub fn set_bpf_event(&mut self, val: __u64) {
1888*fae6e9adSlinfeng         unsafe {
1889*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1890*fae6e9adSlinfeng             self._bitfield_1.set(30usize, 1u8, val as u64)
1891*fae6e9adSlinfeng         }
1892*fae6e9adSlinfeng     }
1893*fae6e9adSlinfeng     #[inline]
aux_output(&self) -> __u641894*fae6e9adSlinfeng     pub fn aux_output(&self) -> __u64 {
1895*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
1896*fae6e9adSlinfeng     }
1897*fae6e9adSlinfeng     #[inline]
set_aux_output(&mut self, val: __u64)1898*fae6e9adSlinfeng     pub fn set_aux_output(&mut self, val: __u64) {
1899*fae6e9adSlinfeng         unsafe {
1900*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1901*fae6e9adSlinfeng             self._bitfield_1.set(31usize, 1u8, val as u64)
1902*fae6e9adSlinfeng         }
1903*fae6e9adSlinfeng     }
1904*fae6e9adSlinfeng     #[inline]
cgroup(&self) -> __u641905*fae6e9adSlinfeng     pub fn cgroup(&self) -> __u64 {
1906*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
1907*fae6e9adSlinfeng     }
1908*fae6e9adSlinfeng     #[inline]
set_cgroup(&mut self, val: __u64)1909*fae6e9adSlinfeng     pub fn set_cgroup(&mut self, val: __u64) {
1910*fae6e9adSlinfeng         unsafe {
1911*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1912*fae6e9adSlinfeng             self._bitfield_1.set(32usize, 1u8, val as u64)
1913*fae6e9adSlinfeng         }
1914*fae6e9adSlinfeng     }
1915*fae6e9adSlinfeng     #[inline]
text_poke(&self) -> __u641916*fae6e9adSlinfeng     pub fn text_poke(&self) -> __u64 {
1917*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
1918*fae6e9adSlinfeng     }
1919*fae6e9adSlinfeng     #[inline]
set_text_poke(&mut self, val: __u64)1920*fae6e9adSlinfeng     pub fn set_text_poke(&mut self, val: __u64) {
1921*fae6e9adSlinfeng         unsafe {
1922*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1923*fae6e9adSlinfeng             self._bitfield_1.set(33usize, 1u8, val as u64)
1924*fae6e9adSlinfeng         }
1925*fae6e9adSlinfeng     }
1926*fae6e9adSlinfeng     #[inline]
build_id(&self) -> __u641927*fae6e9adSlinfeng     pub fn build_id(&self) -> __u64 {
1928*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
1929*fae6e9adSlinfeng     }
1930*fae6e9adSlinfeng     #[inline]
set_build_id(&mut self, val: __u64)1931*fae6e9adSlinfeng     pub fn set_build_id(&mut self, val: __u64) {
1932*fae6e9adSlinfeng         unsafe {
1933*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1934*fae6e9adSlinfeng             self._bitfield_1.set(34usize, 1u8, val as u64)
1935*fae6e9adSlinfeng         }
1936*fae6e9adSlinfeng     }
1937*fae6e9adSlinfeng     #[inline]
inherit_thread(&self) -> __u641938*fae6e9adSlinfeng     pub fn inherit_thread(&self) -> __u64 {
1939*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
1940*fae6e9adSlinfeng     }
1941*fae6e9adSlinfeng     #[inline]
set_inherit_thread(&mut self, val: __u64)1942*fae6e9adSlinfeng     pub fn set_inherit_thread(&mut self, val: __u64) {
1943*fae6e9adSlinfeng         unsafe {
1944*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1945*fae6e9adSlinfeng             self._bitfield_1.set(35usize, 1u8, val as u64)
1946*fae6e9adSlinfeng         }
1947*fae6e9adSlinfeng     }
1948*fae6e9adSlinfeng     #[inline]
remove_on_exec(&self) -> __u641949*fae6e9adSlinfeng     pub fn remove_on_exec(&self) -> __u64 {
1950*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
1951*fae6e9adSlinfeng     }
1952*fae6e9adSlinfeng     #[inline]
set_remove_on_exec(&mut self, val: __u64)1953*fae6e9adSlinfeng     pub fn set_remove_on_exec(&mut self, val: __u64) {
1954*fae6e9adSlinfeng         unsafe {
1955*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1956*fae6e9adSlinfeng             self._bitfield_1.set(36usize, 1u8, val as u64)
1957*fae6e9adSlinfeng         }
1958*fae6e9adSlinfeng     }
1959*fae6e9adSlinfeng     #[inline]
sigtrap(&self) -> __u641960*fae6e9adSlinfeng     pub fn sigtrap(&self) -> __u64 {
1961*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
1962*fae6e9adSlinfeng     }
1963*fae6e9adSlinfeng     #[inline]
set_sigtrap(&mut self, val: __u64)1964*fae6e9adSlinfeng     pub fn set_sigtrap(&mut self, val: __u64) {
1965*fae6e9adSlinfeng         unsafe {
1966*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1967*fae6e9adSlinfeng             self._bitfield_1.set(37usize, 1u8, val as u64)
1968*fae6e9adSlinfeng         }
1969*fae6e9adSlinfeng     }
1970*fae6e9adSlinfeng     #[inline]
__reserved_1(&self) -> __u641971*fae6e9adSlinfeng     pub fn __reserved_1(&self) -> __u64 {
1972*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) }
1973*fae6e9adSlinfeng     }
1974*fae6e9adSlinfeng     #[inline]
set___reserved_1(&mut self, val: __u64)1975*fae6e9adSlinfeng     pub fn set___reserved_1(&mut self, val: __u64) {
1976*fae6e9adSlinfeng         unsafe {
1977*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
1978*fae6e9adSlinfeng             self._bitfield_1.set(38usize, 26u8, val as u64)
1979*fae6e9adSlinfeng         }
1980*fae6e9adSlinfeng     }
1981*fae6e9adSlinfeng     #[inline]
new_bitfield_1( disabled: __u64, inherit: __u64, pinned: __u64, exclusive: __u64, exclude_user: __u64, exclude_kernel: __u64, exclude_hv: __u64, exclude_idle: __u64, mmap: __u64, comm: __u64, freq: __u64, inherit_stat: __u64, enable_on_exec: __u64, task: __u64, watermark: __u64, precise_ip: __u64, mmap_data: __u64, sample_id_all: __u64, exclude_host: __u64, exclude_guest: __u64, exclude_callchain_kernel: __u64, exclude_callchain_user: __u64, mmap2: __u64, comm_exec: __u64, use_clockid: __u64, context_switch: __u64, write_backward: __u64, namespaces: __u64, ksymbol: __u64, bpf_event: __u64, aux_output: __u64, cgroup: __u64, text_poke: __u64, build_id: __u64, inherit_thread: __u64, remove_on_exec: __u64, sigtrap: __u64, __reserved_1: __u64, ) -> __BindgenBitfieldUnit<[u8; 8usize]>1982*fae6e9adSlinfeng     pub fn new_bitfield_1(
1983*fae6e9adSlinfeng         disabled: __u64,
1984*fae6e9adSlinfeng         inherit: __u64,
1985*fae6e9adSlinfeng         pinned: __u64,
1986*fae6e9adSlinfeng         exclusive: __u64,
1987*fae6e9adSlinfeng         exclude_user: __u64,
1988*fae6e9adSlinfeng         exclude_kernel: __u64,
1989*fae6e9adSlinfeng         exclude_hv: __u64,
1990*fae6e9adSlinfeng         exclude_idle: __u64,
1991*fae6e9adSlinfeng         mmap: __u64,
1992*fae6e9adSlinfeng         comm: __u64,
1993*fae6e9adSlinfeng         freq: __u64,
1994*fae6e9adSlinfeng         inherit_stat: __u64,
1995*fae6e9adSlinfeng         enable_on_exec: __u64,
1996*fae6e9adSlinfeng         task: __u64,
1997*fae6e9adSlinfeng         watermark: __u64,
1998*fae6e9adSlinfeng         precise_ip: __u64,
1999*fae6e9adSlinfeng         mmap_data: __u64,
2000*fae6e9adSlinfeng         sample_id_all: __u64,
2001*fae6e9adSlinfeng         exclude_host: __u64,
2002*fae6e9adSlinfeng         exclude_guest: __u64,
2003*fae6e9adSlinfeng         exclude_callchain_kernel: __u64,
2004*fae6e9adSlinfeng         exclude_callchain_user: __u64,
2005*fae6e9adSlinfeng         mmap2: __u64,
2006*fae6e9adSlinfeng         comm_exec: __u64,
2007*fae6e9adSlinfeng         use_clockid: __u64,
2008*fae6e9adSlinfeng         context_switch: __u64,
2009*fae6e9adSlinfeng         write_backward: __u64,
2010*fae6e9adSlinfeng         namespaces: __u64,
2011*fae6e9adSlinfeng         ksymbol: __u64,
2012*fae6e9adSlinfeng         bpf_event: __u64,
2013*fae6e9adSlinfeng         aux_output: __u64,
2014*fae6e9adSlinfeng         cgroup: __u64,
2015*fae6e9adSlinfeng         text_poke: __u64,
2016*fae6e9adSlinfeng         build_id: __u64,
2017*fae6e9adSlinfeng         inherit_thread: __u64,
2018*fae6e9adSlinfeng         remove_on_exec: __u64,
2019*fae6e9adSlinfeng         sigtrap: __u64,
2020*fae6e9adSlinfeng         __reserved_1: __u64,
2021*fae6e9adSlinfeng     ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2022*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2023*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(0usize, 1u8, {
2024*fae6e9adSlinfeng             let disabled: u64 = unsafe { ::core::mem::transmute(disabled) };
2025*fae6e9adSlinfeng             disabled as u64
2026*fae6e9adSlinfeng         });
2027*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(1usize, 1u8, {
2028*fae6e9adSlinfeng             let inherit: u64 = unsafe { ::core::mem::transmute(inherit) };
2029*fae6e9adSlinfeng             inherit as u64
2030*fae6e9adSlinfeng         });
2031*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(2usize, 1u8, {
2032*fae6e9adSlinfeng             let pinned: u64 = unsafe { ::core::mem::transmute(pinned) };
2033*fae6e9adSlinfeng             pinned as u64
2034*fae6e9adSlinfeng         });
2035*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(3usize, 1u8, {
2036*fae6e9adSlinfeng             let exclusive: u64 = unsafe { ::core::mem::transmute(exclusive) };
2037*fae6e9adSlinfeng             exclusive as u64
2038*fae6e9adSlinfeng         });
2039*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(4usize, 1u8, {
2040*fae6e9adSlinfeng             let exclude_user: u64 = unsafe { ::core::mem::transmute(exclude_user) };
2041*fae6e9adSlinfeng             exclude_user as u64
2042*fae6e9adSlinfeng         });
2043*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(5usize, 1u8, {
2044*fae6e9adSlinfeng             let exclude_kernel: u64 = unsafe { ::core::mem::transmute(exclude_kernel) };
2045*fae6e9adSlinfeng             exclude_kernel as u64
2046*fae6e9adSlinfeng         });
2047*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(6usize, 1u8, {
2048*fae6e9adSlinfeng             let exclude_hv: u64 = unsafe { ::core::mem::transmute(exclude_hv) };
2049*fae6e9adSlinfeng             exclude_hv as u64
2050*fae6e9adSlinfeng         });
2051*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(7usize, 1u8, {
2052*fae6e9adSlinfeng             let exclude_idle: u64 = unsafe { ::core::mem::transmute(exclude_idle) };
2053*fae6e9adSlinfeng             exclude_idle as u64
2054*fae6e9adSlinfeng         });
2055*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(8usize, 1u8, {
2056*fae6e9adSlinfeng             let mmap: u64 = unsafe { ::core::mem::transmute(mmap) };
2057*fae6e9adSlinfeng             mmap as u64
2058*fae6e9adSlinfeng         });
2059*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(9usize, 1u8, {
2060*fae6e9adSlinfeng             let comm: u64 = unsafe { ::core::mem::transmute(comm) };
2061*fae6e9adSlinfeng             comm as u64
2062*fae6e9adSlinfeng         });
2063*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(10usize, 1u8, {
2064*fae6e9adSlinfeng             let freq: u64 = unsafe { ::core::mem::transmute(freq) };
2065*fae6e9adSlinfeng             freq as u64
2066*fae6e9adSlinfeng         });
2067*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(11usize, 1u8, {
2068*fae6e9adSlinfeng             let inherit_stat: u64 = unsafe { ::core::mem::transmute(inherit_stat) };
2069*fae6e9adSlinfeng             inherit_stat as u64
2070*fae6e9adSlinfeng         });
2071*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(12usize, 1u8, {
2072*fae6e9adSlinfeng             let enable_on_exec: u64 = unsafe { ::core::mem::transmute(enable_on_exec) };
2073*fae6e9adSlinfeng             enable_on_exec as u64
2074*fae6e9adSlinfeng         });
2075*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(13usize, 1u8, {
2076*fae6e9adSlinfeng             let task: u64 = unsafe { ::core::mem::transmute(task) };
2077*fae6e9adSlinfeng             task as u64
2078*fae6e9adSlinfeng         });
2079*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(14usize, 1u8, {
2080*fae6e9adSlinfeng             let watermark: u64 = unsafe { ::core::mem::transmute(watermark) };
2081*fae6e9adSlinfeng             watermark as u64
2082*fae6e9adSlinfeng         });
2083*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(15usize, 2u8, {
2084*fae6e9adSlinfeng             let precise_ip: u64 = unsafe { ::core::mem::transmute(precise_ip) };
2085*fae6e9adSlinfeng             precise_ip as u64
2086*fae6e9adSlinfeng         });
2087*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(17usize, 1u8, {
2088*fae6e9adSlinfeng             let mmap_data: u64 = unsafe { ::core::mem::transmute(mmap_data) };
2089*fae6e9adSlinfeng             mmap_data as u64
2090*fae6e9adSlinfeng         });
2091*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(18usize, 1u8, {
2092*fae6e9adSlinfeng             let sample_id_all: u64 = unsafe { ::core::mem::transmute(sample_id_all) };
2093*fae6e9adSlinfeng             sample_id_all as u64
2094*fae6e9adSlinfeng         });
2095*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(19usize, 1u8, {
2096*fae6e9adSlinfeng             let exclude_host: u64 = unsafe { ::core::mem::transmute(exclude_host) };
2097*fae6e9adSlinfeng             exclude_host as u64
2098*fae6e9adSlinfeng         });
2099*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(20usize, 1u8, {
2100*fae6e9adSlinfeng             let exclude_guest: u64 = unsafe { ::core::mem::transmute(exclude_guest) };
2101*fae6e9adSlinfeng             exclude_guest as u64
2102*fae6e9adSlinfeng         });
2103*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(21usize, 1u8, {
2104*fae6e9adSlinfeng             let exclude_callchain_kernel: u64 =
2105*fae6e9adSlinfeng                 unsafe { ::core::mem::transmute(exclude_callchain_kernel) };
2106*fae6e9adSlinfeng             exclude_callchain_kernel as u64
2107*fae6e9adSlinfeng         });
2108*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(22usize, 1u8, {
2109*fae6e9adSlinfeng             let exclude_callchain_user: u64 =
2110*fae6e9adSlinfeng                 unsafe { ::core::mem::transmute(exclude_callchain_user) };
2111*fae6e9adSlinfeng             exclude_callchain_user as u64
2112*fae6e9adSlinfeng         });
2113*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(23usize, 1u8, {
2114*fae6e9adSlinfeng             let mmap2: u64 = unsafe { ::core::mem::transmute(mmap2) };
2115*fae6e9adSlinfeng             mmap2 as u64
2116*fae6e9adSlinfeng         });
2117*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(24usize, 1u8, {
2118*fae6e9adSlinfeng             let comm_exec: u64 = unsafe { ::core::mem::transmute(comm_exec) };
2119*fae6e9adSlinfeng             comm_exec as u64
2120*fae6e9adSlinfeng         });
2121*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(25usize, 1u8, {
2122*fae6e9adSlinfeng             let use_clockid: u64 = unsafe { ::core::mem::transmute(use_clockid) };
2123*fae6e9adSlinfeng             use_clockid as u64
2124*fae6e9adSlinfeng         });
2125*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(26usize, 1u8, {
2126*fae6e9adSlinfeng             let context_switch: u64 = unsafe { ::core::mem::transmute(context_switch) };
2127*fae6e9adSlinfeng             context_switch as u64
2128*fae6e9adSlinfeng         });
2129*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(27usize, 1u8, {
2130*fae6e9adSlinfeng             let write_backward: u64 = unsafe { ::core::mem::transmute(write_backward) };
2131*fae6e9adSlinfeng             write_backward as u64
2132*fae6e9adSlinfeng         });
2133*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(28usize, 1u8, {
2134*fae6e9adSlinfeng             let namespaces: u64 = unsafe { ::core::mem::transmute(namespaces) };
2135*fae6e9adSlinfeng             namespaces as u64
2136*fae6e9adSlinfeng         });
2137*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(29usize, 1u8, {
2138*fae6e9adSlinfeng             let ksymbol: u64 = unsafe { ::core::mem::transmute(ksymbol) };
2139*fae6e9adSlinfeng             ksymbol as u64
2140*fae6e9adSlinfeng         });
2141*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(30usize, 1u8, {
2142*fae6e9adSlinfeng             let bpf_event: u64 = unsafe { ::core::mem::transmute(bpf_event) };
2143*fae6e9adSlinfeng             bpf_event as u64
2144*fae6e9adSlinfeng         });
2145*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(31usize, 1u8, {
2146*fae6e9adSlinfeng             let aux_output: u64 = unsafe { ::core::mem::transmute(aux_output) };
2147*fae6e9adSlinfeng             aux_output as u64
2148*fae6e9adSlinfeng         });
2149*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(32usize, 1u8, {
2150*fae6e9adSlinfeng             let cgroup: u64 = unsafe { ::core::mem::transmute(cgroup) };
2151*fae6e9adSlinfeng             cgroup as u64
2152*fae6e9adSlinfeng         });
2153*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(33usize, 1u8, {
2154*fae6e9adSlinfeng             let text_poke: u64 = unsafe { ::core::mem::transmute(text_poke) };
2155*fae6e9adSlinfeng             text_poke as u64
2156*fae6e9adSlinfeng         });
2157*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(34usize, 1u8, {
2158*fae6e9adSlinfeng             let build_id: u64 = unsafe { ::core::mem::transmute(build_id) };
2159*fae6e9adSlinfeng             build_id as u64
2160*fae6e9adSlinfeng         });
2161*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(35usize, 1u8, {
2162*fae6e9adSlinfeng             let inherit_thread: u64 = unsafe { ::core::mem::transmute(inherit_thread) };
2163*fae6e9adSlinfeng             inherit_thread as u64
2164*fae6e9adSlinfeng         });
2165*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(36usize, 1u8, {
2166*fae6e9adSlinfeng             let remove_on_exec: u64 = unsafe { ::core::mem::transmute(remove_on_exec) };
2167*fae6e9adSlinfeng             remove_on_exec as u64
2168*fae6e9adSlinfeng         });
2169*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(37usize, 1u8, {
2170*fae6e9adSlinfeng             let sigtrap: u64 = unsafe { ::core::mem::transmute(sigtrap) };
2171*fae6e9adSlinfeng             sigtrap as u64
2172*fae6e9adSlinfeng         });
2173*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(38usize, 26u8, {
2174*fae6e9adSlinfeng             let __reserved_1: u64 = unsafe { ::core::mem::transmute(__reserved_1) };
2175*fae6e9adSlinfeng             __reserved_1 as u64
2176*fae6e9adSlinfeng         });
2177*fae6e9adSlinfeng         __bindgen_bitfield_unit
2178*fae6e9adSlinfeng     }
2179*fae6e9adSlinfeng }
2180*fae6e9adSlinfeng #[repr(C)]
2181*fae6e9adSlinfeng #[derive(Copy, Clone)]
2182*fae6e9adSlinfeng pub struct perf_event_mmap_page {
2183*fae6e9adSlinfeng     pub version: __u32,
2184*fae6e9adSlinfeng     pub compat_version: __u32,
2185*fae6e9adSlinfeng     pub lock: __u32,
2186*fae6e9adSlinfeng     pub index: __u32,
2187*fae6e9adSlinfeng     pub offset: __s64,
2188*fae6e9adSlinfeng     pub time_enabled: __u64,
2189*fae6e9adSlinfeng     pub time_running: __u64,
2190*fae6e9adSlinfeng     pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1,
2191*fae6e9adSlinfeng     pub pmc_width: __u16,
2192*fae6e9adSlinfeng     pub time_shift: __u16,
2193*fae6e9adSlinfeng     pub time_mult: __u32,
2194*fae6e9adSlinfeng     pub time_offset: __u64,
2195*fae6e9adSlinfeng     pub time_zero: __u64,
2196*fae6e9adSlinfeng     pub size: __u32,
2197*fae6e9adSlinfeng     pub __reserved_1: __u32,
2198*fae6e9adSlinfeng     pub time_cycles: __u64,
2199*fae6e9adSlinfeng     pub time_mask: __u64,
2200*fae6e9adSlinfeng     pub __reserved: [__u8; 928usize],
2201*fae6e9adSlinfeng     pub data_head: __u64,
2202*fae6e9adSlinfeng     pub data_tail: __u64,
2203*fae6e9adSlinfeng     pub data_offset: __u64,
2204*fae6e9adSlinfeng     pub data_size: __u64,
2205*fae6e9adSlinfeng     pub aux_head: __u64,
2206*fae6e9adSlinfeng     pub aux_tail: __u64,
2207*fae6e9adSlinfeng     pub aux_offset: __u64,
2208*fae6e9adSlinfeng     pub aux_size: __u64,
2209*fae6e9adSlinfeng }
2210*fae6e9adSlinfeng #[repr(C)]
2211*fae6e9adSlinfeng #[derive(Copy, Clone)]
2212*fae6e9adSlinfeng pub union perf_event_mmap_page__bindgen_ty_1 {
2213*fae6e9adSlinfeng     pub capabilities: __u64,
2214*fae6e9adSlinfeng     pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1,
2215*fae6e9adSlinfeng }
2216*fae6e9adSlinfeng #[repr(C)]
2217*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
2218*fae6e9adSlinfeng pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2219*fae6e9adSlinfeng     pub _bitfield_align_1: [u64; 0],
2220*fae6e9adSlinfeng     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2221*fae6e9adSlinfeng }
2222*fae6e9adSlinfeng impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2223*fae6e9adSlinfeng     #[inline]
cap_bit0(&self) -> __u642224*fae6e9adSlinfeng     pub fn cap_bit0(&self) -> __u64 {
2225*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
2226*fae6e9adSlinfeng     }
2227*fae6e9adSlinfeng     #[inline]
set_cap_bit0(&mut self, val: __u64)2228*fae6e9adSlinfeng     pub fn set_cap_bit0(&mut self, val: __u64) {
2229*fae6e9adSlinfeng         unsafe {
2230*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2231*fae6e9adSlinfeng             self._bitfield_1.set(0usize, 1u8, val as u64)
2232*fae6e9adSlinfeng         }
2233*fae6e9adSlinfeng     }
2234*fae6e9adSlinfeng     #[inline]
cap_bit0_is_deprecated(&self) -> __u642235*fae6e9adSlinfeng     pub fn cap_bit0_is_deprecated(&self) -> __u64 {
2236*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
2237*fae6e9adSlinfeng     }
2238*fae6e9adSlinfeng     #[inline]
set_cap_bit0_is_deprecated(&mut self, val: __u64)2239*fae6e9adSlinfeng     pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) {
2240*fae6e9adSlinfeng         unsafe {
2241*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2242*fae6e9adSlinfeng             self._bitfield_1.set(1usize, 1u8, val as u64)
2243*fae6e9adSlinfeng         }
2244*fae6e9adSlinfeng     }
2245*fae6e9adSlinfeng     #[inline]
cap_user_rdpmc(&self) -> __u642246*fae6e9adSlinfeng     pub fn cap_user_rdpmc(&self) -> __u64 {
2247*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
2248*fae6e9adSlinfeng     }
2249*fae6e9adSlinfeng     #[inline]
set_cap_user_rdpmc(&mut self, val: __u64)2250*fae6e9adSlinfeng     pub fn set_cap_user_rdpmc(&mut self, val: __u64) {
2251*fae6e9adSlinfeng         unsafe {
2252*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2253*fae6e9adSlinfeng             self._bitfield_1.set(2usize, 1u8, val as u64)
2254*fae6e9adSlinfeng         }
2255*fae6e9adSlinfeng     }
2256*fae6e9adSlinfeng     #[inline]
cap_user_time(&self) -> __u642257*fae6e9adSlinfeng     pub fn cap_user_time(&self) -> __u64 {
2258*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
2259*fae6e9adSlinfeng     }
2260*fae6e9adSlinfeng     #[inline]
set_cap_user_time(&mut self, val: __u64)2261*fae6e9adSlinfeng     pub fn set_cap_user_time(&mut self, val: __u64) {
2262*fae6e9adSlinfeng         unsafe {
2263*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2264*fae6e9adSlinfeng             self._bitfield_1.set(3usize, 1u8, val as u64)
2265*fae6e9adSlinfeng         }
2266*fae6e9adSlinfeng     }
2267*fae6e9adSlinfeng     #[inline]
cap_user_time_zero(&self) -> __u642268*fae6e9adSlinfeng     pub fn cap_user_time_zero(&self) -> __u64 {
2269*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
2270*fae6e9adSlinfeng     }
2271*fae6e9adSlinfeng     #[inline]
set_cap_user_time_zero(&mut self, val: __u64)2272*fae6e9adSlinfeng     pub fn set_cap_user_time_zero(&mut self, val: __u64) {
2273*fae6e9adSlinfeng         unsafe {
2274*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2275*fae6e9adSlinfeng             self._bitfield_1.set(4usize, 1u8, val as u64)
2276*fae6e9adSlinfeng         }
2277*fae6e9adSlinfeng     }
2278*fae6e9adSlinfeng     #[inline]
cap_user_time_short(&self) -> __u642279*fae6e9adSlinfeng     pub fn cap_user_time_short(&self) -> __u64 {
2280*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
2281*fae6e9adSlinfeng     }
2282*fae6e9adSlinfeng     #[inline]
set_cap_user_time_short(&mut self, val: __u64)2283*fae6e9adSlinfeng     pub fn set_cap_user_time_short(&mut self, val: __u64) {
2284*fae6e9adSlinfeng         unsafe {
2285*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2286*fae6e9adSlinfeng             self._bitfield_1.set(5usize, 1u8, val as u64)
2287*fae6e9adSlinfeng         }
2288*fae6e9adSlinfeng     }
2289*fae6e9adSlinfeng     #[inline]
cap_____res(&self) -> __u642290*fae6e9adSlinfeng     pub fn cap_____res(&self) -> __u64 {
2291*fae6e9adSlinfeng         unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 58u8) as u64) }
2292*fae6e9adSlinfeng     }
2293*fae6e9adSlinfeng     #[inline]
set_cap_____res(&mut self, val: __u64)2294*fae6e9adSlinfeng     pub fn set_cap_____res(&mut self, val: __u64) {
2295*fae6e9adSlinfeng         unsafe {
2296*fae6e9adSlinfeng             let val: u64 = ::core::mem::transmute(val);
2297*fae6e9adSlinfeng             self._bitfield_1.set(6usize, 58u8, val as u64)
2298*fae6e9adSlinfeng         }
2299*fae6e9adSlinfeng     }
2300*fae6e9adSlinfeng     #[inline]
new_bitfield_1( cap_bit0: __u64, cap_bit0_is_deprecated: __u64, cap_user_rdpmc: __u64, cap_user_time: __u64, cap_user_time_zero: __u64, cap_user_time_short: __u64, cap_____res: __u64, ) -> __BindgenBitfieldUnit<[u8; 8usize]>2301*fae6e9adSlinfeng     pub fn new_bitfield_1(
2302*fae6e9adSlinfeng         cap_bit0: __u64,
2303*fae6e9adSlinfeng         cap_bit0_is_deprecated: __u64,
2304*fae6e9adSlinfeng         cap_user_rdpmc: __u64,
2305*fae6e9adSlinfeng         cap_user_time: __u64,
2306*fae6e9adSlinfeng         cap_user_time_zero: __u64,
2307*fae6e9adSlinfeng         cap_user_time_short: __u64,
2308*fae6e9adSlinfeng         cap_____res: __u64,
2309*fae6e9adSlinfeng     ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2310*fae6e9adSlinfeng         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2311*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(0usize, 1u8, {
2312*fae6e9adSlinfeng             let cap_bit0: u64 = unsafe { ::core::mem::transmute(cap_bit0) };
2313*fae6e9adSlinfeng             cap_bit0 as u64
2314*fae6e9adSlinfeng         });
2315*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(1usize, 1u8, {
2316*fae6e9adSlinfeng             let cap_bit0_is_deprecated: u64 =
2317*fae6e9adSlinfeng                 unsafe { ::core::mem::transmute(cap_bit0_is_deprecated) };
2318*fae6e9adSlinfeng             cap_bit0_is_deprecated as u64
2319*fae6e9adSlinfeng         });
2320*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(2usize, 1u8, {
2321*fae6e9adSlinfeng             let cap_user_rdpmc: u64 = unsafe { ::core::mem::transmute(cap_user_rdpmc) };
2322*fae6e9adSlinfeng             cap_user_rdpmc as u64
2323*fae6e9adSlinfeng         });
2324*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(3usize, 1u8, {
2325*fae6e9adSlinfeng             let cap_user_time: u64 = unsafe { ::core::mem::transmute(cap_user_time) };
2326*fae6e9adSlinfeng             cap_user_time as u64
2327*fae6e9adSlinfeng         });
2328*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(4usize, 1u8, {
2329*fae6e9adSlinfeng             let cap_user_time_zero: u64 = unsafe { ::core::mem::transmute(cap_user_time_zero) };
2330*fae6e9adSlinfeng             cap_user_time_zero as u64
2331*fae6e9adSlinfeng         });
2332*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(5usize, 1u8, {
2333*fae6e9adSlinfeng             let cap_user_time_short: u64 = unsafe { ::core::mem::transmute(cap_user_time_short) };
2334*fae6e9adSlinfeng             cap_user_time_short as u64
2335*fae6e9adSlinfeng         });
2336*fae6e9adSlinfeng         __bindgen_bitfield_unit.set(6usize, 58u8, {
2337*fae6e9adSlinfeng             let cap_____res: u64 = unsafe { ::core::mem::transmute(cap_____res) };
2338*fae6e9adSlinfeng             cap_____res as u64
2339*fae6e9adSlinfeng         });
2340*fae6e9adSlinfeng         __bindgen_bitfield_unit
2341*fae6e9adSlinfeng     }
2342*fae6e9adSlinfeng }
2343*fae6e9adSlinfeng #[repr(C)]
2344*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
2345*fae6e9adSlinfeng pub struct perf_event_header {
2346*fae6e9adSlinfeng     pub type_: __u32,
2347*fae6e9adSlinfeng     pub misc: __u16,
2348*fae6e9adSlinfeng     pub size: __u16,
2349*fae6e9adSlinfeng }
2350*fae6e9adSlinfeng #[repr(u32)]
2351*fae6e9adSlinfeng #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, ToPrimitive)]
2352*fae6e9adSlinfeng pub enum perf_event_type {
2353*fae6e9adSlinfeng     PERF_RECORD_MMAP = 1,
2354*fae6e9adSlinfeng     PERF_RECORD_LOST = 2,
2355*fae6e9adSlinfeng     PERF_RECORD_COMM = 3,
2356*fae6e9adSlinfeng     PERF_RECORD_EXIT = 4,
2357*fae6e9adSlinfeng     PERF_RECORD_THROTTLE = 5,
2358*fae6e9adSlinfeng     PERF_RECORD_UNTHROTTLE = 6,
2359*fae6e9adSlinfeng     PERF_RECORD_FORK = 7,
2360*fae6e9adSlinfeng     PERF_RECORD_READ = 8,
2361*fae6e9adSlinfeng     PERF_RECORD_SAMPLE = 9,
2362*fae6e9adSlinfeng     PERF_RECORD_MMAP2 = 10,
2363*fae6e9adSlinfeng     PERF_RECORD_AUX = 11,
2364*fae6e9adSlinfeng     PERF_RECORD_ITRACE_START = 12,
2365*fae6e9adSlinfeng     PERF_RECORD_LOST_SAMPLES = 13,
2366*fae6e9adSlinfeng     PERF_RECORD_SWITCH = 14,
2367*fae6e9adSlinfeng     PERF_RECORD_SWITCH_CPU_WIDE = 15,
2368*fae6e9adSlinfeng     PERF_RECORD_NAMESPACES = 16,
2369*fae6e9adSlinfeng     PERF_RECORD_KSYMBOL = 17,
2370*fae6e9adSlinfeng     PERF_RECORD_BPF_EVENT = 18,
2371*fae6e9adSlinfeng     PERF_RECORD_CGROUP = 19,
2372*fae6e9adSlinfeng     PERF_RECORD_TEXT_POKE = 20,
2373*fae6e9adSlinfeng     PERF_RECORD_AUX_OUTPUT_HW_ID = 21,
2374*fae6e9adSlinfeng     PERF_RECORD_MAX = 22,
2375*fae6e9adSlinfeng }
2376*fae6e9adSlinfeng pub const TCA_BPF_UNSPEC: _bindgen_ty_152 = 0;
2377*fae6e9adSlinfeng pub const TCA_BPF_ACT: _bindgen_ty_152 = 1;
2378*fae6e9adSlinfeng pub const TCA_BPF_POLICE: _bindgen_ty_152 = 2;
2379*fae6e9adSlinfeng pub const TCA_BPF_CLASSID: _bindgen_ty_152 = 3;
2380*fae6e9adSlinfeng pub const TCA_BPF_OPS_LEN: _bindgen_ty_152 = 4;
2381*fae6e9adSlinfeng pub const TCA_BPF_OPS: _bindgen_ty_152 = 5;
2382*fae6e9adSlinfeng pub const TCA_BPF_FD: _bindgen_ty_152 = 6;
2383*fae6e9adSlinfeng pub const TCA_BPF_NAME: _bindgen_ty_152 = 7;
2384*fae6e9adSlinfeng pub const TCA_BPF_FLAGS: _bindgen_ty_152 = 8;
2385*fae6e9adSlinfeng pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_152 = 9;
2386*fae6e9adSlinfeng pub const TCA_BPF_TAG: _bindgen_ty_152 = 10;
2387*fae6e9adSlinfeng pub const TCA_BPF_ID: _bindgen_ty_152 = 11;
2388*fae6e9adSlinfeng pub const __TCA_BPF_MAX: _bindgen_ty_152 = 12;
2389*fae6e9adSlinfeng pub type _bindgen_ty_152 = ::core::ffi::c_uint;
2390*fae6e9adSlinfeng #[repr(C)]
2391*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
2392*fae6e9adSlinfeng pub struct ifinfomsg {
2393*fae6e9adSlinfeng     pub ifi_family: ::core::ffi::c_uchar,
2394*fae6e9adSlinfeng     pub __ifi_pad: ::core::ffi::c_uchar,
2395*fae6e9adSlinfeng     pub ifi_type: ::core::ffi::c_ushort,
2396*fae6e9adSlinfeng     pub ifi_index: ::core::ffi::c_int,
2397*fae6e9adSlinfeng     pub ifi_flags: ::core::ffi::c_uint,
2398*fae6e9adSlinfeng     pub ifi_change: ::core::ffi::c_uint,
2399*fae6e9adSlinfeng }
2400*fae6e9adSlinfeng #[repr(C)]
2401*fae6e9adSlinfeng #[derive(Debug, Copy, Clone)]
2402*fae6e9adSlinfeng pub struct tcmsg {
2403*fae6e9adSlinfeng     pub tcm_family: ::core::ffi::c_uchar,
2404*fae6e9adSlinfeng     pub tcm__pad1: ::core::ffi::c_uchar,
2405*fae6e9adSlinfeng     pub tcm__pad2: ::core::ffi::c_ushort,
2406*fae6e9adSlinfeng     pub tcm_ifindex: ::core::ffi::c_int,
2407*fae6e9adSlinfeng     pub tcm_handle: __u32,
2408*fae6e9adSlinfeng     pub tcm_parent: __u32,
2409*fae6e9adSlinfeng     pub tcm_info: __u32,
2410*fae6e9adSlinfeng }
2411*fae6e9adSlinfeng pub const TCA_UNSPEC: _bindgen_ty_170 = 0;
2412*fae6e9adSlinfeng pub const TCA_KIND: _bindgen_ty_170 = 1;
2413*fae6e9adSlinfeng pub const TCA_OPTIONS: _bindgen_ty_170 = 2;
2414*fae6e9adSlinfeng pub const TCA_STATS: _bindgen_ty_170 = 3;
2415*fae6e9adSlinfeng pub const TCA_XSTATS: _bindgen_ty_170 = 4;
2416*fae6e9adSlinfeng pub const TCA_RATE: _bindgen_ty_170 = 5;
2417*fae6e9adSlinfeng pub const TCA_FCNT: _bindgen_ty_170 = 6;
2418*fae6e9adSlinfeng pub const TCA_STATS2: _bindgen_ty_170 = 7;
2419*fae6e9adSlinfeng pub const TCA_STAB: _bindgen_ty_170 = 8;
2420*fae6e9adSlinfeng pub const TCA_PAD: _bindgen_ty_170 = 9;
2421*fae6e9adSlinfeng pub const TCA_DUMP_INVISIBLE: _bindgen_ty_170 = 10;
2422*fae6e9adSlinfeng pub const TCA_CHAIN: _bindgen_ty_170 = 11;
2423*fae6e9adSlinfeng pub const TCA_HW_OFFLOAD: _bindgen_ty_170 = 12;
2424*fae6e9adSlinfeng pub const TCA_INGRESS_BLOCK: _bindgen_ty_170 = 13;
2425*fae6e9adSlinfeng pub const TCA_EGRESS_BLOCK: _bindgen_ty_170 = 14;
2426*fae6e9adSlinfeng pub const __TCA_MAX: _bindgen_ty_170 = 15;
2427*fae6e9adSlinfeng pub type _bindgen_ty_170 = ::core::ffi::c_uint;
2428*fae6e9adSlinfeng pub const AYA_PERF_EVENT_IOC_ENABLE: ::core::ffi::c_int = 9216;
2429*fae6e9adSlinfeng pub const AYA_PERF_EVENT_IOC_DISABLE: ::core::ffi::c_int = 9217;
2430*fae6e9adSlinfeng pub const AYA_PERF_EVENT_IOC_SET_BPF: ::core::ffi::c_int = 1074013192;
2431