perf_event_open_sys/
bindings_x86_64.rs

1//! Types and constants used with `perf_event_open`.
2//!
3//! This module contains types and constants for use with the
4//! [`perf_event_open`][man] system call. These are automatically generated from
5//! the header files `<linux/perf_event.h>` and `<linux/hw_breakpoint.h>` by the
6//! Rust [`bindgen`][bindgen] tool.
7//!
8//! It's not always obvious how `bindgen` will choose to reflect a given C
9//! construct into Rust. The best approach I've found is simply to search
10//! [the source code][src] for the C identifier name and see what `bindgen` did
11//! with it.
12//!
13//! [man]: http://man7.org/linux/man-pages/man2/perf_event_open.2.html
14//! [bindgen]: https://github.com/rust-lang/rust-bindgen
15//! [src]: ../../src/perf_event_open_sys/bindings.rs.html
16
17#![allow(dead_code)]
18#![allow(non_upper_case_globals)]
19#![allow(non_camel_case_types)]
20#![allow(non_snake_case)]
21#![allow(deref_nullptr)] // `bindgen_test_layout` tests use bogus code
22#![allow(clippy::missing_safety_doc)]
23#![allow(clippy::too_many_arguments)]
24#![allow(clippy::useless_transmute)]
25
26/* automatically generated by rust-bindgen 0.71.1 */
27
28#[repr(C)]
29#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
30pub struct __BindgenBitfieldUnit<Storage> {
31    storage: Storage,
32}
33impl<Storage> __BindgenBitfieldUnit<Storage> {
34    #[inline]
35    pub const fn new(storage: Storage) -> Self {
36        Self { storage }
37    }
38}
39impl<Storage> __BindgenBitfieldUnit<Storage>
40where
41    Storage: AsRef<[u8]> + AsMut<[u8]>,
42{
43    #[inline]
44    fn extract_bit(byte: u8, index: usize) -> bool {
45        let bit_index = if cfg!(target_endian = "big") {
46            7 - (index % 8)
47        } else {
48            index % 8
49        };
50        let mask = 1 << bit_index;
51        byte & mask == mask
52    }
53    #[inline]
54    pub fn get_bit(&self, index: usize) -> bool {
55        debug_assert!(index / 8 < self.storage.as_ref().len());
56        let byte_index = index / 8;
57        let byte = self.storage.as_ref()[byte_index];
58        Self::extract_bit(byte, index)
59    }
60    #[inline]
61    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
62        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
63        let byte_index = index / 8;
64        let byte = *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize);
65        Self::extract_bit(byte, index)
66    }
67    #[inline]
68    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
69        let bit_index = if cfg!(target_endian = "big") {
70            7 - (index % 8)
71        } else {
72            index % 8
73        };
74        let mask = 1 << bit_index;
75        if val {
76            byte | mask
77        } else {
78            byte & !mask
79        }
80    }
81    #[inline]
82    pub fn set_bit(&mut self, index: usize, val: bool) {
83        debug_assert!(index / 8 < self.storage.as_ref().len());
84        let byte_index = index / 8;
85        let byte = &mut self.storage.as_mut()[byte_index];
86        *byte = Self::change_bit(*byte, index, val);
87    }
88    #[inline]
89    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
90        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
91        let byte_index = index / 8;
92        let byte =
93            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize);
94        *byte = Self::change_bit(*byte, index, val);
95    }
96    #[inline]
97    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
98        debug_assert!(bit_width <= 64);
99        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
100        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
101        let mut val = 0;
102        for i in 0..(bit_width as usize) {
103            if self.get_bit(i + bit_offset) {
104                let index = if cfg!(target_endian = "big") {
105                    bit_width as usize - 1 - i
106                } else {
107                    i
108                };
109                val |= 1 << index;
110            }
111        }
112        val
113    }
114    #[inline]
115    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
116        debug_assert!(bit_width <= 64);
117        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
118        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
119        let mut val = 0;
120        for i in 0..(bit_width as usize) {
121            if Self::raw_get_bit(this, i + bit_offset) {
122                let index = if cfg!(target_endian = "big") {
123                    bit_width as usize - 1 - i
124                } else {
125                    i
126                };
127                val |= 1 << index;
128            }
129        }
130        val
131    }
132    #[inline]
133    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
134        debug_assert!(bit_width <= 64);
135        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
136        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
137        for i in 0..(bit_width as usize) {
138            let mask = 1 << i;
139            let val_bit_is_set = val & mask == mask;
140            let index = if cfg!(target_endian = "big") {
141                bit_width as usize - 1 - i
142            } else {
143                i
144            };
145            self.set_bit(index + bit_offset, val_bit_is_set);
146        }
147    }
148    #[inline]
149    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
150        debug_assert!(bit_width <= 64);
151        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
152        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
153        for i in 0..(bit_width as usize) {
154            let mask = 1 << i;
155            let val_bit_is_set = val & mask == mask;
156            let index = if cfg!(target_endian = "big") {
157                bit_width as usize - 1 - i
158            } else {
159                i
160            };
161            Self::raw_set_bit(this, index + bit_offset, val_bit_is_set);
162        }
163    }
164}
165#[repr(C)]
166#[derive(Default)]
167pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
168impl<T> __IncompleteArrayField<T> {
169    #[inline]
170    pub const fn new() -> Self {
171        __IncompleteArrayField(::std::marker::PhantomData, [])
172    }
173    #[inline]
174    pub fn as_ptr(&self) -> *const T {
175        self as *const _ as *const T
176    }
177    #[inline]
178    pub fn as_mut_ptr(&mut self) -> *mut T {
179        self as *mut _ as *mut T
180    }
181    #[inline]
182    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
183        ::std::slice::from_raw_parts(self.as_ptr(), len)
184    }
185    #[inline]
186    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
187        ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
188    }
189}
190impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
191    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
192        fmt.write_str("__IncompleteArrayField")
193    }
194}
195pub const __BITS_PER_LONG: u32 = 64;
196pub const __BITS_PER_LONG_LONG: u32 = 64;
197pub const __FD_SETSIZE: u32 = 1024;
198pub const _IOC_NRBITS: u32 = 8;
199pub const _IOC_TYPEBITS: u32 = 8;
200pub const _IOC_SIZEBITS: u32 = 14;
201pub const _IOC_DIRBITS: u32 = 2;
202pub const _IOC_NRMASK: u32 = 255;
203pub const _IOC_TYPEMASK: u32 = 255;
204pub const _IOC_SIZEMASK: u32 = 16383;
205pub const _IOC_DIRMASK: u32 = 3;
206pub const _IOC_NRSHIFT: u32 = 0;
207pub const _IOC_TYPESHIFT: u32 = 8;
208pub const _IOC_SIZESHIFT: u32 = 16;
209pub const _IOC_DIRSHIFT: u32 = 30;
210pub const _IOC_NONE: u32 = 0;
211pub const _IOC_WRITE: u32 = 1;
212pub const _IOC_READ: u32 = 2;
213pub const IOC_IN: u32 = 1073741824;
214pub const IOC_OUT: u32 = 2147483648;
215pub const IOC_INOUT: u32 = 3221225472;
216pub const IOCSIZE_MASK: u32 = 1073676288;
217pub const IOCSIZE_SHIFT: u32 = 16;
218pub const __LITTLE_ENDIAN: u32 = 1234;
219pub const PERF_PMU_TYPE_SHIFT: u32 = 32;
220pub const PERF_HW_EVENT_MASK: u32 = 4294967295;
221pub const PERF_ATTR_SIZE_VER0: u32 = 64;
222pub const PERF_ATTR_SIZE_VER1: u32 = 72;
223pub const PERF_ATTR_SIZE_VER2: u32 = 80;
224pub const PERF_ATTR_SIZE_VER3: u32 = 96;
225pub const PERF_ATTR_SIZE_VER4: u32 = 104;
226pub const PERF_ATTR_SIZE_VER5: u32 = 112;
227pub const PERF_ATTR_SIZE_VER6: u32 = 120;
228pub const PERF_ATTR_SIZE_VER7: u32 = 128;
229pub const PERF_ATTR_SIZE_VER8: u32 = 136;
230pub const PERF_RECORD_MISC_CPUMODE_MASK: u32 = 7;
231pub const PERF_RECORD_MISC_CPUMODE_UNKNOWN: u32 = 0;
232pub const PERF_RECORD_MISC_KERNEL: u32 = 1;
233pub const PERF_RECORD_MISC_USER: u32 = 2;
234pub const PERF_RECORD_MISC_HYPERVISOR: u32 = 3;
235pub const PERF_RECORD_MISC_GUEST_KERNEL: u32 = 4;
236pub const PERF_RECORD_MISC_GUEST_USER: u32 = 5;
237pub const PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT: u32 = 4096;
238pub const PERF_RECORD_MISC_MMAP_DATA: u32 = 8192;
239pub const PERF_RECORD_MISC_COMM_EXEC: u32 = 8192;
240pub const PERF_RECORD_MISC_FORK_EXEC: u32 = 8192;
241pub const PERF_RECORD_MISC_SWITCH_OUT: u32 = 8192;
242pub const PERF_RECORD_MISC_EXACT_IP: u32 = 16384;
243pub const PERF_RECORD_MISC_SWITCH_OUT_PREEMPT: u32 = 16384;
244pub const PERF_RECORD_MISC_MMAP_BUILD_ID: u32 = 16384;
245pub const PERF_RECORD_MISC_EXT_RESERVED: u32 = 32768;
246pub const PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER: u32 = 1;
247pub const PERF_MAX_STACK_DEPTH: u32 = 127;
248pub const PERF_MAX_CONTEXTS_PER_STACK: u32 = 8;
249pub const PERF_AUX_FLAG_TRUNCATED: u32 = 1;
250pub const PERF_AUX_FLAG_OVERWRITE: u32 = 2;
251pub const PERF_AUX_FLAG_PARTIAL: u32 = 4;
252pub const PERF_AUX_FLAG_COLLISION: u32 = 8;
253pub const PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK: u32 = 65280;
254pub const PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT: u32 = 0;
255pub const PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW: u32 = 256;
256pub const PERF_FLAG_FD_NO_GROUP: u32 = 1;
257pub const PERF_FLAG_FD_OUTPUT: u32 = 2;
258pub const PERF_FLAG_PID_CGROUP: u32 = 4;
259pub const PERF_FLAG_FD_CLOEXEC: u32 = 8;
260pub const PERF_MEM_OP_NA: u32 = 1;
261pub const PERF_MEM_OP_LOAD: u32 = 2;
262pub const PERF_MEM_OP_STORE: u32 = 4;
263pub const PERF_MEM_OP_PFETCH: u32 = 8;
264pub const PERF_MEM_OP_EXEC: u32 = 16;
265pub const PERF_MEM_OP_SHIFT: u32 = 0;
266pub const PERF_MEM_LVL_NA: u32 = 1;
267pub const PERF_MEM_LVL_HIT: u32 = 2;
268pub const PERF_MEM_LVL_MISS: u32 = 4;
269pub const PERF_MEM_LVL_L1: u32 = 8;
270pub const PERF_MEM_LVL_LFB: u32 = 16;
271pub const PERF_MEM_LVL_L2: u32 = 32;
272pub const PERF_MEM_LVL_L3: u32 = 64;
273pub const PERF_MEM_LVL_LOC_RAM: u32 = 128;
274pub const PERF_MEM_LVL_REM_RAM1: u32 = 256;
275pub const PERF_MEM_LVL_REM_RAM2: u32 = 512;
276pub const PERF_MEM_LVL_REM_CCE1: u32 = 1024;
277pub const PERF_MEM_LVL_REM_CCE2: u32 = 2048;
278pub const PERF_MEM_LVL_IO: u32 = 4096;
279pub const PERF_MEM_LVL_UNC: u32 = 8192;
280pub const PERF_MEM_LVL_SHIFT: u32 = 5;
281pub const PERF_MEM_REMOTE_REMOTE: u32 = 1;
282pub const PERF_MEM_REMOTE_SHIFT: u32 = 37;
283pub const PERF_MEM_LVLNUM_L1: u32 = 1;
284pub const PERF_MEM_LVLNUM_L2: u32 = 2;
285pub const PERF_MEM_LVLNUM_L3: u32 = 3;
286pub const PERF_MEM_LVLNUM_L4: u32 = 4;
287pub const PERF_MEM_LVLNUM_L2_MHB: u32 = 5;
288pub const PERF_MEM_LVLNUM_MSC: u32 = 6;
289pub const PERF_MEM_LVLNUM_UNC: u32 = 8;
290pub const PERF_MEM_LVLNUM_CXL: u32 = 9;
291pub const PERF_MEM_LVLNUM_IO: u32 = 10;
292pub const PERF_MEM_LVLNUM_ANY_CACHE: u32 = 11;
293pub const PERF_MEM_LVLNUM_LFB: u32 = 12;
294pub const PERF_MEM_LVLNUM_RAM: u32 = 13;
295pub const PERF_MEM_LVLNUM_PMEM: u32 = 14;
296pub const PERF_MEM_LVLNUM_NA: u32 = 15;
297pub const PERF_MEM_LVLNUM_SHIFT: u32 = 33;
298pub const PERF_MEM_SNOOP_NA: u32 = 1;
299pub const PERF_MEM_SNOOP_NONE: u32 = 2;
300pub const PERF_MEM_SNOOP_HIT: u32 = 4;
301pub const PERF_MEM_SNOOP_MISS: u32 = 8;
302pub const PERF_MEM_SNOOP_HITM: u32 = 16;
303pub const PERF_MEM_SNOOP_SHIFT: u32 = 19;
304pub const PERF_MEM_SNOOPX_FWD: u32 = 1;
305pub const PERF_MEM_SNOOPX_PEER: u32 = 2;
306pub const PERF_MEM_SNOOPX_SHIFT: u32 = 38;
307pub const PERF_MEM_LOCK_NA: u32 = 1;
308pub const PERF_MEM_LOCK_LOCKED: u32 = 2;
309pub const PERF_MEM_LOCK_SHIFT: u32 = 24;
310pub const PERF_MEM_TLB_NA: u32 = 1;
311pub const PERF_MEM_TLB_HIT: u32 = 2;
312pub const PERF_MEM_TLB_MISS: u32 = 4;
313pub const PERF_MEM_TLB_L1: u32 = 8;
314pub const PERF_MEM_TLB_L2: u32 = 16;
315pub const PERF_MEM_TLB_WK: u32 = 32;
316pub const PERF_MEM_TLB_OS: u32 = 64;
317pub const PERF_MEM_TLB_SHIFT: u32 = 26;
318pub const PERF_MEM_BLK_NA: u32 = 1;
319pub const PERF_MEM_BLK_DATA: u32 = 2;
320pub const PERF_MEM_BLK_ADDR: u32 = 4;
321pub const PERF_MEM_BLK_SHIFT: u32 = 40;
322pub const PERF_MEM_HOPS_0: u32 = 1;
323pub const PERF_MEM_HOPS_1: u32 = 2;
324pub const PERF_MEM_HOPS_2: u32 = 3;
325pub const PERF_MEM_HOPS_3: u32 = 4;
326pub const PERF_MEM_HOPS_SHIFT: u32 = 43;
327pub const PERF_BRANCH_ENTRY_INFO_BITS_MAX: u32 = 33;
328pub const __X32_SYSCALL_BIT: u32 = 1073741824;
329pub const __NR_read: u32 = 0;
330pub const __NR_write: u32 = 1;
331pub const __NR_open: u32 = 2;
332pub const __NR_close: u32 = 3;
333pub const __NR_stat: u32 = 4;
334pub const __NR_fstat: u32 = 5;
335pub const __NR_lstat: u32 = 6;
336pub const __NR_poll: u32 = 7;
337pub const __NR_lseek: u32 = 8;
338pub const __NR_mmap: u32 = 9;
339pub const __NR_mprotect: u32 = 10;
340pub const __NR_munmap: u32 = 11;
341pub const __NR_brk: u32 = 12;
342pub const __NR_rt_sigaction: u32 = 13;
343pub const __NR_rt_sigprocmask: u32 = 14;
344pub const __NR_rt_sigreturn: u32 = 15;
345pub const __NR_ioctl: u32 = 16;
346pub const __NR_pread64: u32 = 17;
347pub const __NR_pwrite64: u32 = 18;
348pub const __NR_readv: u32 = 19;
349pub const __NR_writev: u32 = 20;
350pub const __NR_access: u32 = 21;
351pub const __NR_pipe: u32 = 22;
352pub const __NR_select: u32 = 23;
353pub const __NR_sched_yield: u32 = 24;
354pub const __NR_mremap: u32 = 25;
355pub const __NR_msync: u32 = 26;
356pub const __NR_mincore: u32 = 27;
357pub const __NR_madvise: u32 = 28;
358pub const __NR_shmget: u32 = 29;
359pub const __NR_shmat: u32 = 30;
360pub const __NR_shmctl: u32 = 31;
361pub const __NR_dup: u32 = 32;
362pub const __NR_dup2: u32 = 33;
363pub const __NR_pause: u32 = 34;
364pub const __NR_nanosleep: u32 = 35;
365pub const __NR_getitimer: u32 = 36;
366pub const __NR_alarm: u32 = 37;
367pub const __NR_setitimer: u32 = 38;
368pub const __NR_getpid: u32 = 39;
369pub const __NR_sendfile: u32 = 40;
370pub const __NR_socket: u32 = 41;
371pub const __NR_connect: u32 = 42;
372pub const __NR_accept: u32 = 43;
373pub const __NR_sendto: u32 = 44;
374pub const __NR_recvfrom: u32 = 45;
375pub const __NR_sendmsg: u32 = 46;
376pub const __NR_recvmsg: u32 = 47;
377pub const __NR_shutdown: u32 = 48;
378pub const __NR_bind: u32 = 49;
379pub const __NR_listen: u32 = 50;
380pub const __NR_getsockname: u32 = 51;
381pub const __NR_getpeername: u32 = 52;
382pub const __NR_socketpair: u32 = 53;
383pub const __NR_setsockopt: u32 = 54;
384pub const __NR_getsockopt: u32 = 55;
385pub const __NR_clone: u32 = 56;
386pub const __NR_fork: u32 = 57;
387pub const __NR_vfork: u32 = 58;
388pub const __NR_execve: u32 = 59;
389pub const __NR_exit: u32 = 60;
390pub const __NR_wait4: u32 = 61;
391pub const __NR_kill: u32 = 62;
392pub const __NR_uname: u32 = 63;
393pub const __NR_semget: u32 = 64;
394pub const __NR_semop: u32 = 65;
395pub const __NR_semctl: u32 = 66;
396pub const __NR_shmdt: u32 = 67;
397pub const __NR_msgget: u32 = 68;
398pub const __NR_msgsnd: u32 = 69;
399pub const __NR_msgrcv: u32 = 70;
400pub const __NR_msgctl: u32 = 71;
401pub const __NR_fcntl: u32 = 72;
402pub const __NR_flock: u32 = 73;
403pub const __NR_fsync: u32 = 74;
404pub const __NR_fdatasync: u32 = 75;
405pub const __NR_truncate: u32 = 76;
406pub const __NR_ftruncate: u32 = 77;
407pub const __NR_getdents: u32 = 78;
408pub const __NR_getcwd: u32 = 79;
409pub const __NR_chdir: u32 = 80;
410pub const __NR_fchdir: u32 = 81;
411pub const __NR_rename: u32 = 82;
412pub const __NR_mkdir: u32 = 83;
413pub const __NR_rmdir: u32 = 84;
414pub const __NR_creat: u32 = 85;
415pub const __NR_link: u32 = 86;
416pub const __NR_unlink: u32 = 87;
417pub const __NR_symlink: u32 = 88;
418pub const __NR_readlink: u32 = 89;
419pub const __NR_chmod: u32 = 90;
420pub const __NR_fchmod: u32 = 91;
421pub const __NR_chown: u32 = 92;
422pub const __NR_fchown: u32 = 93;
423pub const __NR_lchown: u32 = 94;
424pub const __NR_umask: u32 = 95;
425pub const __NR_gettimeofday: u32 = 96;
426pub const __NR_getrlimit: u32 = 97;
427pub const __NR_getrusage: u32 = 98;
428pub const __NR_sysinfo: u32 = 99;
429pub const __NR_times: u32 = 100;
430pub const __NR_ptrace: u32 = 101;
431pub const __NR_getuid: u32 = 102;
432pub const __NR_syslog: u32 = 103;
433pub const __NR_getgid: u32 = 104;
434pub const __NR_setuid: u32 = 105;
435pub const __NR_setgid: u32 = 106;
436pub const __NR_geteuid: u32 = 107;
437pub const __NR_getegid: u32 = 108;
438pub const __NR_setpgid: u32 = 109;
439pub const __NR_getppid: u32 = 110;
440pub const __NR_getpgrp: u32 = 111;
441pub const __NR_setsid: u32 = 112;
442pub const __NR_setreuid: u32 = 113;
443pub const __NR_setregid: u32 = 114;
444pub const __NR_getgroups: u32 = 115;
445pub const __NR_setgroups: u32 = 116;
446pub const __NR_setresuid: u32 = 117;
447pub const __NR_getresuid: u32 = 118;
448pub const __NR_setresgid: u32 = 119;
449pub const __NR_getresgid: u32 = 120;
450pub const __NR_getpgid: u32 = 121;
451pub const __NR_setfsuid: u32 = 122;
452pub const __NR_setfsgid: u32 = 123;
453pub const __NR_getsid: u32 = 124;
454pub const __NR_capget: u32 = 125;
455pub const __NR_capset: u32 = 126;
456pub const __NR_rt_sigpending: u32 = 127;
457pub const __NR_rt_sigtimedwait: u32 = 128;
458pub const __NR_rt_sigqueueinfo: u32 = 129;
459pub const __NR_rt_sigsuspend: u32 = 130;
460pub const __NR_sigaltstack: u32 = 131;
461pub const __NR_utime: u32 = 132;
462pub const __NR_mknod: u32 = 133;
463pub const __NR_uselib: u32 = 134;
464pub const __NR_personality: u32 = 135;
465pub const __NR_ustat: u32 = 136;
466pub const __NR_statfs: u32 = 137;
467pub const __NR_fstatfs: u32 = 138;
468pub const __NR_sysfs: u32 = 139;
469pub const __NR_getpriority: u32 = 140;
470pub const __NR_setpriority: u32 = 141;
471pub const __NR_sched_setparam: u32 = 142;
472pub const __NR_sched_getparam: u32 = 143;
473pub const __NR_sched_setscheduler: u32 = 144;
474pub const __NR_sched_getscheduler: u32 = 145;
475pub const __NR_sched_get_priority_max: u32 = 146;
476pub const __NR_sched_get_priority_min: u32 = 147;
477pub const __NR_sched_rr_get_interval: u32 = 148;
478pub const __NR_mlock: u32 = 149;
479pub const __NR_munlock: u32 = 150;
480pub const __NR_mlockall: u32 = 151;
481pub const __NR_munlockall: u32 = 152;
482pub const __NR_vhangup: u32 = 153;
483pub const __NR_modify_ldt: u32 = 154;
484pub const __NR_pivot_root: u32 = 155;
485pub const __NR__sysctl: u32 = 156;
486pub const __NR_prctl: u32 = 157;
487pub const __NR_arch_prctl: u32 = 158;
488pub const __NR_adjtimex: u32 = 159;
489pub const __NR_setrlimit: u32 = 160;
490pub const __NR_chroot: u32 = 161;
491pub const __NR_sync: u32 = 162;
492pub const __NR_acct: u32 = 163;
493pub const __NR_settimeofday: u32 = 164;
494pub const __NR_mount: u32 = 165;
495pub const __NR_umount2: u32 = 166;
496pub const __NR_swapon: u32 = 167;
497pub const __NR_swapoff: u32 = 168;
498pub const __NR_reboot: u32 = 169;
499pub const __NR_sethostname: u32 = 170;
500pub const __NR_setdomainname: u32 = 171;
501pub const __NR_iopl: u32 = 172;
502pub const __NR_ioperm: u32 = 173;
503pub const __NR_create_module: u32 = 174;
504pub const __NR_init_module: u32 = 175;
505pub const __NR_delete_module: u32 = 176;
506pub const __NR_get_kernel_syms: u32 = 177;
507pub const __NR_query_module: u32 = 178;
508pub const __NR_quotactl: u32 = 179;
509pub const __NR_nfsservctl: u32 = 180;
510pub const __NR_getpmsg: u32 = 181;
511pub const __NR_putpmsg: u32 = 182;
512pub const __NR_afs_syscall: u32 = 183;
513pub const __NR_tuxcall: u32 = 184;
514pub const __NR_security: u32 = 185;
515pub const __NR_gettid: u32 = 186;
516pub const __NR_readahead: u32 = 187;
517pub const __NR_setxattr: u32 = 188;
518pub const __NR_lsetxattr: u32 = 189;
519pub const __NR_fsetxattr: u32 = 190;
520pub const __NR_getxattr: u32 = 191;
521pub const __NR_lgetxattr: u32 = 192;
522pub const __NR_fgetxattr: u32 = 193;
523pub const __NR_listxattr: u32 = 194;
524pub const __NR_llistxattr: u32 = 195;
525pub const __NR_flistxattr: u32 = 196;
526pub const __NR_removexattr: u32 = 197;
527pub const __NR_lremovexattr: u32 = 198;
528pub const __NR_fremovexattr: u32 = 199;
529pub const __NR_tkill: u32 = 200;
530pub const __NR_time: u32 = 201;
531pub const __NR_futex: u32 = 202;
532pub const __NR_sched_setaffinity: u32 = 203;
533pub const __NR_sched_getaffinity: u32 = 204;
534pub const __NR_set_thread_area: u32 = 205;
535pub const __NR_io_setup: u32 = 206;
536pub const __NR_io_destroy: u32 = 207;
537pub const __NR_io_getevents: u32 = 208;
538pub const __NR_io_submit: u32 = 209;
539pub const __NR_io_cancel: u32 = 210;
540pub const __NR_get_thread_area: u32 = 211;
541pub const __NR_lookup_dcookie: u32 = 212;
542pub const __NR_epoll_create: u32 = 213;
543pub const __NR_epoll_ctl_old: u32 = 214;
544pub const __NR_epoll_wait_old: u32 = 215;
545pub const __NR_remap_file_pages: u32 = 216;
546pub const __NR_getdents64: u32 = 217;
547pub const __NR_set_tid_address: u32 = 218;
548pub const __NR_restart_syscall: u32 = 219;
549pub const __NR_semtimedop: u32 = 220;
550pub const __NR_fadvise64: u32 = 221;
551pub const __NR_timer_create: u32 = 222;
552pub const __NR_timer_settime: u32 = 223;
553pub const __NR_timer_gettime: u32 = 224;
554pub const __NR_timer_getoverrun: u32 = 225;
555pub const __NR_timer_delete: u32 = 226;
556pub const __NR_clock_settime: u32 = 227;
557pub const __NR_clock_gettime: u32 = 228;
558pub const __NR_clock_getres: u32 = 229;
559pub const __NR_clock_nanosleep: u32 = 230;
560pub const __NR_exit_group: u32 = 231;
561pub const __NR_epoll_wait: u32 = 232;
562pub const __NR_epoll_ctl: u32 = 233;
563pub const __NR_tgkill: u32 = 234;
564pub const __NR_utimes: u32 = 235;
565pub const __NR_vserver: u32 = 236;
566pub const __NR_mbind: u32 = 237;
567pub const __NR_set_mempolicy: u32 = 238;
568pub const __NR_get_mempolicy: u32 = 239;
569pub const __NR_mq_open: u32 = 240;
570pub const __NR_mq_unlink: u32 = 241;
571pub const __NR_mq_timedsend: u32 = 242;
572pub const __NR_mq_timedreceive: u32 = 243;
573pub const __NR_mq_notify: u32 = 244;
574pub const __NR_mq_getsetattr: u32 = 245;
575pub const __NR_kexec_load: u32 = 246;
576pub const __NR_waitid: u32 = 247;
577pub const __NR_add_key: u32 = 248;
578pub const __NR_request_key: u32 = 249;
579pub const __NR_keyctl: u32 = 250;
580pub const __NR_ioprio_set: u32 = 251;
581pub const __NR_ioprio_get: u32 = 252;
582pub const __NR_inotify_init: u32 = 253;
583pub const __NR_inotify_add_watch: u32 = 254;
584pub const __NR_inotify_rm_watch: u32 = 255;
585pub const __NR_migrate_pages: u32 = 256;
586pub const __NR_openat: u32 = 257;
587pub const __NR_mkdirat: u32 = 258;
588pub const __NR_mknodat: u32 = 259;
589pub const __NR_fchownat: u32 = 260;
590pub const __NR_futimesat: u32 = 261;
591pub const __NR_newfstatat: u32 = 262;
592pub const __NR_unlinkat: u32 = 263;
593pub const __NR_renameat: u32 = 264;
594pub const __NR_linkat: u32 = 265;
595pub const __NR_symlinkat: u32 = 266;
596pub const __NR_readlinkat: u32 = 267;
597pub const __NR_fchmodat: u32 = 268;
598pub const __NR_faccessat: u32 = 269;
599pub const __NR_pselect6: u32 = 270;
600pub const __NR_ppoll: u32 = 271;
601pub const __NR_unshare: u32 = 272;
602pub const __NR_set_robust_list: u32 = 273;
603pub const __NR_get_robust_list: u32 = 274;
604pub const __NR_splice: u32 = 275;
605pub const __NR_tee: u32 = 276;
606pub const __NR_sync_file_range: u32 = 277;
607pub const __NR_vmsplice: u32 = 278;
608pub const __NR_move_pages: u32 = 279;
609pub const __NR_utimensat: u32 = 280;
610pub const __NR_epoll_pwait: u32 = 281;
611pub const __NR_signalfd: u32 = 282;
612pub const __NR_timerfd_create: u32 = 283;
613pub const __NR_eventfd: u32 = 284;
614pub const __NR_fallocate: u32 = 285;
615pub const __NR_timerfd_settime: u32 = 286;
616pub const __NR_timerfd_gettime: u32 = 287;
617pub const __NR_accept4: u32 = 288;
618pub const __NR_signalfd4: u32 = 289;
619pub const __NR_eventfd2: u32 = 290;
620pub const __NR_epoll_create1: u32 = 291;
621pub const __NR_dup3: u32 = 292;
622pub const __NR_pipe2: u32 = 293;
623pub const __NR_inotify_init1: u32 = 294;
624pub const __NR_preadv: u32 = 295;
625pub const __NR_pwritev: u32 = 296;
626pub const __NR_rt_tgsigqueueinfo: u32 = 297;
627pub const __NR_perf_event_open: u32 = 298;
628pub const __NR_recvmmsg: u32 = 299;
629pub const __NR_fanotify_init: u32 = 300;
630pub const __NR_fanotify_mark: u32 = 301;
631pub const __NR_prlimit64: u32 = 302;
632pub const __NR_name_to_handle_at: u32 = 303;
633pub const __NR_open_by_handle_at: u32 = 304;
634pub const __NR_clock_adjtime: u32 = 305;
635pub const __NR_syncfs: u32 = 306;
636pub const __NR_sendmmsg: u32 = 307;
637pub const __NR_setns: u32 = 308;
638pub const __NR_getcpu: u32 = 309;
639pub const __NR_process_vm_readv: u32 = 310;
640pub const __NR_process_vm_writev: u32 = 311;
641pub const __NR_kcmp: u32 = 312;
642pub const __NR_finit_module: u32 = 313;
643pub const __NR_sched_setattr: u32 = 314;
644pub const __NR_sched_getattr: u32 = 315;
645pub const __NR_renameat2: u32 = 316;
646pub const __NR_seccomp: u32 = 317;
647pub const __NR_getrandom: u32 = 318;
648pub const __NR_memfd_create: u32 = 319;
649pub const __NR_kexec_file_load: u32 = 320;
650pub const __NR_bpf: u32 = 321;
651pub const __NR_execveat: u32 = 322;
652pub const __NR_userfaultfd: u32 = 323;
653pub const __NR_membarrier: u32 = 324;
654pub const __NR_mlock2: u32 = 325;
655pub const __NR_copy_file_range: u32 = 326;
656pub const __NR_preadv2: u32 = 327;
657pub const __NR_pwritev2: u32 = 328;
658pub const __NR_pkey_mprotect: u32 = 329;
659pub const __NR_pkey_alloc: u32 = 330;
660pub const __NR_pkey_free: u32 = 331;
661pub const __NR_statx: u32 = 332;
662pub const __NR_io_pgetevents: u32 = 333;
663pub const __NR_rseq: u32 = 334;
664pub const __NR_uretprobe: u32 = 335;
665pub const __NR_pidfd_send_signal: u32 = 424;
666pub const __NR_io_uring_setup: u32 = 425;
667pub const __NR_io_uring_enter: u32 = 426;
668pub const __NR_io_uring_register: u32 = 427;
669pub const __NR_open_tree: u32 = 428;
670pub const __NR_move_mount: u32 = 429;
671pub const __NR_fsopen: u32 = 430;
672pub const __NR_fsconfig: u32 = 431;
673pub const __NR_fsmount: u32 = 432;
674pub const __NR_fspick: u32 = 433;
675pub const __NR_pidfd_open: u32 = 434;
676pub const __NR_clone3: u32 = 435;
677pub const __NR_close_range: u32 = 436;
678pub const __NR_openat2: u32 = 437;
679pub const __NR_pidfd_getfd: u32 = 438;
680pub const __NR_faccessat2: u32 = 439;
681pub const __NR_process_madvise: u32 = 440;
682pub const __NR_epoll_pwait2: u32 = 441;
683pub const __NR_mount_setattr: u32 = 442;
684pub const __NR_quotactl_fd: u32 = 443;
685pub const __NR_landlock_create_ruleset: u32 = 444;
686pub const __NR_landlock_add_rule: u32 = 445;
687pub const __NR_landlock_restrict_self: u32 = 446;
688pub const __NR_memfd_secret: u32 = 447;
689pub const __NR_process_mrelease: u32 = 448;
690pub const __NR_futex_waitv: u32 = 449;
691pub const __NR_set_mempolicy_home_node: u32 = 450;
692pub const __NR_cachestat: u32 = 451;
693pub const __NR_fchmodat2: u32 = 452;
694pub const __NR_map_shadow_stack: u32 = 453;
695pub const __NR_futex_wake: u32 = 454;
696pub const __NR_futex_wait: u32 = 455;
697pub const __NR_futex_requeue: u32 = 456;
698pub const __NR_statmount: u32 = 457;
699pub const __NR_listmount: u32 = 458;
700pub const __NR_lsm_get_self_attr: u32 = 459;
701pub const __NR_lsm_set_self_attr: u32 = 460;
702pub const __NR_lsm_list_modules: u32 = 461;
703pub const __NR_mseal: u32 = 462;
704pub const __NR_setxattrat: u32 = 463;
705pub const __NR_getxattrat: u32 = 464;
706pub const __NR_listxattrat: u32 = 465;
707pub const __NR_removexattrat: u32 = 466;
708pub type __s8 = ::std::os::raw::c_schar;
709pub type __u8 = ::std::os::raw::c_uchar;
710pub type __s16 = ::std::os::raw::c_short;
711pub type __u16 = ::std::os::raw::c_ushort;
712pub type __s32 = ::std::os::raw::c_int;
713pub type __u32 = ::std::os::raw::c_uint;
714pub type __s64 = ::std::os::raw::c_longlong;
715pub type __u64 = ::std::os::raw::c_ulonglong;
716#[repr(C)]
717#[derive(Debug, Default, Copy, Clone)]
718pub struct __kernel_fd_set {
719    pub fds_bits: [::std::os::raw::c_ulong; 16usize],
720}
721#[allow(clippy::unnecessary_operation, clippy::identity_op)]
722const _: () = {
723    ["Size of __kernel_fd_set"][::std::mem::size_of::<__kernel_fd_set>() - 128usize];
724    ["Alignment of __kernel_fd_set"][::std::mem::align_of::<__kernel_fd_set>() - 8usize];
725    ["Offset of field: __kernel_fd_set::fds_bits"]
726        [::std::mem::offset_of!(__kernel_fd_set, fds_bits) - 0usize];
727};
728pub type __kernel_sighandler_t =
729    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
730pub type __kernel_key_t = ::std::os::raw::c_int;
731pub type __kernel_mqd_t = ::std::os::raw::c_int;
732pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
733pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
734pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
735pub type __kernel_long_t = ::std::os::raw::c_long;
736pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
737pub type __kernel_ino_t = __kernel_ulong_t;
738pub type __kernel_mode_t = ::std::os::raw::c_uint;
739pub type __kernel_pid_t = ::std::os::raw::c_int;
740pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
741pub type __kernel_uid_t = ::std::os::raw::c_uint;
742pub type __kernel_gid_t = ::std::os::raw::c_uint;
743pub type __kernel_suseconds_t = __kernel_long_t;
744pub type __kernel_daddr_t = ::std::os::raw::c_int;
745pub type __kernel_uid32_t = ::std::os::raw::c_uint;
746pub type __kernel_gid32_t = ::std::os::raw::c_uint;
747pub type __kernel_size_t = __kernel_ulong_t;
748pub type __kernel_ssize_t = __kernel_long_t;
749pub type __kernel_ptrdiff_t = __kernel_long_t;
750#[repr(C)]
751#[derive(Debug, Default, Copy, Clone)]
752pub struct __kernel_fsid_t {
753    pub val: [::std::os::raw::c_int; 2usize],
754}
755#[allow(clippy::unnecessary_operation, clippy::identity_op)]
756const _: () = {
757    ["Size of __kernel_fsid_t"][::std::mem::size_of::<__kernel_fsid_t>() - 8usize];
758    ["Alignment of __kernel_fsid_t"][::std::mem::align_of::<__kernel_fsid_t>() - 4usize];
759    ["Offset of field: __kernel_fsid_t::val"]
760        [::std::mem::offset_of!(__kernel_fsid_t, val) - 0usize];
761};
762pub type __kernel_off_t = __kernel_long_t;
763pub type __kernel_loff_t = ::std::os::raw::c_longlong;
764pub type __kernel_old_time_t = __kernel_long_t;
765pub type __kernel_time_t = __kernel_long_t;
766pub type __kernel_time64_t = ::std::os::raw::c_longlong;
767pub type __kernel_clock_t = __kernel_long_t;
768pub type __kernel_timer_t = ::std::os::raw::c_int;
769pub type __kernel_clockid_t = ::std::os::raw::c_int;
770pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
771pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
772pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
773pub type __s128 = i128;
774pub type __u128 = u128;
775pub type __le16 = __u16;
776pub type __be16 = __u16;
777pub type __le32 = __u32;
778pub type __be32 = __u32;
779pub type __le64 = __u64;
780pub type __be64 = __u64;
781pub type __sum16 = __u16;
782pub type __wsum = __u32;
783pub type __poll_t = ::std::os::raw::c_uint;
784pub const PERF_TYPE_HARDWARE: perf_type_id = 0;
785pub const PERF_TYPE_SOFTWARE: perf_type_id = 1;
786pub const PERF_TYPE_TRACEPOINT: perf_type_id = 2;
787pub const PERF_TYPE_HW_CACHE: perf_type_id = 3;
788pub const PERF_TYPE_RAW: perf_type_id = 4;
789pub const PERF_TYPE_BREAKPOINT: perf_type_id = 5;
790pub const PERF_TYPE_MAX: perf_type_id = 6;
791pub type perf_type_id = ::std::os::raw::c_uint;
792pub const PERF_COUNT_HW_CPU_CYCLES: perf_hw_id = 0;
793pub const PERF_COUNT_HW_INSTRUCTIONS: perf_hw_id = 1;
794pub const PERF_COUNT_HW_CACHE_REFERENCES: perf_hw_id = 2;
795pub const PERF_COUNT_HW_CACHE_MISSES: perf_hw_id = 3;
796pub const PERF_COUNT_HW_BRANCH_INSTRUCTIONS: perf_hw_id = 4;
797pub const PERF_COUNT_HW_BRANCH_MISSES: perf_hw_id = 5;
798pub const PERF_COUNT_HW_BUS_CYCLES: perf_hw_id = 6;
799pub const PERF_COUNT_HW_STALLED_CYCLES_FRONTEND: perf_hw_id = 7;
800pub const PERF_COUNT_HW_STALLED_CYCLES_BACKEND: perf_hw_id = 8;
801pub const PERF_COUNT_HW_REF_CPU_CYCLES: perf_hw_id = 9;
802pub const PERF_COUNT_HW_MAX: perf_hw_id = 10;
803pub type perf_hw_id = ::std::os::raw::c_uint;
804pub const PERF_COUNT_HW_CACHE_L1D: perf_hw_cache_id = 0;
805pub const PERF_COUNT_HW_CACHE_L1I: perf_hw_cache_id = 1;
806pub const PERF_COUNT_HW_CACHE_LL: perf_hw_cache_id = 2;
807pub const PERF_COUNT_HW_CACHE_DTLB: perf_hw_cache_id = 3;
808pub const PERF_COUNT_HW_CACHE_ITLB: perf_hw_cache_id = 4;
809pub const PERF_COUNT_HW_CACHE_BPU: perf_hw_cache_id = 5;
810pub const PERF_COUNT_HW_CACHE_NODE: perf_hw_cache_id = 6;
811pub const PERF_COUNT_HW_CACHE_MAX: perf_hw_cache_id = 7;
812pub type perf_hw_cache_id = ::std::os::raw::c_uint;
813pub const PERF_COUNT_HW_CACHE_OP_READ: perf_hw_cache_op_id = 0;
814pub const PERF_COUNT_HW_CACHE_OP_WRITE: perf_hw_cache_op_id = 1;
815pub const PERF_COUNT_HW_CACHE_OP_PREFETCH: perf_hw_cache_op_id = 2;
816pub const PERF_COUNT_HW_CACHE_OP_MAX: perf_hw_cache_op_id = 3;
817pub type perf_hw_cache_op_id = ::std::os::raw::c_uint;
818pub const PERF_COUNT_HW_CACHE_RESULT_ACCESS: perf_hw_cache_op_result_id = 0;
819pub const PERF_COUNT_HW_CACHE_RESULT_MISS: perf_hw_cache_op_result_id = 1;
820pub const PERF_COUNT_HW_CACHE_RESULT_MAX: perf_hw_cache_op_result_id = 2;
821pub type perf_hw_cache_op_result_id = ::std::os::raw::c_uint;
822pub const PERF_COUNT_SW_CPU_CLOCK: perf_sw_ids = 0;
823pub const PERF_COUNT_SW_TASK_CLOCK: perf_sw_ids = 1;
824pub const PERF_COUNT_SW_PAGE_FAULTS: perf_sw_ids = 2;
825pub const PERF_COUNT_SW_CONTEXT_SWITCHES: perf_sw_ids = 3;
826pub const PERF_COUNT_SW_CPU_MIGRATIONS: perf_sw_ids = 4;
827pub const PERF_COUNT_SW_PAGE_FAULTS_MIN: perf_sw_ids = 5;
828pub const PERF_COUNT_SW_PAGE_FAULTS_MAJ: perf_sw_ids = 6;
829pub const PERF_COUNT_SW_ALIGNMENT_FAULTS: perf_sw_ids = 7;
830pub const PERF_COUNT_SW_EMULATION_FAULTS: perf_sw_ids = 8;
831pub const PERF_COUNT_SW_DUMMY: perf_sw_ids = 9;
832pub const PERF_COUNT_SW_BPF_OUTPUT: perf_sw_ids = 10;
833pub const PERF_COUNT_SW_CGROUP_SWITCHES: perf_sw_ids = 11;
834pub const PERF_COUNT_SW_MAX: perf_sw_ids = 12;
835pub type perf_sw_ids = ::std::os::raw::c_uint;
836pub const PERF_SAMPLE_IP: perf_event_sample_format = 1;
837pub const PERF_SAMPLE_TID: perf_event_sample_format = 2;
838pub const PERF_SAMPLE_TIME: perf_event_sample_format = 4;
839pub const PERF_SAMPLE_ADDR: perf_event_sample_format = 8;
840pub const PERF_SAMPLE_READ: perf_event_sample_format = 16;
841pub const PERF_SAMPLE_CALLCHAIN: perf_event_sample_format = 32;
842pub const PERF_SAMPLE_ID: perf_event_sample_format = 64;
843pub const PERF_SAMPLE_CPU: perf_event_sample_format = 128;
844pub const PERF_SAMPLE_PERIOD: perf_event_sample_format = 256;
845pub const PERF_SAMPLE_STREAM_ID: perf_event_sample_format = 512;
846pub const PERF_SAMPLE_RAW: perf_event_sample_format = 1024;
847pub const PERF_SAMPLE_BRANCH_STACK: perf_event_sample_format = 2048;
848pub const PERF_SAMPLE_REGS_USER: perf_event_sample_format = 4096;
849pub const PERF_SAMPLE_STACK_USER: perf_event_sample_format = 8192;
850pub const PERF_SAMPLE_WEIGHT: perf_event_sample_format = 16384;
851pub const PERF_SAMPLE_DATA_SRC: perf_event_sample_format = 32768;
852pub const PERF_SAMPLE_IDENTIFIER: perf_event_sample_format = 65536;
853pub const PERF_SAMPLE_TRANSACTION: perf_event_sample_format = 131072;
854pub const PERF_SAMPLE_REGS_INTR: perf_event_sample_format = 262144;
855pub const PERF_SAMPLE_PHYS_ADDR: perf_event_sample_format = 524288;
856pub const PERF_SAMPLE_AUX: perf_event_sample_format = 1048576;
857pub const PERF_SAMPLE_CGROUP: perf_event_sample_format = 2097152;
858pub const PERF_SAMPLE_DATA_PAGE_SIZE: perf_event_sample_format = 4194304;
859pub const PERF_SAMPLE_CODE_PAGE_SIZE: perf_event_sample_format = 8388608;
860pub const PERF_SAMPLE_WEIGHT_STRUCT: perf_event_sample_format = 16777216;
861pub const PERF_SAMPLE_MAX: perf_event_sample_format = 33554432;
862pub type perf_event_sample_format = ::std::os::raw::c_uint;
863pub const PERF_SAMPLE_BRANCH_USER_SHIFT: perf_branch_sample_type_shift = 0;
864pub const PERF_SAMPLE_BRANCH_KERNEL_SHIFT: perf_branch_sample_type_shift = 1;
865pub const PERF_SAMPLE_BRANCH_HV_SHIFT: perf_branch_sample_type_shift = 2;
866pub const PERF_SAMPLE_BRANCH_ANY_SHIFT: perf_branch_sample_type_shift = 3;
867pub const PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT: perf_branch_sample_type_shift = 4;
868pub const PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT: perf_branch_sample_type_shift = 5;
869pub const PERF_SAMPLE_BRANCH_IND_CALL_SHIFT: perf_branch_sample_type_shift = 6;
870pub const PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT: perf_branch_sample_type_shift = 7;
871pub const PERF_SAMPLE_BRANCH_IN_TX_SHIFT: perf_branch_sample_type_shift = 8;
872pub const PERF_SAMPLE_BRANCH_NO_TX_SHIFT: perf_branch_sample_type_shift = 9;
873pub const PERF_SAMPLE_BRANCH_COND_SHIFT: perf_branch_sample_type_shift = 10;
874pub const PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT: perf_branch_sample_type_shift = 11;
875pub const PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT: perf_branch_sample_type_shift = 12;
876pub const PERF_SAMPLE_BRANCH_CALL_SHIFT: perf_branch_sample_type_shift = 13;
877pub const PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT: perf_branch_sample_type_shift = 14;
878pub const PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT: perf_branch_sample_type_shift = 15;
879pub const PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT: perf_branch_sample_type_shift = 16;
880pub const PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT: perf_branch_sample_type_shift = 17;
881pub const PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT: perf_branch_sample_type_shift = 18;
882pub const PERF_SAMPLE_BRANCH_COUNTERS_SHIFT: perf_branch_sample_type_shift = 19;
883pub const PERF_SAMPLE_BRANCH_MAX_SHIFT: perf_branch_sample_type_shift = 20;
884pub type perf_branch_sample_type_shift = ::std::os::raw::c_uint;
885pub const PERF_SAMPLE_BRANCH_USER: perf_branch_sample_type = 1;
886pub const PERF_SAMPLE_BRANCH_KERNEL: perf_branch_sample_type = 2;
887pub const PERF_SAMPLE_BRANCH_HV: perf_branch_sample_type = 4;
888pub const PERF_SAMPLE_BRANCH_ANY: perf_branch_sample_type = 8;
889pub const PERF_SAMPLE_BRANCH_ANY_CALL: perf_branch_sample_type = 16;
890pub const PERF_SAMPLE_BRANCH_ANY_RETURN: perf_branch_sample_type = 32;
891pub const PERF_SAMPLE_BRANCH_IND_CALL: perf_branch_sample_type = 64;
892pub const PERF_SAMPLE_BRANCH_ABORT_TX: perf_branch_sample_type = 128;
893pub const PERF_SAMPLE_BRANCH_IN_TX: perf_branch_sample_type = 256;
894pub const PERF_SAMPLE_BRANCH_NO_TX: perf_branch_sample_type = 512;
895pub const PERF_SAMPLE_BRANCH_COND: perf_branch_sample_type = 1024;
896pub const PERF_SAMPLE_BRANCH_CALL_STACK: perf_branch_sample_type = 2048;
897pub const PERF_SAMPLE_BRANCH_IND_JUMP: perf_branch_sample_type = 4096;
898pub const PERF_SAMPLE_BRANCH_CALL: perf_branch_sample_type = 8192;
899pub const PERF_SAMPLE_BRANCH_NO_FLAGS: perf_branch_sample_type = 16384;
900pub const PERF_SAMPLE_BRANCH_NO_CYCLES: perf_branch_sample_type = 32768;
901pub const PERF_SAMPLE_BRANCH_TYPE_SAVE: perf_branch_sample_type = 65536;
902pub const PERF_SAMPLE_BRANCH_HW_INDEX: perf_branch_sample_type = 131072;
903pub const PERF_SAMPLE_BRANCH_PRIV_SAVE: perf_branch_sample_type = 262144;
904pub const PERF_SAMPLE_BRANCH_COUNTERS: perf_branch_sample_type = 524288;
905pub const PERF_SAMPLE_BRANCH_MAX: perf_branch_sample_type = 1048576;
906pub type perf_branch_sample_type = ::std::os::raw::c_uint;
907pub const PERF_BR_UNKNOWN: _bindgen_ty_1 = 0;
908pub const PERF_BR_COND: _bindgen_ty_1 = 1;
909pub const PERF_BR_UNCOND: _bindgen_ty_1 = 2;
910pub const PERF_BR_IND: _bindgen_ty_1 = 3;
911pub const PERF_BR_CALL: _bindgen_ty_1 = 4;
912pub const PERF_BR_IND_CALL: _bindgen_ty_1 = 5;
913pub const PERF_BR_RET: _bindgen_ty_1 = 6;
914pub const PERF_BR_SYSCALL: _bindgen_ty_1 = 7;
915pub const PERF_BR_SYSRET: _bindgen_ty_1 = 8;
916pub const PERF_BR_COND_CALL: _bindgen_ty_1 = 9;
917pub const PERF_BR_COND_RET: _bindgen_ty_1 = 10;
918pub const PERF_BR_ERET: _bindgen_ty_1 = 11;
919pub const PERF_BR_IRQ: _bindgen_ty_1 = 12;
920pub const PERF_BR_SERROR: _bindgen_ty_1 = 13;
921pub const PERF_BR_NO_TX: _bindgen_ty_1 = 14;
922pub const PERF_BR_EXTEND_ABI: _bindgen_ty_1 = 15;
923pub const PERF_BR_MAX: _bindgen_ty_1 = 16;
924pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
925pub const PERF_BR_SPEC_NA: _bindgen_ty_2 = 0;
926pub const PERF_BR_SPEC_WRONG_PATH: _bindgen_ty_2 = 1;
927pub const PERF_BR_NON_SPEC_CORRECT_PATH: _bindgen_ty_2 = 2;
928pub const PERF_BR_SPEC_CORRECT_PATH: _bindgen_ty_2 = 3;
929pub const PERF_BR_SPEC_MAX: _bindgen_ty_2 = 4;
930pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
931pub const PERF_BR_NEW_FAULT_ALGN: _bindgen_ty_3 = 0;
932pub const PERF_BR_NEW_FAULT_DATA: _bindgen_ty_3 = 1;
933pub const PERF_BR_NEW_FAULT_INST: _bindgen_ty_3 = 2;
934pub const PERF_BR_NEW_ARCH_1: _bindgen_ty_3 = 3;
935pub const PERF_BR_NEW_ARCH_2: _bindgen_ty_3 = 4;
936pub const PERF_BR_NEW_ARCH_3: _bindgen_ty_3 = 5;
937pub const PERF_BR_NEW_ARCH_4: _bindgen_ty_3 = 6;
938pub const PERF_BR_NEW_ARCH_5: _bindgen_ty_3 = 7;
939pub const PERF_BR_NEW_MAX: _bindgen_ty_3 = 8;
940pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
941pub const PERF_BR_PRIV_UNKNOWN: _bindgen_ty_4 = 0;
942pub const PERF_BR_PRIV_USER: _bindgen_ty_4 = 1;
943pub const PERF_BR_PRIV_KERNEL: _bindgen_ty_4 = 2;
944pub const PERF_BR_PRIV_HV: _bindgen_ty_4 = 3;
945pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
946pub const PERF_SAMPLE_REGS_ABI_NONE: perf_sample_regs_abi = 0;
947pub const PERF_SAMPLE_REGS_ABI_32: perf_sample_regs_abi = 1;
948pub const PERF_SAMPLE_REGS_ABI_64: perf_sample_regs_abi = 2;
949pub type perf_sample_regs_abi = ::std::os::raw::c_uint;
950pub const PERF_TXN_ELISION: _bindgen_ty_5 = 1;
951pub const PERF_TXN_TRANSACTION: _bindgen_ty_5 = 2;
952pub const PERF_TXN_SYNC: _bindgen_ty_5 = 4;
953pub const PERF_TXN_ASYNC: _bindgen_ty_5 = 8;
954pub const PERF_TXN_RETRY: _bindgen_ty_5 = 16;
955pub const PERF_TXN_CONFLICT: _bindgen_ty_5 = 32;
956pub const PERF_TXN_CAPACITY_WRITE: _bindgen_ty_5 = 64;
957pub const PERF_TXN_CAPACITY_READ: _bindgen_ty_5 = 128;
958pub const PERF_TXN_MAX: _bindgen_ty_5 = 256;
959pub const PERF_TXN_ABORT_MASK: _bindgen_ty_5 = 18446744069414584320;
960pub const PERF_TXN_ABORT_SHIFT: _bindgen_ty_5 = 32;
961pub type _bindgen_ty_5 = ::std::os::raw::c_ulong;
962pub const PERF_FORMAT_TOTAL_TIME_ENABLED: perf_event_read_format = 1;
963pub const PERF_FORMAT_TOTAL_TIME_RUNNING: perf_event_read_format = 2;
964pub const PERF_FORMAT_ID: perf_event_read_format = 4;
965pub const PERF_FORMAT_GROUP: perf_event_read_format = 8;
966pub const PERF_FORMAT_LOST: perf_event_read_format = 16;
967pub const PERF_FORMAT_MAX: perf_event_read_format = 32;
968pub type perf_event_read_format = ::std::os::raw::c_uint;
969#[repr(C)]
970#[derive(Copy, Clone)]
971pub struct perf_event_attr {
972    pub type_: __u32,
973    pub size: __u32,
974    pub config: __u64,
975    pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
976    pub sample_type: __u64,
977    pub read_format: __u64,
978    pub _bitfield_align_1: [u32; 0],
979    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
980    pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
981    pub bp_type: __u32,
982    pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
983    pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
984    pub branch_sample_type: __u64,
985    pub sample_regs_user: __u64,
986    pub sample_stack_user: __u32,
987    pub clockid: __s32,
988    pub sample_regs_intr: __u64,
989    pub aux_watermark: __u32,
990    pub sample_max_stack: __u16,
991    pub __reserved_2: __u16,
992    pub aux_sample_size: __u32,
993    pub __bindgen_anon_5: perf_event_attr__bindgen_ty_5,
994    pub sig_data: __u64,
995    pub config3: __u64,
996}
997#[repr(C)]
998#[derive(Copy, Clone)]
999pub union perf_event_attr__bindgen_ty_1 {
1000    pub sample_period: __u64,
1001    pub sample_freq: __u64,
1002}
1003#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1004const _: () = {
1005    ["Size of perf_event_attr__bindgen_ty_1"]
1006        [::std::mem::size_of::<perf_event_attr__bindgen_ty_1>() - 8usize];
1007    ["Alignment of perf_event_attr__bindgen_ty_1"]
1008        [::std::mem::align_of::<perf_event_attr__bindgen_ty_1>() - 8usize];
1009    ["Offset of field: perf_event_attr__bindgen_ty_1::sample_period"]
1010        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_1, sample_period) - 0usize];
1011    ["Offset of field: perf_event_attr__bindgen_ty_1::sample_freq"]
1012        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_1, sample_freq) - 0usize];
1013};
1014impl Default for perf_event_attr__bindgen_ty_1 {
1015    fn default() -> Self {
1016        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1017        unsafe {
1018            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1019            s.assume_init()
1020        }
1021    }
1022}
1023impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_1 {
1024    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1025        write!(f, "perf_event_attr__bindgen_ty_1 {{ union }}")
1026    }
1027}
1028#[repr(C)]
1029#[derive(Copy, Clone)]
1030pub union perf_event_attr__bindgen_ty_2 {
1031    pub wakeup_events: __u32,
1032    pub wakeup_watermark: __u32,
1033}
1034#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1035const _: () = {
1036    ["Size of perf_event_attr__bindgen_ty_2"]
1037        [::std::mem::size_of::<perf_event_attr__bindgen_ty_2>() - 4usize];
1038    ["Alignment of perf_event_attr__bindgen_ty_2"]
1039        [::std::mem::align_of::<perf_event_attr__bindgen_ty_2>() - 4usize];
1040    ["Offset of field: perf_event_attr__bindgen_ty_2::wakeup_events"]
1041        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_2, wakeup_events) - 0usize];
1042    ["Offset of field: perf_event_attr__bindgen_ty_2::wakeup_watermark"]
1043        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_2, wakeup_watermark) - 0usize];
1044};
1045impl Default for perf_event_attr__bindgen_ty_2 {
1046    fn default() -> Self {
1047        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1048        unsafe {
1049            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1050            s.assume_init()
1051        }
1052    }
1053}
1054impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_2 {
1055    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1056        write!(f, "perf_event_attr__bindgen_ty_2 {{ union }}")
1057    }
1058}
1059#[repr(C)]
1060#[derive(Copy, Clone)]
1061pub union perf_event_attr__bindgen_ty_3 {
1062    pub bp_addr: __u64,
1063    pub kprobe_func: __u64,
1064    pub uprobe_path: __u64,
1065    pub config1: __u64,
1066}
1067#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1068const _: () = {
1069    ["Size of perf_event_attr__bindgen_ty_3"]
1070        [::std::mem::size_of::<perf_event_attr__bindgen_ty_3>() - 8usize];
1071    ["Alignment of perf_event_attr__bindgen_ty_3"]
1072        [::std::mem::align_of::<perf_event_attr__bindgen_ty_3>() - 8usize];
1073    ["Offset of field: perf_event_attr__bindgen_ty_3::bp_addr"]
1074        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_3, bp_addr) - 0usize];
1075    ["Offset of field: perf_event_attr__bindgen_ty_3::kprobe_func"]
1076        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_3, kprobe_func) - 0usize];
1077    ["Offset of field: perf_event_attr__bindgen_ty_3::uprobe_path"]
1078        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_3, uprobe_path) - 0usize];
1079    ["Offset of field: perf_event_attr__bindgen_ty_3::config1"]
1080        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_3, config1) - 0usize];
1081};
1082impl Default for perf_event_attr__bindgen_ty_3 {
1083    fn default() -> Self {
1084        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1085        unsafe {
1086            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1087            s.assume_init()
1088        }
1089    }
1090}
1091impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_3 {
1092    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1093        write!(f, "perf_event_attr__bindgen_ty_3 {{ union }}")
1094    }
1095}
1096#[repr(C)]
1097#[derive(Copy, Clone)]
1098pub union perf_event_attr__bindgen_ty_4 {
1099    pub bp_len: __u64,
1100    pub kprobe_addr: __u64,
1101    pub probe_offset: __u64,
1102    pub config2: __u64,
1103}
1104#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1105const _: () = {
1106    ["Size of perf_event_attr__bindgen_ty_4"]
1107        [::std::mem::size_of::<perf_event_attr__bindgen_ty_4>() - 8usize];
1108    ["Alignment of perf_event_attr__bindgen_ty_4"]
1109        [::std::mem::align_of::<perf_event_attr__bindgen_ty_4>() - 8usize];
1110    ["Offset of field: perf_event_attr__bindgen_ty_4::bp_len"]
1111        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_4, bp_len) - 0usize];
1112    ["Offset of field: perf_event_attr__bindgen_ty_4::kprobe_addr"]
1113        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_4, kprobe_addr) - 0usize];
1114    ["Offset of field: perf_event_attr__bindgen_ty_4::probe_offset"]
1115        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_4, probe_offset) - 0usize];
1116    ["Offset of field: perf_event_attr__bindgen_ty_4::config2"]
1117        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_4, config2) - 0usize];
1118};
1119impl Default for perf_event_attr__bindgen_ty_4 {
1120    fn default() -> Self {
1121        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1122        unsafe {
1123            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1124            s.assume_init()
1125        }
1126    }
1127}
1128impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_4 {
1129    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1130        write!(f, "perf_event_attr__bindgen_ty_4 {{ union }}")
1131    }
1132}
1133#[repr(C)]
1134#[derive(Copy, Clone)]
1135pub union perf_event_attr__bindgen_ty_5 {
1136    pub aux_action: __u32,
1137    pub __bindgen_anon_1: perf_event_attr__bindgen_ty_5__bindgen_ty_1,
1138}
1139#[repr(C)]
1140#[derive(Debug, Default, Copy, Clone)]
1141pub struct perf_event_attr__bindgen_ty_5__bindgen_ty_1 {
1142    pub _bitfield_align_1: [u32; 0],
1143    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1144}
1145#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1146const _: () = {
1147    ["Size of perf_event_attr__bindgen_ty_5__bindgen_ty_1"]
1148        [::std::mem::size_of::<perf_event_attr__bindgen_ty_5__bindgen_ty_1>() - 4usize];
1149    ["Alignment of perf_event_attr__bindgen_ty_5__bindgen_ty_1"]
1150        [::std::mem::align_of::<perf_event_attr__bindgen_ty_5__bindgen_ty_1>() - 4usize];
1151};
1152impl perf_event_attr__bindgen_ty_5__bindgen_ty_1 {
1153    #[inline]
1154    pub fn aux_start_paused(&self) -> __u32 {
1155        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1156    }
1157    #[inline]
1158    pub fn set_aux_start_paused(&mut self, val: __u32) {
1159        unsafe {
1160            let val: u32 = ::std::mem::transmute(val);
1161            self._bitfield_1.set(0usize, 1u8, val as u64)
1162        }
1163    }
1164    #[inline]
1165    pub unsafe fn aux_start_paused_raw(this: *const Self) -> __u32 {
1166        unsafe {
1167            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
1168                ::std::ptr::addr_of!((*this)._bitfield_1),
1169                0usize,
1170                1u8,
1171            ) as u32)
1172        }
1173    }
1174    #[inline]
1175    pub unsafe fn set_aux_start_paused_raw(this: *mut Self, val: __u32) {
1176        unsafe {
1177            let val: u32 = ::std::mem::transmute(val);
1178            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
1179                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1180                0usize,
1181                1u8,
1182                val as u64,
1183            )
1184        }
1185    }
1186    #[inline]
1187    pub fn aux_pause(&self) -> __u32 {
1188        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
1189    }
1190    #[inline]
1191    pub fn set_aux_pause(&mut self, val: __u32) {
1192        unsafe {
1193            let val: u32 = ::std::mem::transmute(val);
1194            self._bitfield_1.set(1usize, 1u8, val as u64)
1195        }
1196    }
1197    #[inline]
1198    pub unsafe fn aux_pause_raw(this: *const Self) -> __u32 {
1199        unsafe {
1200            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
1201                ::std::ptr::addr_of!((*this)._bitfield_1),
1202                1usize,
1203                1u8,
1204            ) as u32)
1205        }
1206    }
1207    #[inline]
1208    pub unsafe fn set_aux_pause_raw(this: *mut Self, val: __u32) {
1209        unsafe {
1210            let val: u32 = ::std::mem::transmute(val);
1211            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
1212                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1213                1usize,
1214                1u8,
1215                val as u64,
1216            )
1217        }
1218    }
1219    #[inline]
1220    pub fn aux_resume(&self) -> __u32 {
1221        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
1222    }
1223    #[inline]
1224    pub fn set_aux_resume(&mut self, val: __u32) {
1225        unsafe {
1226            let val: u32 = ::std::mem::transmute(val);
1227            self._bitfield_1.set(2usize, 1u8, val as u64)
1228        }
1229    }
1230    #[inline]
1231    pub unsafe fn aux_resume_raw(this: *const Self) -> __u32 {
1232        unsafe {
1233            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
1234                ::std::ptr::addr_of!((*this)._bitfield_1),
1235                2usize,
1236                1u8,
1237            ) as u32)
1238        }
1239    }
1240    #[inline]
1241    pub unsafe fn set_aux_resume_raw(this: *mut Self, val: __u32) {
1242        unsafe {
1243            let val: u32 = ::std::mem::transmute(val);
1244            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
1245                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1246                2usize,
1247                1u8,
1248                val as u64,
1249            )
1250        }
1251    }
1252    #[inline]
1253    pub fn __reserved_3(&self) -> __u32 {
1254        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
1255    }
1256    #[inline]
1257    pub fn set___reserved_3(&mut self, val: __u32) {
1258        unsafe {
1259            let val: u32 = ::std::mem::transmute(val);
1260            self._bitfield_1.set(3usize, 29u8, val as u64)
1261        }
1262    }
1263    #[inline]
1264    pub unsafe fn __reserved_3_raw(this: *const Self) -> __u32 {
1265        unsafe {
1266            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
1267                ::std::ptr::addr_of!((*this)._bitfield_1),
1268                3usize,
1269                29u8,
1270            ) as u32)
1271        }
1272    }
1273    #[inline]
1274    pub unsafe fn set___reserved_3_raw(this: *mut Self, val: __u32) {
1275        unsafe {
1276            let val: u32 = ::std::mem::transmute(val);
1277            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
1278                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1279                3usize,
1280                29u8,
1281                val as u64,
1282            )
1283        }
1284    }
1285    #[inline]
1286    pub fn new_bitfield_1(
1287        aux_start_paused: __u32,
1288        aux_pause: __u32,
1289        aux_resume: __u32,
1290        __reserved_3: __u32,
1291    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1292        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1293        __bindgen_bitfield_unit.set(0usize, 1u8, {
1294            let aux_start_paused: u32 = unsafe { ::std::mem::transmute(aux_start_paused) };
1295            aux_start_paused as u64
1296        });
1297        __bindgen_bitfield_unit.set(1usize, 1u8, {
1298            let aux_pause: u32 = unsafe { ::std::mem::transmute(aux_pause) };
1299            aux_pause as u64
1300        });
1301        __bindgen_bitfield_unit.set(2usize, 1u8, {
1302            let aux_resume: u32 = unsafe { ::std::mem::transmute(aux_resume) };
1303            aux_resume as u64
1304        });
1305        __bindgen_bitfield_unit.set(3usize, 29u8, {
1306            let __reserved_3: u32 = unsafe { ::std::mem::transmute(__reserved_3) };
1307            __reserved_3 as u64
1308        });
1309        __bindgen_bitfield_unit
1310    }
1311}
1312#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1313const _: () = {
1314    ["Size of perf_event_attr__bindgen_ty_5"]
1315        [::std::mem::size_of::<perf_event_attr__bindgen_ty_5>() - 4usize];
1316    ["Alignment of perf_event_attr__bindgen_ty_5"]
1317        [::std::mem::align_of::<perf_event_attr__bindgen_ty_5>() - 4usize];
1318    ["Offset of field: perf_event_attr__bindgen_ty_5::aux_action"]
1319        [::std::mem::offset_of!(perf_event_attr__bindgen_ty_5, aux_action) - 0usize];
1320};
1321impl Default for perf_event_attr__bindgen_ty_5 {
1322    fn default() -> Self {
1323        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1324        unsafe {
1325            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1326            s.assume_init()
1327        }
1328    }
1329}
1330impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_5 {
1331    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1332        write!(f, "perf_event_attr__bindgen_ty_5 {{ union }}")
1333    }
1334}
1335#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1336const _: () = {
1337    ["Size of perf_event_attr"][::std::mem::size_of::<perf_event_attr>() - 136usize];
1338    ["Alignment of perf_event_attr"][::std::mem::align_of::<perf_event_attr>() - 8usize];
1339    ["Offset of field: perf_event_attr::type_"]
1340        [::std::mem::offset_of!(perf_event_attr, type_) - 0usize];
1341    ["Offset of field: perf_event_attr::size"]
1342        [::std::mem::offset_of!(perf_event_attr, size) - 4usize];
1343    ["Offset of field: perf_event_attr::config"]
1344        [::std::mem::offset_of!(perf_event_attr, config) - 8usize];
1345    ["Offset of field: perf_event_attr::sample_type"]
1346        [::std::mem::offset_of!(perf_event_attr, sample_type) - 24usize];
1347    ["Offset of field: perf_event_attr::read_format"]
1348        [::std::mem::offset_of!(perf_event_attr, read_format) - 32usize];
1349    ["Offset of field: perf_event_attr::bp_type"]
1350        [::std::mem::offset_of!(perf_event_attr, bp_type) - 52usize];
1351    ["Offset of field: perf_event_attr::branch_sample_type"]
1352        [::std::mem::offset_of!(perf_event_attr, branch_sample_type) - 72usize];
1353    ["Offset of field: perf_event_attr::sample_regs_user"]
1354        [::std::mem::offset_of!(perf_event_attr, sample_regs_user) - 80usize];
1355    ["Offset of field: perf_event_attr::sample_stack_user"]
1356        [::std::mem::offset_of!(perf_event_attr, sample_stack_user) - 88usize];
1357    ["Offset of field: perf_event_attr::clockid"]
1358        [::std::mem::offset_of!(perf_event_attr, clockid) - 92usize];
1359    ["Offset of field: perf_event_attr::sample_regs_intr"]
1360        [::std::mem::offset_of!(perf_event_attr, sample_regs_intr) - 96usize];
1361    ["Offset of field: perf_event_attr::aux_watermark"]
1362        [::std::mem::offset_of!(perf_event_attr, aux_watermark) - 104usize];
1363    ["Offset of field: perf_event_attr::sample_max_stack"]
1364        [::std::mem::offset_of!(perf_event_attr, sample_max_stack) - 108usize];
1365    ["Offset of field: perf_event_attr::__reserved_2"]
1366        [::std::mem::offset_of!(perf_event_attr, __reserved_2) - 110usize];
1367    ["Offset of field: perf_event_attr::aux_sample_size"]
1368        [::std::mem::offset_of!(perf_event_attr, aux_sample_size) - 112usize];
1369    ["Offset of field: perf_event_attr::sig_data"]
1370        [::std::mem::offset_of!(perf_event_attr, sig_data) - 120usize];
1371    ["Offset of field: perf_event_attr::config3"]
1372        [::std::mem::offset_of!(perf_event_attr, config3) - 128usize];
1373};
1374impl Default for perf_event_attr {
1375    fn default() -> Self {
1376        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1377        unsafe {
1378            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1379            s.assume_init()
1380        }
1381    }
1382}
1383impl ::std::fmt::Debug for perf_event_attr {
1384    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1385        write ! (f , "perf_event_attr {{ type: {:?}, size: {:?}, config: {:?}, __bindgen_anon_1: {:?}, sample_type: {:?}, read_format: {:?}, disabled : {:?}, inherit : {:?}, pinned : {:?}, exclusive : {:?}, exclude_user : {:?}, exclude_kernel : {:?}, exclude_hv : {:?}, exclude_idle : {:?}, mmap : {:?}, comm : {:?}, freq : {:?}, inherit_stat : {:?}, enable_on_exec : {:?}, task : {:?}, watermark : {:?}, precise_ip : {:?}, mmap_data : {:?}, sample_id_all : {:?}, exclude_host : {:?}, exclude_guest : {:?}, exclude_callchain_kernel : {:?}, exclude_callchain_user : {:?}, mmap2 : {:?}, comm_exec : {:?}, use_clockid : {:?}, context_switch : {:?}, write_backward : {:?}, namespaces : {:?}, ksymbol : {:?}, bpf_event : {:?}, aux_output : {:?}, cgroup : {:?}, text_poke : {:?}, build_id : {:?}, inherit_thread : {:?}, remove_on_exec : {:?}, sigtrap : {:?}, __reserved_1 : {:?}, __bindgen_anon_2: {:?}, bp_type: {:?}, __bindgen_anon_3: {:?}, __bindgen_anon_4: {:?}, branch_sample_type: {:?}, sample_regs_user: {:?}, sample_stack_user: {:?}, clockid: {:?}, sample_regs_intr: {:?}, aux_watermark: {:?}, sample_max_stack: {:?}, __reserved_2: {:?}, aux_sample_size: {:?}, __bindgen_anon_5: {:?}, sig_data: {:?}, config3: {:?} }}" , self . type_ , self . size , self . config , self . __bindgen_anon_1 , self . sample_type , self . read_format , self . disabled () , self . inherit () , self . pinned () , self . exclusive () , self . exclude_user () , self . exclude_kernel () , self . exclude_hv () , self . exclude_idle () , self . mmap () , self . comm () , self . freq () , self . inherit_stat () , self . enable_on_exec () , self . task () , self . watermark () , self . precise_ip () , self . mmap_data () , self . sample_id_all () , self . exclude_host () , self . exclude_guest () , self . exclude_callchain_kernel () , self . exclude_callchain_user () , self . mmap2 () , self . comm_exec () , self . use_clockid () , self . context_switch () , self . write_backward () , self . namespaces () , self . ksymbol () , self . bpf_event () , self . aux_output () , self . cgroup () , self . text_poke () , self . build_id () , self . inherit_thread () , self . remove_on_exec () , self . sigtrap () , self . __reserved_1 () , self . __bindgen_anon_2 , self . bp_type , self . __bindgen_anon_3 , self . __bindgen_anon_4 , self . branch_sample_type , self . sample_regs_user , self . sample_stack_user , self . clockid , self . sample_regs_intr , self . aux_watermark , self . sample_max_stack , self . __reserved_2 , self . aux_sample_size , self . __bindgen_anon_5 , self . sig_data , self . config3)
1386    }
1387}
1388impl perf_event_attr {
1389    #[inline]
1390    pub fn disabled(&self) -> __u64 {
1391        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
1392    }
1393    #[inline]
1394    pub fn set_disabled(&mut self, val: __u64) {
1395        unsafe {
1396            let val: u64 = ::std::mem::transmute(val);
1397            self._bitfield_1.set(0usize, 1u8, val as u64)
1398        }
1399    }
1400    #[inline]
1401    pub unsafe fn disabled_raw(this: *const Self) -> __u64 {
1402        unsafe {
1403            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1404                ::std::ptr::addr_of!((*this)._bitfield_1),
1405                0usize,
1406                1u8,
1407            ) as u64)
1408        }
1409    }
1410    #[inline]
1411    pub unsafe fn set_disabled_raw(this: *mut Self, val: __u64) {
1412        unsafe {
1413            let val: u64 = ::std::mem::transmute(val);
1414            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1415                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1416                0usize,
1417                1u8,
1418                val as u64,
1419            )
1420        }
1421    }
1422    #[inline]
1423    pub fn inherit(&self) -> __u64 {
1424        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
1425    }
1426    #[inline]
1427    pub fn set_inherit(&mut self, val: __u64) {
1428        unsafe {
1429            let val: u64 = ::std::mem::transmute(val);
1430            self._bitfield_1.set(1usize, 1u8, val as u64)
1431        }
1432    }
1433    #[inline]
1434    pub unsafe fn inherit_raw(this: *const Self) -> __u64 {
1435        unsafe {
1436            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1437                ::std::ptr::addr_of!((*this)._bitfield_1),
1438                1usize,
1439                1u8,
1440            ) as u64)
1441        }
1442    }
1443    #[inline]
1444    pub unsafe fn set_inherit_raw(this: *mut Self, val: __u64) {
1445        unsafe {
1446            let val: u64 = ::std::mem::transmute(val);
1447            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1448                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1449                1usize,
1450                1u8,
1451                val as u64,
1452            )
1453        }
1454    }
1455    #[inline]
1456    pub fn pinned(&self) -> __u64 {
1457        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
1458    }
1459    #[inline]
1460    pub fn set_pinned(&mut self, val: __u64) {
1461        unsafe {
1462            let val: u64 = ::std::mem::transmute(val);
1463            self._bitfield_1.set(2usize, 1u8, val as u64)
1464        }
1465    }
1466    #[inline]
1467    pub unsafe fn pinned_raw(this: *const Self) -> __u64 {
1468        unsafe {
1469            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1470                ::std::ptr::addr_of!((*this)._bitfield_1),
1471                2usize,
1472                1u8,
1473            ) as u64)
1474        }
1475    }
1476    #[inline]
1477    pub unsafe fn set_pinned_raw(this: *mut Self, val: __u64) {
1478        unsafe {
1479            let val: u64 = ::std::mem::transmute(val);
1480            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1481                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1482                2usize,
1483                1u8,
1484                val as u64,
1485            )
1486        }
1487    }
1488    #[inline]
1489    pub fn exclusive(&self) -> __u64 {
1490        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
1491    }
1492    #[inline]
1493    pub fn set_exclusive(&mut self, val: __u64) {
1494        unsafe {
1495            let val: u64 = ::std::mem::transmute(val);
1496            self._bitfield_1.set(3usize, 1u8, val as u64)
1497        }
1498    }
1499    #[inline]
1500    pub unsafe fn exclusive_raw(this: *const Self) -> __u64 {
1501        unsafe {
1502            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1503                ::std::ptr::addr_of!((*this)._bitfield_1),
1504                3usize,
1505                1u8,
1506            ) as u64)
1507        }
1508    }
1509    #[inline]
1510    pub unsafe fn set_exclusive_raw(this: *mut Self, val: __u64) {
1511        unsafe {
1512            let val: u64 = ::std::mem::transmute(val);
1513            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1514                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1515                3usize,
1516                1u8,
1517                val as u64,
1518            )
1519        }
1520    }
1521    #[inline]
1522    pub fn exclude_user(&self) -> __u64 {
1523        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
1524    }
1525    #[inline]
1526    pub fn set_exclude_user(&mut self, val: __u64) {
1527        unsafe {
1528            let val: u64 = ::std::mem::transmute(val);
1529            self._bitfield_1.set(4usize, 1u8, val as u64)
1530        }
1531    }
1532    #[inline]
1533    pub unsafe fn exclude_user_raw(this: *const Self) -> __u64 {
1534        unsafe {
1535            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1536                ::std::ptr::addr_of!((*this)._bitfield_1),
1537                4usize,
1538                1u8,
1539            ) as u64)
1540        }
1541    }
1542    #[inline]
1543    pub unsafe fn set_exclude_user_raw(this: *mut Self, val: __u64) {
1544        unsafe {
1545            let val: u64 = ::std::mem::transmute(val);
1546            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1547                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1548                4usize,
1549                1u8,
1550                val as u64,
1551            )
1552        }
1553    }
1554    #[inline]
1555    pub fn exclude_kernel(&self) -> __u64 {
1556        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
1557    }
1558    #[inline]
1559    pub fn set_exclude_kernel(&mut self, val: __u64) {
1560        unsafe {
1561            let val: u64 = ::std::mem::transmute(val);
1562            self._bitfield_1.set(5usize, 1u8, val as u64)
1563        }
1564    }
1565    #[inline]
1566    pub unsafe fn exclude_kernel_raw(this: *const Self) -> __u64 {
1567        unsafe {
1568            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1569                ::std::ptr::addr_of!((*this)._bitfield_1),
1570                5usize,
1571                1u8,
1572            ) as u64)
1573        }
1574    }
1575    #[inline]
1576    pub unsafe fn set_exclude_kernel_raw(this: *mut Self, val: __u64) {
1577        unsafe {
1578            let val: u64 = ::std::mem::transmute(val);
1579            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1580                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1581                5usize,
1582                1u8,
1583                val as u64,
1584            )
1585        }
1586    }
1587    #[inline]
1588    pub fn exclude_hv(&self) -> __u64 {
1589        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
1590    }
1591    #[inline]
1592    pub fn set_exclude_hv(&mut self, val: __u64) {
1593        unsafe {
1594            let val: u64 = ::std::mem::transmute(val);
1595            self._bitfield_1.set(6usize, 1u8, val as u64)
1596        }
1597    }
1598    #[inline]
1599    pub unsafe fn exclude_hv_raw(this: *const Self) -> __u64 {
1600        unsafe {
1601            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1602                ::std::ptr::addr_of!((*this)._bitfield_1),
1603                6usize,
1604                1u8,
1605            ) as u64)
1606        }
1607    }
1608    #[inline]
1609    pub unsafe fn set_exclude_hv_raw(this: *mut Self, val: __u64) {
1610        unsafe {
1611            let val: u64 = ::std::mem::transmute(val);
1612            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1613                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1614                6usize,
1615                1u8,
1616                val as u64,
1617            )
1618        }
1619    }
1620    #[inline]
1621    pub fn exclude_idle(&self) -> __u64 {
1622        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
1623    }
1624    #[inline]
1625    pub fn set_exclude_idle(&mut self, val: __u64) {
1626        unsafe {
1627            let val: u64 = ::std::mem::transmute(val);
1628            self._bitfield_1.set(7usize, 1u8, val as u64)
1629        }
1630    }
1631    #[inline]
1632    pub unsafe fn exclude_idle_raw(this: *const Self) -> __u64 {
1633        unsafe {
1634            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1635                ::std::ptr::addr_of!((*this)._bitfield_1),
1636                7usize,
1637                1u8,
1638            ) as u64)
1639        }
1640    }
1641    #[inline]
1642    pub unsafe fn set_exclude_idle_raw(this: *mut Self, val: __u64) {
1643        unsafe {
1644            let val: u64 = ::std::mem::transmute(val);
1645            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1646                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1647                7usize,
1648                1u8,
1649                val as u64,
1650            )
1651        }
1652    }
1653    #[inline]
1654    pub fn mmap(&self) -> __u64 {
1655        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
1656    }
1657    #[inline]
1658    pub fn set_mmap(&mut self, val: __u64) {
1659        unsafe {
1660            let val: u64 = ::std::mem::transmute(val);
1661            self._bitfield_1.set(8usize, 1u8, val as u64)
1662        }
1663    }
1664    #[inline]
1665    pub unsafe fn mmap_raw(this: *const Self) -> __u64 {
1666        unsafe {
1667            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1668                ::std::ptr::addr_of!((*this)._bitfield_1),
1669                8usize,
1670                1u8,
1671            ) as u64)
1672        }
1673    }
1674    #[inline]
1675    pub unsafe fn set_mmap_raw(this: *mut Self, val: __u64) {
1676        unsafe {
1677            let val: u64 = ::std::mem::transmute(val);
1678            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1679                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1680                8usize,
1681                1u8,
1682                val as u64,
1683            )
1684        }
1685    }
1686    #[inline]
1687    pub fn comm(&self) -> __u64 {
1688        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
1689    }
1690    #[inline]
1691    pub fn set_comm(&mut self, val: __u64) {
1692        unsafe {
1693            let val: u64 = ::std::mem::transmute(val);
1694            self._bitfield_1.set(9usize, 1u8, val as u64)
1695        }
1696    }
1697    #[inline]
1698    pub unsafe fn comm_raw(this: *const Self) -> __u64 {
1699        unsafe {
1700            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1701                ::std::ptr::addr_of!((*this)._bitfield_1),
1702                9usize,
1703                1u8,
1704            ) as u64)
1705        }
1706    }
1707    #[inline]
1708    pub unsafe fn set_comm_raw(this: *mut Self, val: __u64) {
1709        unsafe {
1710            let val: u64 = ::std::mem::transmute(val);
1711            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1712                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1713                9usize,
1714                1u8,
1715                val as u64,
1716            )
1717        }
1718    }
1719    #[inline]
1720    pub fn freq(&self) -> __u64 {
1721        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
1722    }
1723    #[inline]
1724    pub fn set_freq(&mut self, val: __u64) {
1725        unsafe {
1726            let val: u64 = ::std::mem::transmute(val);
1727            self._bitfield_1.set(10usize, 1u8, val as u64)
1728        }
1729    }
1730    #[inline]
1731    pub unsafe fn freq_raw(this: *const Self) -> __u64 {
1732        unsafe {
1733            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1734                ::std::ptr::addr_of!((*this)._bitfield_1),
1735                10usize,
1736                1u8,
1737            ) as u64)
1738        }
1739    }
1740    #[inline]
1741    pub unsafe fn set_freq_raw(this: *mut Self, val: __u64) {
1742        unsafe {
1743            let val: u64 = ::std::mem::transmute(val);
1744            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1745                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1746                10usize,
1747                1u8,
1748                val as u64,
1749            )
1750        }
1751    }
1752    #[inline]
1753    pub fn inherit_stat(&self) -> __u64 {
1754        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
1755    }
1756    #[inline]
1757    pub fn set_inherit_stat(&mut self, val: __u64) {
1758        unsafe {
1759            let val: u64 = ::std::mem::transmute(val);
1760            self._bitfield_1.set(11usize, 1u8, val as u64)
1761        }
1762    }
1763    #[inline]
1764    pub unsafe fn inherit_stat_raw(this: *const Self) -> __u64 {
1765        unsafe {
1766            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1767                ::std::ptr::addr_of!((*this)._bitfield_1),
1768                11usize,
1769                1u8,
1770            ) as u64)
1771        }
1772    }
1773    #[inline]
1774    pub unsafe fn set_inherit_stat_raw(this: *mut Self, val: __u64) {
1775        unsafe {
1776            let val: u64 = ::std::mem::transmute(val);
1777            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1778                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1779                11usize,
1780                1u8,
1781                val as u64,
1782            )
1783        }
1784    }
1785    #[inline]
1786    pub fn enable_on_exec(&self) -> __u64 {
1787        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
1788    }
1789    #[inline]
1790    pub fn set_enable_on_exec(&mut self, val: __u64) {
1791        unsafe {
1792            let val: u64 = ::std::mem::transmute(val);
1793            self._bitfield_1.set(12usize, 1u8, val as u64)
1794        }
1795    }
1796    #[inline]
1797    pub unsafe fn enable_on_exec_raw(this: *const Self) -> __u64 {
1798        unsafe {
1799            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1800                ::std::ptr::addr_of!((*this)._bitfield_1),
1801                12usize,
1802                1u8,
1803            ) as u64)
1804        }
1805    }
1806    #[inline]
1807    pub unsafe fn set_enable_on_exec_raw(this: *mut Self, val: __u64) {
1808        unsafe {
1809            let val: u64 = ::std::mem::transmute(val);
1810            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1811                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1812                12usize,
1813                1u8,
1814                val as u64,
1815            )
1816        }
1817    }
1818    #[inline]
1819    pub fn task(&self) -> __u64 {
1820        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
1821    }
1822    #[inline]
1823    pub fn set_task(&mut self, val: __u64) {
1824        unsafe {
1825            let val: u64 = ::std::mem::transmute(val);
1826            self._bitfield_1.set(13usize, 1u8, val as u64)
1827        }
1828    }
1829    #[inline]
1830    pub unsafe fn task_raw(this: *const Self) -> __u64 {
1831        unsafe {
1832            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1833                ::std::ptr::addr_of!((*this)._bitfield_1),
1834                13usize,
1835                1u8,
1836            ) as u64)
1837        }
1838    }
1839    #[inline]
1840    pub unsafe fn set_task_raw(this: *mut Self, val: __u64) {
1841        unsafe {
1842            let val: u64 = ::std::mem::transmute(val);
1843            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1844                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1845                13usize,
1846                1u8,
1847                val as u64,
1848            )
1849        }
1850    }
1851    #[inline]
1852    pub fn watermark(&self) -> __u64 {
1853        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
1854    }
1855    #[inline]
1856    pub fn set_watermark(&mut self, val: __u64) {
1857        unsafe {
1858            let val: u64 = ::std::mem::transmute(val);
1859            self._bitfield_1.set(14usize, 1u8, val as u64)
1860        }
1861    }
1862    #[inline]
1863    pub unsafe fn watermark_raw(this: *const Self) -> __u64 {
1864        unsafe {
1865            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1866                ::std::ptr::addr_of!((*this)._bitfield_1),
1867                14usize,
1868                1u8,
1869            ) as u64)
1870        }
1871    }
1872    #[inline]
1873    pub unsafe fn set_watermark_raw(this: *mut Self, val: __u64) {
1874        unsafe {
1875            let val: u64 = ::std::mem::transmute(val);
1876            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1877                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1878                14usize,
1879                1u8,
1880                val as u64,
1881            )
1882        }
1883    }
1884    #[inline]
1885    pub fn precise_ip(&self) -> __u64 {
1886        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
1887    }
1888    #[inline]
1889    pub fn set_precise_ip(&mut self, val: __u64) {
1890        unsafe {
1891            let val: u64 = ::std::mem::transmute(val);
1892            self._bitfield_1.set(15usize, 2u8, val as u64)
1893        }
1894    }
1895    #[inline]
1896    pub unsafe fn precise_ip_raw(this: *const Self) -> __u64 {
1897        unsafe {
1898            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1899                ::std::ptr::addr_of!((*this)._bitfield_1),
1900                15usize,
1901                2u8,
1902            ) as u64)
1903        }
1904    }
1905    #[inline]
1906    pub unsafe fn set_precise_ip_raw(this: *mut Self, val: __u64) {
1907        unsafe {
1908            let val: u64 = ::std::mem::transmute(val);
1909            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1910                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1911                15usize,
1912                2u8,
1913                val as u64,
1914            )
1915        }
1916    }
1917    #[inline]
1918    pub fn mmap_data(&self) -> __u64 {
1919        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
1920    }
1921    #[inline]
1922    pub fn set_mmap_data(&mut self, val: __u64) {
1923        unsafe {
1924            let val: u64 = ::std::mem::transmute(val);
1925            self._bitfield_1.set(17usize, 1u8, val as u64)
1926        }
1927    }
1928    #[inline]
1929    pub unsafe fn mmap_data_raw(this: *const Self) -> __u64 {
1930        unsafe {
1931            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1932                ::std::ptr::addr_of!((*this)._bitfield_1),
1933                17usize,
1934                1u8,
1935            ) as u64)
1936        }
1937    }
1938    #[inline]
1939    pub unsafe fn set_mmap_data_raw(this: *mut Self, val: __u64) {
1940        unsafe {
1941            let val: u64 = ::std::mem::transmute(val);
1942            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1943                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1944                17usize,
1945                1u8,
1946                val as u64,
1947            )
1948        }
1949    }
1950    #[inline]
1951    pub fn sample_id_all(&self) -> __u64 {
1952        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
1953    }
1954    #[inline]
1955    pub fn set_sample_id_all(&mut self, val: __u64) {
1956        unsafe {
1957            let val: u64 = ::std::mem::transmute(val);
1958            self._bitfield_1.set(18usize, 1u8, val as u64)
1959        }
1960    }
1961    #[inline]
1962    pub unsafe fn sample_id_all_raw(this: *const Self) -> __u64 {
1963        unsafe {
1964            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1965                ::std::ptr::addr_of!((*this)._bitfield_1),
1966                18usize,
1967                1u8,
1968            ) as u64)
1969        }
1970    }
1971    #[inline]
1972    pub unsafe fn set_sample_id_all_raw(this: *mut Self, val: __u64) {
1973        unsafe {
1974            let val: u64 = ::std::mem::transmute(val);
1975            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1976                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1977                18usize,
1978                1u8,
1979                val as u64,
1980            )
1981        }
1982    }
1983    #[inline]
1984    pub fn exclude_host(&self) -> __u64 {
1985        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
1986    }
1987    #[inline]
1988    pub fn set_exclude_host(&mut self, val: __u64) {
1989        unsafe {
1990            let val: u64 = ::std::mem::transmute(val);
1991            self._bitfield_1.set(19usize, 1u8, val as u64)
1992        }
1993    }
1994    #[inline]
1995    pub unsafe fn exclude_host_raw(this: *const Self) -> __u64 {
1996        unsafe {
1997            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1998                ::std::ptr::addr_of!((*this)._bitfield_1),
1999                19usize,
2000                1u8,
2001            ) as u64)
2002        }
2003    }
2004    #[inline]
2005    pub unsafe fn set_exclude_host_raw(this: *mut Self, val: __u64) {
2006        unsafe {
2007            let val: u64 = ::std::mem::transmute(val);
2008            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2009                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2010                19usize,
2011                1u8,
2012                val as u64,
2013            )
2014        }
2015    }
2016    #[inline]
2017    pub fn exclude_guest(&self) -> __u64 {
2018        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
2019    }
2020    #[inline]
2021    pub fn set_exclude_guest(&mut self, val: __u64) {
2022        unsafe {
2023            let val: u64 = ::std::mem::transmute(val);
2024            self._bitfield_1.set(20usize, 1u8, val as u64)
2025        }
2026    }
2027    #[inline]
2028    pub unsafe fn exclude_guest_raw(this: *const Self) -> __u64 {
2029        unsafe {
2030            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2031                ::std::ptr::addr_of!((*this)._bitfield_1),
2032                20usize,
2033                1u8,
2034            ) as u64)
2035        }
2036    }
2037    #[inline]
2038    pub unsafe fn set_exclude_guest_raw(this: *mut Self, val: __u64) {
2039        unsafe {
2040            let val: u64 = ::std::mem::transmute(val);
2041            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2042                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2043                20usize,
2044                1u8,
2045                val as u64,
2046            )
2047        }
2048    }
2049    #[inline]
2050    pub fn exclude_callchain_kernel(&self) -> __u64 {
2051        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
2052    }
2053    #[inline]
2054    pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
2055        unsafe {
2056            let val: u64 = ::std::mem::transmute(val);
2057            self._bitfield_1.set(21usize, 1u8, val as u64)
2058        }
2059    }
2060    #[inline]
2061    pub unsafe fn exclude_callchain_kernel_raw(this: *const Self) -> __u64 {
2062        unsafe {
2063            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2064                ::std::ptr::addr_of!((*this)._bitfield_1),
2065                21usize,
2066                1u8,
2067            ) as u64)
2068        }
2069    }
2070    #[inline]
2071    pub unsafe fn set_exclude_callchain_kernel_raw(this: *mut Self, val: __u64) {
2072        unsafe {
2073            let val: u64 = ::std::mem::transmute(val);
2074            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2075                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2076                21usize,
2077                1u8,
2078                val as u64,
2079            )
2080        }
2081    }
2082    #[inline]
2083    pub fn exclude_callchain_user(&self) -> __u64 {
2084        unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
2085    }
2086    #[inline]
2087    pub fn set_exclude_callchain_user(&mut self, val: __u64) {
2088        unsafe {
2089            let val: u64 = ::std::mem::transmute(val);
2090            self._bitfield_1.set(22usize, 1u8, val as u64)
2091        }
2092    }
2093    #[inline]
2094    pub unsafe fn exclude_callchain_user_raw(this: *const Self) -> __u64 {
2095        unsafe {
2096            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2097                ::std::ptr::addr_of!((*this)._bitfield_1),
2098                22usize,
2099                1u8,
2100            ) as u64)
2101        }
2102    }
2103    #[inline]
2104    pub unsafe fn set_exclude_callchain_user_raw(this: *mut Self, val: __u64) {
2105        unsafe {
2106            let val: u64 = ::std::mem::transmute(val);
2107            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2108                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2109                22usize,
2110                1u8,
2111                val as u64,
2112            )
2113        }
2114    }
2115    #[inline]
2116    pub fn mmap2(&self) -> __u64 {
2117        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
2118    }
2119    #[inline]
2120    pub fn set_mmap2(&mut self, val: __u64) {
2121        unsafe {
2122            let val: u64 = ::std::mem::transmute(val);
2123            self._bitfield_1.set(23usize, 1u8, val as u64)
2124        }
2125    }
2126    #[inline]
2127    pub unsafe fn mmap2_raw(this: *const Self) -> __u64 {
2128        unsafe {
2129            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2130                ::std::ptr::addr_of!((*this)._bitfield_1),
2131                23usize,
2132                1u8,
2133            ) as u64)
2134        }
2135    }
2136    #[inline]
2137    pub unsafe fn set_mmap2_raw(this: *mut Self, val: __u64) {
2138        unsafe {
2139            let val: u64 = ::std::mem::transmute(val);
2140            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2141                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2142                23usize,
2143                1u8,
2144                val as u64,
2145            )
2146        }
2147    }
2148    #[inline]
2149    pub fn comm_exec(&self) -> __u64 {
2150        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
2151    }
2152    #[inline]
2153    pub fn set_comm_exec(&mut self, val: __u64) {
2154        unsafe {
2155            let val: u64 = ::std::mem::transmute(val);
2156            self._bitfield_1.set(24usize, 1u8, val as u64)
2157        }
2158    }
2159    #[inline]
2160    pub unsafe fn comm_exec_raw(this: *const Self) -> __u64 {
2161        unsafe {
2162            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2163                ::std::ptr::addr_of!((*this)._bitfield_1),
2164                24usize,
2165                1u8,
2166            ) as u64)
2167        }
2168    }
2169    #[inline]
2170    pub unsafe fn set_comm_exec_raw(this: *mut Self, val: __u64) {
2171        unsafe {
2172            let val: u64 = ::std::mem::transmute(val);
2173            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2174                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2175                24usize,
2176                1u8,
2177                val as u64,
2178            )
2179        }
2180    }
2181    #[inline]
2182    pub fn use_clockid(&self) -> __u64 {
2183        unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
2184    }
2185    #[inline]
2186    pub fn set_use_clockid(&mut self, val: __u64) {
2187        unsafe {
2188            let val: u64 = ::std::mem::transmute(val);
2189            self._bitfield_1.set(25usize, 1u8, val as u64)
2190        }
2191    }
2192    #[inline]
2193    pub unsafe fn use_clockid_raw(this: *const Self) -> __u64 {
2194        unsafe {
2195            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2196                ::std::ptr::addr_of!((*this)._bitfield_1),
2197                25usize,
2198                1u8,
2199            ) as u64)
2200        }
2201    }
2202    #[inline]
2203    pub unsafe fn set_use_clockid_raw(this: *mut Self, val: __u64) {
2204        unsafe {
2205            let val: u64 = ::std::mem::transmute(val);
2206            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2207                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2208                25usize,
2209                1u8,
2210                val as u64,
2211            )
2212        }
2213    }
2214    #[inline]
2215    pub fn context_switch(&self) -> __u64 {
2216        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
2217    }
2218    #[inline]
2219    pub fn set_context_switch(&mut self, val: __u64) {
2220        unsafe {
2221            let val: u64 = ::std::mem::transmute(val);
2222            self._bitfield_1.set(26usize, 1u8, val as u64)
2223        }
2224    }
2225    #[inline]
2226    pub unsafe fn context_switch_raw(this: *const Self) -> __u64 {
2227        unsafe {
2228            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2229                ::std::ptr::addr_of!((*this)._bitfield_1),
2230                26usize,
2231                1u8,
2232            ) as u64)
2233        }
2234    }
2235    #[inline]
2236    pub unsafe fn set_context_switch_raw(this: *mut Self, val: __u64) {
2237        unsafe {
2238            let val: u64 = ::std::mem::transmute(val);
2239            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2240                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2241                26usize,
2242                1u8,
2243                val as u64,
2244            )
2245        }
2246    }
2247    #[inline]
2248    pub fn write_backward(&self) -> __u64 {
2249        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
2250    }
2251    #[inline]
2252    pub fn set_write_backward(&mut self, val: __u64) {
2253        unsafe {
2254            let val: u64 = ::std::mem::transmute(val);
2255            self._bitfield_1.set(27usize, 1u8, val as u64)
2256        }
2257    }
2258    #[inline]
2259    pub unsafe fn write_backward_raw(this: *const Self) -> __u64 {
2260        unsafe {
2261            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2262                ::std::ptr::addr_of!((*this)._bitfield_1),
2263                27usize,
2264                1u8,
2265            ) as u64)
2266        }
2267    }
2268    #[inline]
2269    pub unsafe fn set_write_backward_raw(this: *mut Self, val: __u64) {
2270        unsafe {
2271            let val: u64 = ::std::mem::transmute(val);
2272            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2273                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2274                27usize,
2275                1u8,
2276                val as u64,
2277            )
2278        }
2279    }
2280    #[inline]
2281    pub fn namespaces(&self) -> __u64 {
2282        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
2283    }
2284    #[inline]
2285    pub fn set_namespaces(&mut self, val: __u64) {
2286        unsafe {
2287            let val: u64 = ::std::mem::transmute(val);
2288            self._bitfield_1.set(28usize, 1u8, val as u64)
2289        }
2290    }
2291    #[inline]
2292    pub unsafe fn namespaces_raw(this: *const Self) -> __u64 {
2293        unsafe {
2294            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2295                ::std::ptr::addr_of!((*this)._bitfield_1),
2296                28usize,
2297                1u8,
2298            ) as u64)
2299        }
2300    }
2301    #[inline]
2302    pub unsafe fn set_namespaces_raw(this: *mut Self, val: __u64) {
2303        unsafe {
2304            let val: u64 = ::std::mem::transmute(val);
2305            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2306                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2307                28usize,
2308                1u8,
2309                val as u64,
2310            )
2311        }
2312    }
2313    #[inline]
2314    pub fn ksymbol(&self) -> __u64 {
2315        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
2316    }
2317    #[inline]
2318    pub fn set_ksymbol(&mut self, val: __u64) {
2319        unsafe {
2320            let val: u64 = ::std::mem::transmute(val);
2321            self._bitfield_1.set(29usize, 1u8, val as u64)
2322        }
2323    }
2324    #[inline]
2325    pub unsafe fn ksymbol_raw(this: *const Self) -> __u64 {
2326        unsafe {
2327            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2328                ::std::ptr::addr_of!((*this)._bitfield_1),
2329                29usize,
2330                1u8,
2331            ) as u64)
2332        }
2333    }
2334    #[inline]
2335    pub unsafe fn set_ksymbol_raw(this: *mut Self, val: __u64) {
2336        unsafe {
2337            let val: u64 = ::std::mem::transmute(val);
2338            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2339                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2340                29usize,
2341                1u8,
2342                val as u64,
2343            )
2344        }
2345    }
2346    #[inline]
2347    pub fn bpf_event(&self) -> __u64 {
2348        unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
2349    }
2350    #[inline]
2351    pub fn set_bpf_event(&mut self, val: __u64) {
2352        unsafe {
2353            let val: u64 = ::std::mem::transmute(val);
2354            self._bitfield_1.set(30usize, 1u8, val as u64)
2355        }
2356    }
2357    #[inline]
2358    pub unsafe fn bpf_event_raw(this: *const Self) -> __u64 {
2359        unsafe {
2360            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2361                ::std::ptr::addr_of!((*this)._bitfield_1),
2362                30usize,
2363                1u8,
2364            ) as u64)
2365        }
2366    }
2367    #[inline]
2368    pub unsafe fn set_bpf_event_raw(this: *mut Self, val: __u64) {
2369        unsafe {
2370            let val: u64 = ::std::mem::transmute(val);
2371            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2372                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2373                30usize,
2374                1u8,
2375                val as u64,
2376            )
2377        }
2378    }
2379    #[inline]
2380    pub fn aux_output(&self) -> __u64 {
2381        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
2382    }
2383    #[inline]
2384    pub fn set_aux_output(&mut self, val: __u64) {
2385        unsafe {
2386            let val: u64 = ::std::mem::transmute(val);
2387            self._bitfield_1.set(31usize, 1u8, val as u64)
2388        }
2389    }
2390    #[inline]
2391    pub unsafe fn aux_output_raw(this: *const Self) -> __u64 {
2392        unsafe {
2393            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2394                ::std::ptr::addr_of!((*this)._bitfield_1),
2395                31usize,
2396                1u8,
2397            ) as u64)
2398        }
2399    }
2400    #[inline]
2401    pub unsafe fn set_aux_output_raw(this: *mut Self, val: __u64) {
2402        unsafe {
2403            let val: u64 = ::std::mem::transmute(val);
2404            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2405                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2406                31usize,
2407                1u8,
2408                val as u64,
2409            )
2410        }
2411    }
2412    #[inline]
2413    pub fn cgroup(&self) -> __u64 {
2414        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
2415    }
2416    #[inline]
2417    pub fn set_cgroup(&mut self, val: __u64) {
2418        unsafe {
2419            let val: u64 = ::std::mem::transmute(val);
2420            self._bitfield_1.set(32usize, 1u8, val as u64)
2421        }
2422    }
2423    #[inline]
2424    pub unsafe fn cgroup_raw(this: *const Self) -> __u64 {
2425        unsafe {
2426            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2427                ::std::ptr::addr_of!((*this)._bitfield_1),
2428                32usize,
2429                1u8,
2430            ) as u64)
2431        }
2432    }
2433    #[inline]
2434    pub unsafe fn set_cgroup_raw(this: *mut Self, val: __u64) {
2435        unsafe {
2436            let val: u64 = ::std::mem::transmute(val);
2437            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2438                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2439                32usize,
2440                1u8,
2441                val as u64,
2442            )
2443        }
2444    }
2445    #[inline]
2446    pub fn text_poke(&self) -> __u64 {
2447        unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
2448    }
2449    #[inline]
2450    pub fn set_text_poke(&mut self, val: __u64) {
2451        unsafe {
2452            let val: u64 = ::std::mem::transmute(val);
2453            self._bitfield_1.set(33usize, 1u8, val as u64)
2454        }
2455    }
2456    #[inline]
2457    pub unsafe fn text_poke_raw(this: *const Self) -> __u64 {
2458        unsafe {
2459            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2460                ::std::ptr::addr_of!((*this)._bitfield_1),
2461                33usize,
2462                1u8,
2463            ) as u64)
2464        }
2465    }
2466    #[inline]
2467    pub unsafe fn set_text_poke_raw(this: *mut Self, val: __u64) {
2468        unsafe {
2469            let val: u64 = ::std::mem::transmute(val);
2470            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2471                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2472                33usize,
2473                1u8,
2474                val as u64,
2475            )
2476        }
2477    }
2478    #[inline]
2479    pub fn build_id(&self) -> __u64 {
2480        unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
2481    }
2482    #[inline]
2483    pub fn set_build_id(&mut self, val: __u64) {
2484        unsafe {
2485            let val: u64 = ::std::mem::transmute(val);
2486            self._bitfield_1.set(34usize, 1u8, val as u64)
2487        }
2488    }
2489    #[inline]
2490    pub unsafe fn build_id_raw(this: *const Self) -> __u64 {
2491        unsafe {
2492            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2493                ::std::ptr::addr_of!((*this)._bitfield_1),
2494                34usize,
2495                1u8,
2496            ) as u64)
2497        }
2498    }
2499    #[inline]
2500    pub unsafe fn set_build_id_raw(this: *mut Self, val: __u64) {
2501        unsafe {
2502            let val: u64 = ::std::mem::transmute(val);
2503            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2504                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2505                34usize,
2506                1u8,
2507                val as u64,
2508            )
2509        }
2510    }
2511    #[inline]
2512    pub fn inherit_thread(&self) -> __u64 {
2513        unsafe { ::std::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
2514    }
2515    #[inline]
2516    pub fn set_inherit_thread(&mut self, val: __u64) {
2517        unsafe {
2518            let val: u64 = ::std::mem::transmute(val);
2519            self._bitfield_1.set(35usize, 1u8, val as u64)
2520        }
2521    }
2522    #[inline]
2523    pub unsafe fn inherit_thread_raw(this: *const Self) -> __u64 {
2524        unsafe {
2525            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2526                ::std::ptr::addr_of!((*this)._bitfield_1),
2527                35usize,
2528                1u8,
2529            ) as u64)
2530        }
2531    }
2532    #[inline]
2533    pub unsafe fn set_inherit_thread_raw(this: *mut Self, val: __u64) {
2534        unsafe {
2535            let val: u64 = ::std::mem::transmute(val);
2536            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2537                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2538                35usize,
2539                1u8,
2540                val as u64,
2541            )
2542        }
2543    }
2544    #[inline]
2545    pub fn remove_on_exec(&self) -> __u64 {
2546        unsafe { ::std::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
2547    }
2548    #[inline]
2549    pub fn set_remove_on_exec(&mut self, val: __u64) {
2550        unsafe {
2551            let val: u64 = ::std::mem::transmute(val);
2552            self._bitfield_1.set(36usize, 1u8, val as u64)
2553        }
2554    }
2555    #[inline]
2556    pub unsafe fn remove_on_exec_raw(this: *const Self) -> __u64 {
2557        unsafe {
2558            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2559                ::std::ptr::addr_of!((*this)._bitfield_1),
2560                36usize,
2561                1u8,
2562            ) as u64)
2563        }
2564    }
2565    #[inline]
2566    pub unsafe fn set_remove_on_exec_raw(this: *mut Self, val: __u64) {
2567        unsafe {
2568            let val: u64 = ::std::mem::transmute(val);
2569            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2570                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2571                36usize,
2572                1u8,
2573                val as u64,
2574            )
2575        }
2576    }
2577    #[inline]
2578    pub fn sigtrap(&self) -> __u64 {
2579        unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
2580    }
2581    #[inline]
2582    pub fn set_sigtrap(&mut self, val: __u64) {
2583        unsafe {
2584            let val: u64 = ::std::mem::transmute(val);
2585            self._bitfield_1.set(37usize, 1u8, val as u64)
2586        }
2587    }
2588    #[inline]
2589    pub unsafe fn sigtrap_raw(this: *const Self) -> __u64 {
2590        unsafe {
2591            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2592                ::std::ptr::addr_of!((*this)._bitfield_1),
2593                37usize,
2594                1u8,
2595            ) as u64)
2596        }
2597    }
2598    #[inline]
2599    pub unsafe fn set_sigtrap_raw(this: *mut Self, val: __u64) {
2600        unsafe {
2601            let val: u64 = ::std::mem::transmute(val);
2602            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2603                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2604                37usize,
2605                1u8,
2606                val as u64,
2607            )
2608        }
2609    }
2610    #[inline]
2611    pub fn __reserved_1(&self) -> __u64 {
2612        unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) }
2613    }
2614    #[inline]
2615    pub fn set___reserved_1(&mut self, val: __u64) {
2616        unsafe {
2617            let val: u64 = ::std::mem::transmute(val);
2618            self._bitfield_1.set(38usize, 26u8, val as u64)
2619        }
2620    }
2621    #[inline]
2622    pub unsafe fn __reserved_1_raw(this: *const Self) -> __u64 {
2623        unsafe {
2624            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2625                ::std::ptr::addr_of!((*this)._bitfield_1),
2626                38usize,
2627                26u8,
2628            ) as u64)
2629        }
2630    }
2631    #[inline]
2632    pub unsafe fn set___reserved_1_raw(this: *mut Self, val: __u64) {
2633        unsafe {
2634            let val: u64 = ::std::mem::transmute(val);
2635            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2636                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2637                38usize,
2638                26u8,
2639                val as u64,
2640            )
2641        }
2642    }
2643    #[inline]
2644    pub fn new_bitfield_1(
2645        disabled: __u64,
2646        inherit: __u64,
2647        pinned: __u64,
2648        exclusive: __u64,
2649        exclude_user: __u64,
2650        exclude_kernel: __u64,
2651        exclude_hv: __u64,
2652        exclude_idle: __u64,
2653        mmap: __u64,
2654        comm: __u64,
2655        freq: __u64,
2656        inherit_stat: __u64,
2657        enable_on_exec: __u64,
2658        task: __u64,
2659        watermark: __u64,
2660        precise_ip: __u64,
2661        mmap_data: __u64,
2662        sample_id_all: __u64,
2663        exclude_host: __u64,
2664        exclude_guest: __u64,
2665        exclude_callchain_kernel: __u64,
2666        exclude_callchain_user: __u64,
2667        mmap2: __u64,
2668        comm_exec: __u64,
2669        use_clockid: __u64,
2670        context_switch: __u64,
2671        write_backward: __u64,
2672        namespaces: __u64,
2673        ksymbol: __u64,
2674        bpf_event: __u64,
2675        aux_output: __u64,
2676        cgroup: __u64,
2677        text_poke: __u64,
2678        build_id: __u64,
2679        inherit_thread: __u64,
2680        remove_on_exec: __u64,
2681        sigtrap: __u64,
2682        __reserved_1: __u64,
2683    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2684        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2685        __bindgen_bitfield_unit.set(0usize, 1u8, {
2686            let disabled: u64 = unsafe { ::std::mem::transmute(disabled) };
2687            disabled as u64
2688        });
2689        __bindgen_bitfield_unit.set(1usize, 1u8, {
2690            let inherit: u64 = unsafe { ::std::mem::transmute(inherit) };
2691            inherit as u64
2692        });
2693        __bindgen_bitfield_unit.set(2usize, 1u8, {
2694            let pinned: u64 = unsafe { ::std::mem::transmute(pinned) };
2695            pinned as u64
2696        });
2697        __bindgen_bitfield_unit.set(3usize, 1u8, {
2698            let exclusive: u64 = unsafe { ::std::mem::transmute(exclusive) };
2699            exclusive as u64
2700        });
2701        __bindgen_bitfield_unit.set(4usize, 1u8, {
2702            let exclude_user: u64 = unsafe { ::std::mem::transmute(exclude_user) };
2703            exclude_user as u64
2704        });
2705        __bindgen_bitfield_unit.set(5usize, 1u8, {
2706            let exclude_kernel: u64 = unsafe { ::std::mem::transmute(exclude_kernel) };
2707            exclude_kernel as u64
2708        });
2709        __bindgen_bitfield_unit.set(6usize, 1u8, {
2710            let exclude_hv: u64 = unsafe { ::std::mem::transmute(exclude_hv) };
2711            exclude_hv as u64
2712        });
2713        __bindgen_bitfield_unit.set(7usize, 1u8, {
2714            let exclude_idle: u64 = unsafe { ::std::mem::transmute(exclude_idle) };
2715            exclude_idle as u64
2716        });
2717        __bindgen_bitfield_unit.set(8usize, 1u8, {
2718            let mmap: u64 = unsafe { ::std::mem::transmute(mmap) };
2719            mmap as u64
2720        });
2721        __bindgen_bitfield_unit.set(9usize, 1u8, {
2722            let comm: u64 = unsafe { ::std::mem::transmute(comm) };
2723            comm as u64
2724        });
2725        __bindgen_bitfield_unit.set(10usize, 1u8, {
2726            let freq: u64 = unsafe { ::std::mem::transmute(freq) };
2727            freq as u64
2728        });
2729        __bindgen_bitfield_unit.set(11usize, 1u8, {
2730            let inherit_stat: u64 = unsafe { ::std::mem::transmute(inherit_stat) };
2731            inherit_stat as u64
2732        });
2733        __bindgen_bitfield_unit.set(12usize, 1u8, {
2734            let enable_on_exec: u64 = unsafe { ::std::mem::transmute(enable_on_exec) };
2735            enable_on_exec as u64
2736        });
2737        __bindgen_bitfield_unit.set(13usize, 1u8, {
2738            let task: u64 = unsafe { ::std::mem::transmute(task) };
2739            task as u64
2740        });
2741        __bindgen_bitfield_unit.set(14usize, 1u8, {
2742            let watermark: u64 = unsafe { ::std::mem::transmute(watermark) };
2743            watermark as u64
2744        });
2745        __bindgen_bitfield_unit.set(15usize, 2u8, {
2746            let precise_ip: u64 = unsafe { ::std::mem::transmute(precise_ip) };
2747            precise_ip as u64
2748        });
2749        __bindgen_bitfield_unit.set(17usize, 1u8, {
2750            let mmap_data: u64 = unsafe { ::std::mem::transmute(mmap_data) };
2751            mmap_data as u64
2752        });
2753        __bindgen_bitfield_unit.set(18usize, 1u8, {
2754            let sample_id_all: u64 = unsafe { ::std::mem::transmute(sample_id_all) };
2755            sample_id_all as u64
2756        });
2757        __bindgen_bitfield_unit.set(19usize, 1u8, {
2758            let exclude_host: u64 = unsafe { ::std::mem::transmute(exclude_host) };
2759            exclude_host as u64
2760        });
2761        __bindgen_bitfield_unit.set(20usize, 1u8, {
2762            let exclude_guest: u64 = unsafe { ::std::mem::transmute(exclude_guest) };
2763            exclude_guest as u64
2764        });
2765        __bindgen_bitfield_unit.set(21usize, 1u8, {
2766            let exclude_callchain_kernel: u64 =
2767                unsafe { ::std::mem::transmute(exclude_callchain_kernel) };
2768            exclude_callchain_kernel as u64
2769        });
2770        __bindgen_bitfield_unit.set(22usize, 1u8, {
2771            let exclude_callchain_user: u64 =
2772                unsafe { ::std::mem::transmute(exclude_callchain_user) };
2773            exclude_callchain_user as u64
2774        });
2775        __bindgen_bitfield_unit.set(23usize, 1u8, {
2776            let mmap2: u64 = unsafe { ::std::mem::transmute(mmap2) };
2777            mmap2 as u64
2778        });
2779        __bindgen_bitfield_unit.set(24usize, 1u8, {
2780            let comm_exec: u64 = unsafe { ::std::mem::transmute(comm_exec) };
2781            comm_exec as u64
2782        });
2783        __bindgen_bitfield_unit.set(25usize, 1u8, {
2784            let use_clockid: u64 = unsafe { ::std::mem::transmute(use_clockid) };
2785            use_clockid as u64
2786        });
2787        __bindgen_bitfield_unit.set(26usize, 1u8, {
2788            let context_switch: u64 = unsafe { ::std::mem::transmute(context_switch) };
2789            context_switch as u64
2790        });
2791        __bindgen_bitfield_unit.set(27usize, 1u8, {
2792            let write_backward: u64 = unsafe { ::std::mem::transmute(write_backward) };
2793            write_backward as u64
2794        });
2795        __bindgen_bitfield_unit.set(28usize, 1u8, {
2796            let namespaces: u64 = unsafe { ::std::mem::transmute(namespaces) };
2797            namespaces as u64
2798        });
2799        __bindgen_bitfield_unit.set(29usize, 1u8, {
2800            let ksymbol: u64 = unsafe { ::std::mem::transmute(ksymbol) };
2801            ksymbol as u64
2802        });
2803        __bindgen_bitfield_unit.set(30usize, 1u8, {
2804            let bpf_event: u64 = unsafe { ::std::mem::transmute(bpf_event) };
2805            bpf_event as u64
2806        });
2807        __bindgen_bitfield_unit.set(31usize, 1u8, {
2808            let aux_output: u64 = unsafe { ::std::mem::transmute(aux_output) };
2809            aux_output as u64
2810        });
2811        __bindgen_bitfield_unit.set(32usize, 1u8, {
2812            let cgroup: u64 = unsafe { ::std::mem::transmute(cgroup) };
2813            cgroup as u64
2814        });
2815        __bindgen_bitfield_unit.set(33usize, 1u8, {
2816            let text_poke: u64 = unsafe { ::std::mem::transmute(text_poke) };
2817            text_poke as u64
2818        });
2819        __bindgen_bitfield_unit.set(34usize, 1u8, {
2820            let build_id: u64 = unsafe { ::std::mem::transmute(build_id) };
2821            build_id as u64
2822        });
2823        __bindgen_bitfield_unit.set(35usize, 1u8, {
2824            let inherit_thread: u64 = unsafe { ::std::mem::transmute(inherit_thread) };
2825            inherit_thread as u64
2826        });
2827        __bindgen_bitfield_unit.set(36usize, 1u8, {
2828            let remove_on_exec: u64 = unsafe { ::std::mem::transmute(remove_on_exec) };
2829            remove_on_exec as u64
2830        });
2831        __bindgen_bitfield_unit.set(37usize, 1u8, {
2832            let sigtrap: u64 = unsafe { ::std::mem::transmute(sigtrap) };
2833            sigtrap as u64
2834        });
2835        __bindgen_bitfield_unit.set(38usize, 26u8, {
2836            let __reserved_1: u64 = unsafe { ::std::mem::transmute(__reserved_1) };
2837            __reserved_1 as u64
2838        });
2839        __bindgen_bitfield_unit
2840    }
2841}
2842#[repr(C)]
2843#[derive(Debug, Default)]
2844pub struct perf_event_query_bpf {
2845    pub ids_len: __u32,
2846    pub prog_cnt: __u32,
2847    pub ids: __IncompleteArrayField<__u32>,
2848}
2849#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2850const _: () = {
2851    ["Size of perf_event_query_bpf"][::std::mem::size_of::<perf_event_query_bpf>() - 8usize];
2852    ["Alignment of perf_event_query_bpf"][::std::mem::align_of::<perf_event_query_bpf>() - 4usize];
2853    ["Offset of field: perf_event_query_bpf::ids_len"]
2854        [::std::mem::offset_of!(perf_event_query_bpf, ids_len) - 0usize];
2855    ["Offset of field: perf_event_query_bpf::prog_cnt"]
2856        [::std::mem::offset_of!(perf_event_query_bpf, prog_cnt) - 4usize];
2857    ["Offset of field: perf_event_query_bpf::ids"]
2858        [::std::mem::offset_of!(perf_event_query_bpf, ids) - 8usize];
2859};
2860pub const PERF_IOC_FLAG_GROUP: perf_event_ioc_flags = 1;
2861pub type perf_event_ioc_flags = ::std::os::raw::c_uint;
2862#[repr(C)]
2863#[derive(Copy, Clone)]
2864pub struct perf_event_mmap_page {
2865    pub version: __u32,
2866    pub compat_version: __u32,
2867    pub lock: __u32,
2868    pub index: __u32,
2869    pub offset: __s64,
2870    pub time_enabled: __u64,
2871    pub time_running: __u64,
2872    pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1,
2873    pub pmc_width: __u16,
2874    pub time_shift: __u16,
2875    pub time_mult: __u32,
2876    pub time_offset: __u64,
2877    pub time_zero: __u64,
2878    pub size: __u32,
2879    pub __reserved_1: __u32,
2880    pub time_cycles: __u64,
2881    pub time_mask: __u64,
2882    pub __reserved: [__u8; 928usize],
2883    pub data_head: __u64,
2884    pub data_tail: __u64,
2885    pub data_offset: __u64,
2886    pub data_size: __u64,
2887    pub aux_head: __u64,
2888    pub aux_tail: __u64,
2889    pub aux_offset: __u64,
2890    pub aux_size: __u64,
2891}
2892#[repr(C)]
2893#[derive(Copy, Clone)]
2894pub union perf_event_mmap_page__bindgen_ty_1 {
2895    pub capabilities: __u64,
2896    pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1,
2897}
2898#[repr(C)]
2899#[derive(Debug, Default, Copy, Clone)]
2900pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2901    pub _bitfield_align_1: [u64; 0],
2902    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2903}
2904#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2905const _: () = {
2906    ["Size of perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1"]
2907        [::std::mem::size_of::<perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1>() - 8usize];
2908    ["Alignment of perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1"]
2909        [::std::mem::align_of::<perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1>() - 8usize];
2910};
2911impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2912    #[inline]
2913    pub fn cap_bit0(&self) -> __u64 {
2914        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
2915    }
2916    #[inline]
2917    pub fn set_cap_bit0(&mut self, val: __u64) {
2918        unsafe {
2919            let val: u64 = ::std::mem::transmute(val);
2920            self._bitfield_1.set(0usize, 1u8, val as u64)
2921        }
2922    }
2923    #[inline]
2924    pub unsafe fn cap_bit0_raw(this: *const Self) -> __u64 {
2925        unsafe {
2926            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2927                ::std::ptr::addr_of!((*this)._bitfield_1),
2928                0usize,
2929                1u8,
2930            ) as u64)
2931        }
2932    }
2933    #[inline]
2934    pub unsafe fn set_cap_bit0_raw(this: *mut Self, val: __u64) {
2935        unsafe {
2936            let val: u64 = ::std::mem::transmute(val);
2937            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2938                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2939                0usize,
2940                1u8,
2941                val as u64,
2942            )
2943        }
2944    }
2945    #[inline]
2946    pub fn cap_bit0_is_deprecated(&self) -> __u64 {
2947        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
2948    }
2949    #[inline]
2950    pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) {
2951        unsafe {
2952            let val: u64 = ::std::mem::transmute(val);
2953            self._bitfield_1.set(1usize, 1u8, val as u64)
2954        }
2955    }
2956    #[inline]
2957    pub unsafe fn cap_bit0_is_deprecated_raw(this: *const Self) -> __u64 {
2958        unsafe {
2959            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2960                ::std::ptr::addr_of!((*this)._bitfield_1),
2961                1usize,
2962                1u8,
2963            ) as u64)
2964        }
2965    }
2966    #[inline]
2967    pub unsafe fn set_cap_bit0_is_deprecated_raw(this: *mut Self, val: __u64) {
2968        unsafe {
2969            let val: u64 = ::std::mem::transmute(val);
2970            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2971                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2972                1usize,
2973                1u8,
2974                val as u64,
2975            )
2976        }
2977    }
2978    #[inline]
2979    pub fn cap_user_rdpmc(&self) -> __u64 {
2980        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
2981    }
2982    #[inline]
2983    pub fn set_cap_user_rdpmc(&mut self, val: __u64) {
2984        unsafe {
2985            let val: u64 = ::std::mem::transmute(val);
2986            self._bitfield_1.set(2usize, 1u8, val as u64)
2987        }
2988    }
2989    #[inline]
2990    pub unsafe fn cap_user_rdpmc_raw(this: *const Self) -> __u64 {
2991        unsafe {
2992            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2993                ::std::ptr::addr_of!((*this)._bitfield_1),
2994                2usize,
2995                1u8,
2996            ) as u64)
2997        }
2998    }
2999    #[inline]
3000    pub unsafe fn set_cap_user_rdpmc_raw(this: *mut Self, val: __u64) {
3001        unsafe {
3002            let val: u64 = ::std::mem::transmute(val);
3003            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3004                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3005                2usize,
3006                1u8,
3007                val as u64,
3008            )
3009        }
3010    }
3011    #[inline]
3012    pub fn cap_user_time(&self) -> __u64 {
3013        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
3014    }
3015    #[inline]
3016    pub fn set_cap_user_time(&mut self, val: __u64) {
3017        unsafe {
3018            let val: u64 = ::std::mem::transmute(val);
3019            self._bitfield_1.set(3usize, 1u8, val as u64)
3020        }
3021    }
3022    #[inline]
3023    pub unsafe fn cap_user_time_raw(this: *const Self) -> __u64 {
3024        unsafe {
3025            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3026                ::std::ptr::addr_of!((*this)._bitfield_1),
3027                3usize,
3028                1u8,
3029            ) as u64)
3030        }
3031    }
3032    #[inline]
3033    pub unsafe fn set_cap_user_time_raw(this: *mut Self, val: __u64) {
3034        unsafe {
3035            let val: u64 = ::std::mem::transmute(val);
3036            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3037                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3038                3usize,
3039                1u8,
3040                val as u64,
3041            )
3042        }
3043    }
3044    #[inline]
3045    pub fn cap_user_time_zero(&self) -> __u64 {
3046        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
3047    }
3048    #[inline]
3049    pub fn set_cap_user_time_zero(&mut self, val: __u64) {
3050        unsafe {
3051            let val: u64 = ::std::mem::transmute(val);
3052            self._bitfield_1.set(4usize, 1u8, val as u64)
3053        }
3054    }
3055    #[inline]
3056    pub unsafe fn cap_user_time_zero_raw(this: *const Self) -> __u64 {
3057        unsafe {
3058            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3059                ::std::ptr::addr_of!((*this)._bitfield_1),
3060                4usize,
3061                1u8,
3062            ) as u64)
3063        }
3064    }
3065    #[inline]
3066    pub unsafe fn set_cap_user_time_zero_raw(this: *mut Self, val: __u64) {
3067        unsafe {
3068            let val: u64 = ::std::mem::transmute(val);
3069            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3070                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3071                4usize,
3072                1u8,
3073                val as u64,
3074            )
3075        }
3076    }
3077    #[inline]
3078    pub fn cap_user_time_short(&self) -> __u64 {
3079        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
3080    }
3081    #[inline]
3082    pub fn set_cap_user_time_short(&mut self, val: __u64) {
3083        unsafe {
3084            let val: u64 = ::std::mem::transmute(val);
3085            self._bitfield_1.set(5usize, 1u8, val as u64)
3086        }
3087    }
3088    #[inline]
3089    pub unsafe fn cap_user_time_short_raw(this: *const Self) -> __u64 {
3090        unsafe {
3091            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3092                ::std::ptr::addr_of!((*this)._bitfield_1),
3093                5usize,
3094                1u8,
3095            ) as u64)
3096        }
3097    }
3098    #[inline]
3099    pub unsafe fn set_cap_user_time_short_raw(this: *mut Self, val: __u64) {
3100        unsafe {
3101            let val: u64 = ::std::mem::transmute(val);
3102            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3103                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3104                5usize,
3105                1u8,
3106                val as u64,
3107            )
3108        }
3109    }
3110    #[inline]
3111    pub fn cap_____res(&self) -> __u64 {
3112        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 58u8) as u64) }
3113    }
3114    #[inline]
3115    pub fn set_cap_____res(&mut self, val: __u64) {
3116        unsafe {
3117            let val: u64 = ::std::mem::transmute(val);
3118            self._bitfield_1.set(6usize, 58u8, val as u64)
3119        }
3120    }
3121    #[inline]
3122    pub unsafe fn cap_____res_raw(this: *const Self) -> __u64 {
3123        unsafe {
3124            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3125                ::std::ptr::addr_of!((*this)._bitfield_1),
3126                6usize,
3127                58u8,
3128            ) as u64)
3129        }
3130    }
3131    #[inline]
3132    pub unsafe fn set_cap_____res_raw(this: *mut Self, val: __u64) {
3133        unsafe {
3134            let val: u64 = ::std::mem::transmute(val);
3135            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3136                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3137                6usize,
3138                58u8,
3139                val as u64,
3140            )
3141        }
3142    }
3143    #[inline]
3144    pub fn new_bitfield_1(
3145        cap_bit0: __u64,
3146        cap_bit0_is_deprecated: __u64,
3147        cap_user_rdpmc: __u64,
3148        cap_user_time: __u64,
3149        cap_user_time_zero: __u64,
3150        cap_user_time_short: __u64,
3151        cap_____res: __u64,
3152    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
3153        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
3154        __bindgen_bitfield_unit.set(0usize, 1u8, {
3155            let cap_bit0: u64 = unsafe { ::std::mem::transmute(cap_bit0) };
3156            cap_bit0 as u64
3157        });
3158        __bindgen_bitfield_unit.set(1usize, 1u8, {
3159            let cap_bit0_is_deprecated: u64 =
3160                unsafe { ::std::mem::transmute(cap_bit0_is_deprecated) };
3161            cap_bit0_is_deprecated as u64
3162        });
3163        __bindgen_bitfield_unit.set(2usize, 1u8, {
3164            let cap_user_rdpmc: u64 = unsafe { ::std::mem::transmute(cap_user_rdpmc) };
3165            cap_user_rdpmc as u64
3166        });
3167        __bindgen_bitfield_unit.set(3usize, 1u8, {
3168            let cap_user_time: u64 = unsafe { ::std::mem::transmute(cap_user_time) };
3169            cap_user_time as u64
3170        });
3171        __bindgen_bitfield_unit.set(4usize, 1u8, {
3172            let cap_user_time_zero: u64 = unsafe { ::std::mem::transmute(cap_user_time_zero) };
3173            cap_user_time_zero as u64
3174        });
3175        __bindgen_bitfield_unit.set(5usize, 1u8, {
3176            let cap_user_time_short: u64 = unsafe { ::std::mem::transmute(cap_user_time_short) };
3177            cap_user_time_short as u64
3178        });
3179        __bindgen_bitfield_unit.set(6usize, 58u8, {
3180            let cap_____res: u64 = unsafe { ::std::mem::transmute(cap_____res) };
3181            cap_____res as u64
3182        });
3183        __bindgen_bitfield_unit
3184    }
3185}
3186#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3187const _: () = {
3188    ["Size of perf_event_mmap_page__bindgen_ty_1"]
3189        [::std::mem::size_of::<perf_event_mmap_page__bindgen_ty_1>() - 8usize];
3190    ["Alignment of perf_event_mmap_page__bindgen_ty_1"]
3191        [::std::mem::align_of::<perf_event_mmap_page__bindgen_ty_1>() - 8usize];
3192    ["Offset of field: perf_event_mmap_page__bindgen_ty_1::capabilities"]
3193        [::std::mem::offset_of!(perf_event_mmap_page__bindgen_ty_1, capabilities) - 0usize];
3194};
3195impl Default for perf_event_mmap_page__bindgen_ty_1 {
3196    fn default() -> Self {
3197        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3198        unsafe {
3199            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3200            s.assume_init()
3201        }
3202    }
3203}
3204impl ::std::fmt::Debug for perf_event_mmap_page__bindgen_ty_1 {
3205    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3206        write!(f, "perf_event_mmap_page__bindgen_ty_1 {{ union }}")
3207    }
3208}
3209#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3210const _: () = {
3211    ["Size of perf_event_mmap_page"][::std::mem::size_of::<perf_event_mmap_page>() - 1088usize];
3212    ["Alignment of perf_event_mmap_page"][::std::mem::align_of::<perf_event_mmap_page>() - 8usize];
3213    ["Offset of field: perf_event_mmap_page::version"]
3214        [::std::mem::offset_of!(perf_event_mmap_page, version) - 0usize];
3215    ["Offset of field: perf_event_mmap_page::compat_version"]
3216        [::std::mem::offset_of!(perf_event_mmap_page, compat_version) - 4usize];
3217    ["Offset of field: perf_event_mmap_page::lock"]
3218        [::std::mem::offset_of!(perf_event_mmap_page, lock) - 8usize];
3219    ["Offset of field: perf_event_mmap_page::index"]
3220        [::std::mem::offset_of!(perf_event_mmap_page, index) - 12usize];
3221    ["Offset of field: perf_event_mmap_page::offset"]
3222        [::std::mem::offset_of!(perf_event_mmap_page, offset) - 16usize];
3223    ["Offset of field: perf_event_mmap_page::time_enabled"]
3224        [::std::mem::offset_of!(perf_event_mmap_page, time_enabled) - 24usize];
3225    ["Offset of field: perf_event_mmap_page::time_running"]
3226        [::std::mem::offset_of!(perf_event_mmap_page, time_running) - 32usize];
3227    ["Offset of field: perf_event_mmap_page::pmc_width"]
3228        [::std::mem::offset_of!(perf_event_mmap_page, pmc_width) - 48usize];
3229    ["Offset of field: perf_event_mmap_page::time_shift"]
3230        [::std::mem::offset_of!(perf_event_mmap_page, time_shift) - 50usize];
3231    ["Offset of field: perf_event_mmap_page::time_mult"]
3232        [::std::mem::offset_of!(perf_event_mmap_page, time_mult) - 52usize];
3233    ["Offset of field: perf_event_mmap_page::time_offset"]
3234        [::std::mem::offset_of!(perf_event_mmap_page, time_offset) - 56usize];
3235    ["Offset of field: perf_event_mmap_page::time_zero"]
3236        [::std::mem::offset_of!(perf_event_mmap_page, time_zero) - 64usize];
3237    ["Offset of field: perf_event_mmap_page::size"]
3238        [::std::mem::offset_of!(perf_event_mmap_page, size) - 72usize];
3239    ["Offset of field: perf_event_mmap_page::__reserved_1"]
3240        [::std::mem::offset_of!(perf_event_mmap_page, __reserved_1) - 76usize];
3241    ["Offset of field: perf_event_mmap_page::time_cycles"]
3242        [::std::mem::offset_of!(perf_event_mmap_page, time_cycles) - 80usize];
3243    ["Offset of field: perf_event_mmap_page::time_mask"]
3244        [::std::mem::offset_of!(perf_event_mmap_page, time_mask) - 88usize];
3245    ["Offset of field: perf_event_mmap_page::__reserved"]
3246        [::std::mem::offset_of!(perf_event_mmap_page, __reserved) - 96usize];
3247    ["Offset of field: perf_event_mmap_page::data_head"]
3248        [::std::mem::offset_of!(perf_event_mmap_page, data_head) - 1024usize];
3249    ["Offset of field: perf_event_mmap_page::data_tail"]
3250        [::std::mem::offset_of!(perf_event_mmap_page, data_tail) - 1032usize];
3251    ["Offset of field: perf_event_mmap_page::data_offset"]
3252        [::std::mem::offset_of!(perf_event_mmap_page, data_offset) - 1040usize];
3253    ["Offset of field: perf_event_mmap_page::data_size"]
3254        [::std::mem::offset_of!(perf_event_mmap_page, data_size) - 1048usize];
3255    ["Offset of field: perf_event_mmap_page::aux_head"]
3256        [::std::mem::offset_of!(perf_event_mmap_page, aux_head) - 1056usize];
3257    ["Offset of field: perf_event_mmap_page::aux_tail"]
3258        [::std::mem::offset_of!(perf_event_mmap_page, aux_tail) - 1064usize];
3259    ["Offset of field: perf_event_mmap_page::aux_offset"]
3260        [::std::mem::offset_of!(perf_event_mmap_page, aux_offset) - 1072usize];
3261    ["Offset of field: perf_event_mmap_page::aux_size"]
3262        [::std::mem::offset_of!(perf_event_mmap_page, aux_size) - 1080usize];
3263};
3264impl Default for perf_event_mmap_page {
3265    fn default() -> Self {
3266        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3267        unsafe {
3268            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3269            s.assume_init()
3270        }
3271    }
3272}
3273impl ::std::fmt::Debug for perf_event_mmap_page {
3274    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3275        write ! (f , "perf_event_mmap_page {{ version: {:?}, compat_version: {:?}, lock: {:?}, index: {:?}, offset: {:?}, time_enabled: {:?}, time_running: {:?}, __bindgen_anon_1: {:?}, pmc_width: {:?}, time_shift: {:?}, time_mult: {:?}, time_offset: {:?}, time_zero: {:?}, size: {:?}, __reserved_1: {:?}, time_cycles: {:?}, time_mask: {:?}, __reserved: {:?}, data_head: {:?}, data_tail: {:?}, data_offset: {:?}, data_size: {:?}, aux_head: {:?}, aux_tail: {:?}, aux_offset: {:?}, aux_size: {:?} }}" , self . version , self . compat_version , self . lock , self . index , self . offset , self . time_enabled , self . time_running , self . __bindgen_anon_1 , self . pmc_width , self . time_shift , self . time_mult , self . time_offset , self . time_zero , self . size , self . __reserved_1 , self . time_cycles , self . time_mask , self . __reserved , self . data_head , self . data_tail , self . data_offset , self . data_size , self . aux_head , self . aux_tail , self . aux_offset , self . aux_size)
3276    }
3277}
3278#[repr(C)]
3279#[derive(Debug, Default, Copy, Clone)]
3280pub struct perf_event_header {
3281    pub type_: __u32,
3282    pub misc: __u16,
3283    pub size: __u16,
3284}
3285#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3286const _: () = {
3287    ["Size of perf_event_header"][::std::mem::size_of::<perf_event_header>() - 8usize];
3288    ["Alignment of perf_event_header"][::std::mem::align_of::<perf_event_header>() - 4usize];
3289    ["Offset of field: perf_event_header::type_"]
3290        [::std::mem::offset_of!(perf_event_header, type_) - 0usize];
3291    ["Offset of field: perf_event_header::misc"]
3292        [::std::mem::offset_of!(perf_event_header, misc) - 4usize];
3293    ["Offset of field: perf_event_header::size"]
3294        [::std::mem::offset_of!(perf_event_header, size) - 6usize];
3295};
3296#[repr(C)]
3297#[derive(Debug, Default, Copy, Clone)]
3298pub struct perf_ns_link_info {
3299    pub dev: __u64,
3300    pub ino: __u64,
3301}
3302#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3303const _: () = {
3304    ["Size of perf_ns_link_info"][::std::mem::size_of::<perf_ns_link_info>() - 16usize];
3305    ["Alignment of perf_ns_link_info"][::std::mem::align_of::<perf_ns_link_info>() - 8usize];
3306    ["Offset of field: perf_ns_link_info::dev"]
3307        [::std::mem::offset_of!(perf_ns_link_info, dev) - 0usize];
3308    ["Offset of field: perf_ns_link_info::ino"]
3309        [::std::mem::offset_of!(perf_ns_link_info, ino) - 8usize];
3310};
3311pub const NET_NS_INDEX: _bindgen_ty_6 = 0;
3312pub const UTS_NS_INDEX: _bindgen_ty_6 = 1;
3313pub const IPC_NS_INDEX: _bindgen_ty_6 = 2;
3314pub const PID_NS_INDEX: _bindgen_ty_6 = 3;
3315pub const USER_NS_INDEX: _bindgen_ty_6 = 4;
3316pub const MNT_NS_INDEX: _bindgen_ty_6 = 5;
3317pub const CGROUP_NS_INDEX: _bindgen_ty_6 = 6;
3318pub const NR_NAMESPACES: _bindgen_ty_6 = 7;
3319pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
3320pub const PERF_RECORD_MMAP: perf_event_type = 1;
3321pub const PERF_RECORD_LOST: perf_event_type = 2;
3322pub const PERF_RECORD_COMM: perf_event_type = 3;
3323pub const PERF_RECORD_EXIT: perf_event_type = 4;
3324pub const PERF_RECORD_THROTTLE: perf_event_type = 5;
3325pub const PERF_RECORD_UNTHROTTLE: perf_event_type = 6;
3326pub const PERF_RECORD_FORK: perf_event_type = 7;
3327pub const PERF_RECORD_READ: perf_event_type = 8;
3328pub const PERF_RECORD_SAMPLE: perf_event_type = 9;
3329pub const PERF_RECORD_MMAP2: perf_event_type = 10;
3330pub const PERF_RECORD_AUX: perf_event_type = 11;
3331pub const PERF_RECORD_ITRACE_START: perf_event_type = 12;
3332pub const PERF_RECORD_LOST_SAMPLES: perf_event_type = 13;
3333pub const PERF_RECORD_SWITCH: perf_event_type = 14;
3334pub const PERF_RECORD_SWITCH_CPU_WIDE: perf_event_type = 15;
3335pub const PERF_RECORD_NAMESPACES: perf_event_type = 16;
3336pub const PERF_RECORD_KSYMBOL: perf_event_type = 17;
3337pub const PERF_RECORD_BPF_EVENT: perf_event_type = 18;
3338pub const PERF_RECORD_CGROUP: perf_event_type = 19;
3339pub const PERF_RECORD_TEXT_POKE: perf_event_type = 20;
3340pub const PERF_RECORD_AUX_OUTPUT_HW_ID: perf_event_type = 21;
3341pub const PERF_RECORD_MAX: perf_event_type = 22;
3342pub type perf_event_type = ::std::os::raw::c_uint;
3343pub const PERF_RECORD_KSYMBOL_TYPE_UNKNOWN: perf_record_ksymbol_type = 0;
3344pub const PERF_RECORD_KSYMBOL_TYPE_BPF: perf_record_ksymbol_type = 1;
3345pub const PERF_RECORD_KSYMBOL_TYPE_OOL: perf_record_ksymbol_type = 2;
3346pub const PERF_RECORD_KSYMBOL_TYPE_MAX: perf_record_ksymbol_type = 3;
3347pub type perf_record_ksymbol_type = ::std::os::raw::c_uint;
3348pub const PERF_BPF_EVENT_UNKNOWN: perf_bpf_event_type = 0;
3349pub const PERF_BPF_EVENT_PROG_LOAD: perf_bpf_event_type = 1;
3350pub const PERF_BPF_EVENT_PROG_UNLOAD: perf_bpf_event_type = 2;
3351pub const PERF_BPF_EVENT_MAX: perf_bpf_event_type = 3;
3352pub type perf_bpf_event_type = ::std::os::raw::c_uint;
3353pub const PERF_CONTEXT_HV: perf_callchain_context = 18446744073709551584;
3354pub const PERF_CONTEXT_KERNEL: perf_callchain_context = 18446744073709551488;
3355pub const PERF_CONTEXT_USER: perf_callchain_context = 18446744073709551104;
3356pub const PERF_CONTEXT_GUEST: perf_callchain_context = 18446744073709549568;
3357pub const PERF_CONTEXT_GUEST_KERNEL: perf_callchain_context = 18446744073709549440;
3358pub const PERF_CONTEXT_GUEST_USER: perf_callchain_context = 18446744073709549056;
3359pub const PERF_CONTEXT_MAX: perf_callchain_context = 18446744073709547521;
3360pub type perf_callchain_context = ::std::os::raw::c_ulong;
3361#[repr(C)]
3362#[derive(Copy, Clone)]
3363pub union perf_mem_data_src {
3364    pub val: __u64,
3365    pub __bindgen_anon_1: perf_mem_data_src__bindgen_ty_1,
3366}
3367#[repr(C)]
3368#[repr(align(8))]
3369#[derive(Debug, Default, Copy, Clone)]
3370pub struct perf_mem_data_src__bindgen_ty_1 {
3371    pub _bitfield_align_1: [u32; 0],
3372    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
3373}
3374#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3375const _: () = {
3376    ["Size of perf_mem_data_src__bindgen_ty_1"]
3377        [::std::mem::size_of::<perf_mem_data_src__bindgen_ty_1>() - 8usize];
3378    ["Alignment of perf_mem_data_src__bindgen_ty_1"]
3379        [::std::mem::align_of::<perf_mem_data_src__bindgen_ty_1>() - 8usize];
3380};
3381impl perf_mem_data_src__bindgen_ty_1 {
3382    #[inline]
3383    pub fn mem_op(&self) -> __u64 {
3384        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u64) }
3385    }
3386    #[inline]
3387    pub fn set_mem_op(&mut self, val: __u64) {
3388        unsafe {
3389            let val: u64 = ::std::mem::transmute(val);
3390            self._bitfield_1.set(0usize, 5u8, val as u64)
3391        }
3392    }
3393    #[inline]
3394    pub unsafe fn mem_op_raw(this: *const Self) -> __u64 {
3395        unsafe {
3396            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3397                ::std::ptr::addr_of!((*this)._bitfield_1),
3398                0usize,
3399                5u8,
3400            ) as u64)
3401        }
3402    }
3403    #[inline]
3404    pub unsafe fn set_mem_op_raw(this: *mut Self, val: __u64) {
3405        unsafe {
3406            let val: u64 = ::std::mem::transmute(val);
3407            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3408                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3409                0usize,
3410                5u8,
3411                val as u64,
3412            )
3413        }
3414    }
3415    #[inline]
3416    pub fn mem_lvl(&self) -> __u64 {
3417        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 14u8) as u64) }
3418    }
3419    #[inline]
3420    pub fn set_mem_lvl(&mut self, val: __u64) {
3421        unsafe {
3422            let val: u64 = ::std::mem::transmute(val);
3423            self._bitfield_1.set(5usize, 14u8, val as u64)
3424        }
3425    }
3426    #[inline]
3427    pub unsafe fn mem_lvl_raw(this: *const Self) -> __u64 {
3428        unsafe {
3429            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3430                ::std::ptr::addr_of!((*this)._bitfield_1),
3431                5usize,
3432                14u8,
3433            ) as u64)
3434        }
3435    }
3436    #[inline]
3437    pub unsafe fn set_mem_lvl_raw(this: *mut Self, val: __u64) {
3438        unsafe {
3439            let val: u64 = ::std::mem::transmute(val);
3440            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3441                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3442                5usize,
3443                14u8,
3444                val as u64,
3445            )
3446        }
3447    }
3448    #[inline]
3449    pub fn mem_snoop(&self) -> __u64 {
3450        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 5u8) as u64) }
3451    }
3452    #[inline]
3453    pub fn set_mem_snoop(&mut self, val: __u64) {
3454        unsafe {
3455            let val: u64 = ::std::mem::transmute(val);
3456            self._bitfield_1.set(19usize, 5u8, val as u64)
3457        }
3458    }
3459    #[inline]
3460    pub unsafe fn mem_snoop_raw(this: *const Self) -> __u64 {
3461        unsafe {
3462            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3463                ::std::ptr::addr_of!((*this)._bitfield_1),
3464                19usize,
3465                5u8,
3466            ) as u64)
3467        }
3468    }
3469    #[inline]
3470    pub unsafe fn set_mem_snoop_raw(this: *mut Self, val: __u64) {
3471        unsafe {
3472            let val: u64 = ::std::mem::transmute(val);
3473            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3474                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3475                19usize,
3476                5u8,
3477                val as u64,
3478            )
3479        }
3480    }
3481    #[inline]
3482    pub fn mem_lock(&self) -> __u64 {
3483        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
3484    }
3485    #[inline]
3486    pub fn set_mem_lock(&mut self, val: __u64) {
3487        unsafe {
3488            let val: u64 = ::std::mem::transmute(val);
3489            self._bitfield_1.set(24usize, 2u8, val as u64)
3490        }
3491    }
3492    #[inline]
3493    pub unsafe fn mem_lock_raw(this: *const Self) -> __u64 {
3494        unsafe {
3495            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3496                ::std::ptr::addr_of!((*this)._bitfield_1),
3497                24usize,
3498                2u8,
3499            ) as u64)
3500        }
3501    }
3502    #[inline]
3503    pub unsafe fn set_mem_lock_raw(this: *mut Self, val: __u64) {
3504        unsafe {
3505            let val: u64 = ::std::mem::transmute(val);
3506            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3507                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3508                24usize,
3509                2u8,
3510                val as u64,
3511            )
3512        }
3513    }
3514    #[inline]
3515    pub fn mem_dtlb(&self) -> __u64 {
3516        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 7u8) as u64) }
3517    }
3518    #[inline]
3519    pub fn set_mem_dtlb(&mut self, val: __u64) {
3520        unsafe {
3521            let val: u64 = ::std::mem::transmute(val);
3522            self._bitfield_1.set(26usize, 7u8, val as u64)
3523        }
3524    }
3525    #[inline]
3526    pub unsafe fn mem_dtlb_raw(this: *const Self) -> __u64 {
3527        unsafe {
3528            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3529                ::std::ptr::addr_of!((*this)._bitfield_1),
3530                26usize,
3531                7u8,
3532            ) as u64)
3533        }
3534    }
3535    #[inline]
3536    pub unsafe fn set_mem_dtlb_raw(this: *mut Self, val: __u64) {
3537        unsafe {
3538            let val: u64 = ::std::mem::transmute(val);
3539            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3540                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3541                26usize,
3542                7u8,
3543                val as u64,
3544            )
3545        }
3546    }
3547    #[inline]
3548    pub fn mem_lvl_num(&self) -> __u64 {
3549        unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 4u8) as u64) }
3550    }
3551    #[inline]
3552    pub fn set_mem_lvl_num(&mut self, val: __u64) {
3553        unsafe {
3554            let val: u64 = ::std::mem::transmute(val);
3555            self._bitfield_1.set(33usize, 4u8, val as u64)
3556        }
3557    }
3558    #[inline]
3559    pub unsafe fn mem_lvl_num_raw(this: *const Self) -> __u64 {
3560        unsafe {
3561            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3562                ::std::ptr::addr_of!((*this)._bitfield_1),
3563                33usize,
3564                4u8,
3565            ) as u64)
3566        }
3567    }
3568    #[inline]
3569    pub unsafe fn set_mem_lvl_num_raw(this: *mut Self, val: __u64) {
3570        unsafe {
3571            let val: u64 = ::std::mem::transmute(val);
3572            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3573                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3574                33usize,
3575                4u8,
3576                val as u64,
3577            )
3578        }
3579    }
3580    #[inline]
3581    pub fn mem_remote(&self) -> __u64 {
3582        unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
3583    }
3584    #[inline]
3585    pub fn set_mem_remote(&mut self, val: __u64) {
3586        unsafe {
3587            let val: u64 = ::std::mem::transmute(val);
3588            self._bitfield_1.set(37usize, 1u8, val as u64)
3589        }
3590    }
3591    #[inline]
3592    pub unsafe fn mem_remote_raw(this: *const Self) -> __u64 {
3593        unsafe {
3594            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3595                ::std::ptr::addr_of!((*this)._bitfield_1),
3596                37usize,
3597                1u8,
3598            ) as u64)
3599        }
3600    }
3601    #[inline]
3602    pub unsafe fn set_mem_remote_raw(this: *mut Self, val: __u64) {
3603        unsafe {
3604            let val: u64 = ::std::mem::transmute(val);
3605            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3606                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3607                37usize,
3608                1u8,
3609                val as u64,
3610            )
3611        }
3612    }
3613    #[inline]
3614    pub fn mem_snoopx(&self) -> __u64 {
3615        unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 2u8) as u64) }
3616    }
3617    #[inline]
3618    pub fn set_mem_snoopx(&mut self, val: __u64) {
3619        unsafe {
3620            let val: u64 = ::std::mem::transmute(val);
3621            self._bitfield_1.set(38usize, 2u8, val as u64)
3622        }
3623    }
3624    #[inline]
3625    pub unsafe fn mem_snoopx_raw(this: *const Self) -> __u64 {
3626        unsafe {
3627            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3628                ::std::ptr::addr_of!((*this)._bitfield_1),
3629                38usize,
3630                2u8,
3631            ) as u64)
3632        }
3633    }
3634    #[inline]
3635    pub unsafe fn set_mem_snoopx_raw(this: *mut Self, val: __u64) {
3636        unsafe {
3637            let val: u64 = ::std::mem::transmute(val);
3638            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3639                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3640                38usize,
3641                2u8,
3642                val as u64,
3643            )
3644        }
3645    }
3646    #[inline]
3647    pub fn mem_blk(&self) -> __u64 {
3648        unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 3u8) as u64) }
3649    }
3650    #[inline]
3651    pub fn set_mem_blk(&mut self, val: __u64) {
3652        unsafe {
3653            let val: u64 = ::std::mem::transmute(val);
3654            self._bitfield_1.set(40usize, 3u8, val as u64)
3655        }
3656    }
3657    #[inline]
3658    pub unsafe fn mem_blk_raw(this: *const Self) -> __u64 {
3659        unsafe {
3660            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3661                ::std::ptr::addr_of!((*this)._bitfield_1),
3662                40usize,
3663                3u8,
3664            ) as u64)
3665        }
3666    }
3667    #[inline]
3668    pub unsafe fn set_mem_blk_raw(this: *mut Self, val: __u64) {
3669        unsafe {
3670            let val: u64 = ::std::mem::transmute(val);
3671            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3672                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3673                40usize,
3674                3u8,
3675                val as u64,
3676            )
3677        }
3678    }
3679    #[inline]
3680    pub fn mem_hops(&self) -> __u64 {
3681        unsafe { ::std::mem::transmute(self._bitfield_1.get(43usize, 3u8) as u64) }
3682    }
3683    #[inline]
3684    pub fn set_mem_hops(&mut self, val: __u64) {
3685        unsafe {
3686            let val: u64 = ::std::mem::transmute(val);
3687            self._bitfield_1.set(43usize, 3u8, val as u64)
3688        }
3689    }
3690    #[inline]
3691    pub unsafe fn mem_hops_raw(this: *const Self) -> __u64 {
3692        unsafe {
3693            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3694                ::std::ptr::addr_of!((*this)._bitfield_1),
3695                43usize,
3696                3u8,
3697            ) as u64)
3698        }
3699    }
3700    #[inline]
3701    pub unsafe fn set_mem_hops_raw(this: *mut Self, val: __u64) {
3702        unsafe {
3703            let val: u64 = ::std::mem::transmute(val);
3704            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3705                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3706                43usize,
3707                3u8,
3708                val as u64,
3709            )
3710        }
3711    }
3712    #[inline]
3713    pub fn mem_rsvd(&self) -> __u64 {
3714        unsafe { ::std::mem::transmute(self._bitfield_1.get(46usize, 18u8) as u64) }
3715    }
3716    #[inline]
3717    pub fn set_mem_rsvd(&mut self, val: __u64) {
3718        unsafe {
3719            let val: u64 = ::std::mem::transmute(val);
3720            self._bitfield_1.set(46usize, 18u8, val as u64)
3721        }
3722    }
3723    #[inline]
3724    pub unsafe fn mem_rsvd_raw(this: *const Self) -> __u64 {
3725        unsafe {
3726            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3727                ::std::ptr::addr_of!((*this)._bitfield_1),
3728                46usize,
3729                18u8,
3730            ) as u64)
3731        }
3732    }
3733    #[inline]
3734    pub unsafe fn set_mem_rsvd_raw(this: *mut Self, val: __u64) {
3735        unsafe {
3736            let val: u64 = ::std::mem::transmute(val);
3737            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3738                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3739                46usize,
3740                18u8,
3741                val as u64,
3742            )
3743        }
3744    }
3745    #[inline]
3746    pub fn new_bitfield_1(
3747        mem_op: __u64,
3748        mem_lvl: __u64,
3749        mem_snoop: __u64,
3750        mem_lock: __u64,
3751        mem_dtlb: __u64,
3752        mem_lvl_num: __u64,
3753        mem_remote: __u64,
3754        mem_snoopx: __u64,
3755        mem_blk: __u64,
3756        mem_hops: __u64,
3757        mem_rsvd: __u64,
3758    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
3759        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
3760        __bindgen_bitfield_unit.set(0usize, 5u8, {
3761            let mem_op: u64 = unsafe { ::std::mem::transmute(mem_op) };
3762            mem_op as u64
3763        });
3764        __bindgen_bitfield_unit.set(5usize, 14u8, {
3765            let mem_lvl: u64 = unsafe { ::std::mem::transmute(mem_lvl) };
3766            mem_lvl as u64
3767        });
3768        __bindgen_bitfield_unit.set(19usize, 5u8, {
3769            let mem_snoop: u64 = unsafe { ::std::mem::transmute(mem_snoop) };
3770            mem_snoop as u64
3771        });
3772        __bindgen_bitfield_unit.set(24usize, 2u8, {
3773            let mem_lock: u64 = unsafe { ::std::mem::transmute(mem_lock) };
3774            mem_lock as u64
3775        });
3776        __bindgen_bitfield_unit.set(26usize, 7u8, {
3777            let mem_dtlb: u64 = unsafe { ::std::mem::transmute(mem_dtlb) };
3778            mem_dtlb as u64
3779        });
3780        __bindgen_bitfield_unit.set(33usize, 4u8, {
3781            let mem_lvl_num: u64 = unsafe { ::std::mem::transmute(mem_lvl_num) };
3782            mem_lvl_num as u64
3783        });
3784        __bindgen_bitfield_unit.set(37usize, 1u8, {
3785            let mem_remote: u64 = unsafe { ::std::mem::transmute(mem_remote) };
3786            mem_remote as u64
3787        });
3788        __bindgen_bitfield_unit.set(38usize, 2u8, {
3789            let mem_snoopx: u64 = unsafe { ::std::mem::transmute(mem_snoopx) };
3790            mem_snoopx as u64
3791        });
3792        __bindgen_bitfield_unit.set(40usize, 3u8, {
3793            let mem_blk: u64 = unsafe { ::std::mem::transmute(mem_blk) };
3794            mem_blk as u64
3795        });
3796        __bindgen_bitfield_unit.set(43usize, 3u8, {
3797            let mem_hops: u64 = unsafe { ::std::mem::transmute(mem_hops) };
3798            mem_hops as u64
3799        });
3800        __bindgen_bitfield_unit.set(46usize, 18u8, {
3801            let mem_rsvd: u64 = unsafe { ::std::mem::transmute(mem_rsvd) };
3802            mem_rsvd as u64
3803        });
3804        __bindgen_bitfield_unit
3805    }
3806}
3807#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3808const _: () = {
3809    ["Size of perf_mem_data_src"][::std::mem::size_of::<perf_mem_data_src>() - 8usize];
3810    ["Alignment of perf_mem_data_src"][::std::mem::align_of::<perf_mem_data_src>() - 8usize];
3811    ["Offset of field: perf_mem_data_src::val"]
3812        [::std::mem::offset_of!(perf_mem_data_src, val) - 0usize];
3813};
3814impl Default for perf_mem_data_src {
3815    fn default() -> Self {
3816        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3817        unsafe {
3818            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3819            s.assume_init()
3820        }
3821    }
3822}
3823impl ::std::fmt::Debug for perf_mem_data_src {
3824    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3825        write!(f, "perf_mem_data_src {{ union }}")
3826    }
3827}
3828#[repr(C)]
3829#[derive(Debug, Default, Copy, Clone)]
3830pub struct perf_branch_entry {
3831    pub from: __u64,
3832    pub to: __u64,
3833    pub _bitfield_align_1: [u32; 0],
3834    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
3835}
3836#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3837const _: () = {
3838    ["Size of perf_branch_entry"][::std::mem::size_of::<perf_branch_entry>() - 24usize];
3839    ["Alignment of perf_branch_entry"][::std::mem::align_of::<perf_branch_entry>() - 8usize];
3840    ["Offset of field: perf_branch_entry::from"]
3841        [::std::mem::offset_of!(perf_branch_entry, from) - 0usize];
3842    ["Offset of field: perf_branch_entry::to"]
3843        [::std::mem::offset_of!(perf_branch_entry, to) - 8usize];
3844};
3845impl perf_branch_entry {
3846    #[inline]
3847    pub fn mispred(&self) -> __u64 {
3848        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
3849    }
3850    #[inline]
3851    pub fn set_mispred(&mut self, val: __u64) {
3852        unsafe {
3853            let val: u64 = ::std::mem::transmute(val);
3854            self._bitfield_1.set(0usize, 1u8, val as u64)
3855        }
3856    }
3857    #[inline]
3858    pub unsafe fn mispred_raw(this: *const Self) -> __u64 {
3859        unsafe {
3860            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3861                ::std::ptr::addr_of!((*this)._bitfield_1),
3862                0usize,
3863                1u8,
3864            ) as u64)
3865        }
3866    }
3867    #[inline]
3868    pub unsafe fn set_mispred_raw(this: *mut Self, val: __u64) {
3869        unsafe {
3870            let val: u64 = ::std::mem::transmute(val);
3871            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3872                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3873                0usize,
3874                1u8,
3875                val as u64,
3876            )
3877        }
3878    }
3879    #[inline]
3880    pub fn predicted(&self) -> __u64 {
3881        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
3882    }
3883    #[inline]
3884    pub fn set_predicted(&mut self, val: __u64) {
3885        unsafe {
3886            let val: u64 = ::std::mem::transmute(val);
3887            self._bitfield_1.set(1usize, 1u8, val as u64)
3888        }
3889    }
3890    #[inline]
3891    pub unsafe fn predicted_raw(this: *const Self) -> __u64 {
3892        unsafe {
3893            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3894                ::std::ptr::addr_of!((*this)._bitfield_1),
3895                1usize,
3896                1u8,
3897            ) as u64)
3898        }
3899    }
3900    #[inline]
3901    pub unsafe fn set_predicted_raw(this: *mut Self, val: __u64) {
3902        unsafe {
3903            let val: u64 = ::std::mem::transmute(val);
3904            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3905                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3906                1usize,
3907                1u8,
3908                val as u64,
3909            )
3910        }
3911    }
3912    #[inline]
3913    pub fn in_tx(&self) -> __u64 {
3914        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
3915    }
3916    #[inline]
3917    pub fn set_in_tx(&mut self, val: __u64) {
3918        unsafe {
3919            let val: u64 = ::std::mem::transmute(val);
3920            self._bitfield_1.set(2usize, 1u8, val as u64)
3921        }
3922    }
3923    #[inline]
3924    pub unsafe fn in_tx_raw(this: *const Self) -> __u64 {
3925        unsafe {
3926            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3927                ::std::ptr::addr_of!((*this)._bitfield_1),
3928                2usize,
3929                1u8,
3930            ) as u64)
3931        }
3932    }
3933    #[inline]
3934    pub unsafe fn set_in_tx_raw(this: *mut Self, val: __u64) {
3935        unsafe {
3936            let val: u64 = ::std::mem::transmute(val);
3937            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3938                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3939                2usize,
3940                1u8,
3941                val as u64,
3942            )
3943        }
3944    }
3945    #[inline]
3946    pub fn abort(&self) -> __u64 {
3947        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
3948    }
3949    #[inline]
3950    pub fn set_abort(&mut self, val: __u64) {
3951        unsafe {
3952            let val: u64 = ::std::mem::transmute(val);
3953            self._bitfield_1.set(3usize, 1u8, val as u64)
3954        }
3955    }
3956    #[inline]
3957    pub unsafe fn abort_raw(this: *const Self) -> __u64 {
3958        unsafe {
3959            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3960                ::std::ptr::addr_of!((*this)._bitfield_1),
3961                3usize,
3962                1u8,
3963            ) as u64)
3964        }
3965    }
3966    #[inline]
3967    pub unsafe fn set_abort_raw(this: *mut Self, val: __u64) {
3968        unsafe {
3969            let val: u64 = ::std::mem::transmute(val);
3970            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3971                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3972                3usize,
3973                1u8,
3974                val as u64,
3975            )
3976        }
3977    }
3978    #[inline]
3979    pub fn cycles(&self) -> __u64 {
3980        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 16u8) as u64) }
3981    }
3982    #[inline]
3983    pub fn set_cycles(&mut self, val: __u64) {
3984        unsafe {
3985            let val: u64 = ::std::mem::transmute(val);
3986            self._bitfield_1.set(4usize, 16u8, val as u64)
3987        }
3988    }
3989    #[inline]
3990    pub unsafe fn cycles_raw(this: *const Self) -> __u64 {
3991        unsafe {
3992            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3993                ::std::ptr::addr_of!((*this)._bitfield_1),
3994                4usize,
3995                16u8,
3996            ) as u64)
3997        }
3998    }
3999    #[inline]
4000    pub unsafe fn set_cycles_raw(this: *mut Self, val: __u64) {
4001        unsafe {
4002            let val: u64 = ::std::mem::transmute(val);
4003            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4004                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4005                4usize,
4006                16u8,
4007                val as u64,
4008            )
4009        }
4010    }
4011    #[inline]
4012    pub fn type_(&self) -> __u64 {
4013        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u64) }
4014    }
4015    #[inline]
4016    pub fn set_type(&mut self, val: __u64) {
4017        unsafe {
4018            let val: u64 = ::std::mem::transmute(val);
4019            self._bitfield_1.set(20usize, 4u8, val as u64)
4020        }
4021    }
4022    #[inline]
4023    pub unsafe fn type__raw(this: *const Self) -> __u64 {
4024        unsafe {
4025            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4026                ::std::ptr::addr_of!((*this)._bitfield_1),
4027                20usize,
4028                4u8,
4029            ) as u64)
4030        }
4031    }
4032    #[inline]
4033    pub unsafe fn set_type_raw(this: *mut Self, val: __u64) {
4034        unsafe {
4035            let val: u64 = ::std::mem::transmute(val);
4036            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4037                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4038                20usize,
4039                4u8,
4040                val as u64,
4041            )
4042        }
4043    }
4044    #[inline]
4045    pub fn spec(&self) -> __u64 {
4046        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
4047    }
4048    #[inline]
4049    pub fn set_spec(&mut self, val: __u64) {
4050        unsafe {
4051            let val: u64 = ::std::mem::transmute(val);
4052            self._bitfield_1.set(24usize, 2u8, val as u64)
4053        }
4054    }
4055    #[inline]
4056    pub unsafe fn spec_raw(this: *const Self) -> __u64 {
4057        unsafe {
4058            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4059                ::std::ptr::addr_of!((*this)._bitfield_1),
4060                24usize,
4061                2u8,
4062            ) as u64)
4063        }
4064    }
4065    #[inline]
4066    pub unsafe fn set_spec_raw(this: *mut Self, val: __u64) {
4067        unsafe {
4068            let val: u64 = ::std::mem::transmute(val);
4069            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4070                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4071                24usize,
4072                2u8,
4073                val as u64,
4074            )
4075        }
4076    }
4077    #[inline]
4078    pub fn new_type(&self) -> __u64 {
4079        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 4u8) as u64) }
4080    }
4081    #[inline]
4082    pub fn set_new_type(&mut self, val: __u64) {
4083        unsafe {
4084            let val: u64 = ::std::mem::transmute(val);
4085            self._bitfield_1.set(26usize, 4u8, val as u64)
4086        }
4087    }
4088    #[inline]
4089    pub unsafe fn new_type_raw(this: *const Self) -> __u64 {
4090        unsafe {
4091            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4092                ::std::ptr::addr_of!((*this)._bitfield_1),
4093                26usize,
4094                4u8,
4095            ) as u64)
4096        }
4097    }
4098    #[inline]
4099    pub unsafe fn set_new_type_raw(this: *mut Self, val: __u64) {
4100        unsafe {
4101            let val: u64 = ::std::mem::transmute(val);
4102            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4103                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4104                26usize,
4105                4u8,
4106                val as u64,
4107            )
4108        }
4109    }
4110    #[inline]
4111    pub fn priv_(&self) -> __u64 {
4112        unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 3u8) as u64) }
4113    }
4114    #[inline]
4115    pub fn set_priv(&mut self, val: __u64) {
4116        unsafe {
4117            let val: u64 = ::std::mem::transmute(val);
4118            self._bitfield_1.set(30usize, 3u8, val as u64)
4119        }
4120    }
4121    #[inline]
4122    pub unsafe fn priv__raw(this: *const Self) -> __u64 {
4123        unsafe {
4124            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4125                ::std::ptr::addr_of!((*this)._bitfield_1),
4126                30usize,
4127                3u8,
4128            ) as u64)
4129        }
4130    }
4131    #[inline]
4132    pub unsafe fn set_priv_raw(this: *mut Self, val: __u64) {
4133        unsafe {
4134            let val: u64 = ::std::mem::transmute(val);
4135            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4136                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4137                30usize,
4138                3u8,
4139                val as u64,
4140            )
4141        }
4142    }
4143    #[inline]
4144    pub fn reserved(&self) -> __u64 {
4145        unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 31u8) as u64) }
4146    }
4147    #[inline]
4148    pub fn set_reserved(&mut self, val: __u64) {
4149        unsafe {
4150            let val: u64 = ::std::mem::transmute(val);
4151            self._bitfield_1.set(33usize, 31u8, val as u64)
4152        }
4153    }
4154    #[inline]
4155    pub unsafe fn reserved_raw(this: *const Self) -> __u64 {
4156        unsafe {
4157            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4158                ::std::ptr::addr_of!((*this)._bitfield_1),
4159                33usize,
4160                31u8,
4161            ) as u64)
4162        }
4163    }
4164    #[inline]
4165    pub unsafe fn set_reserved_raw(this: *mut Self, val: __u64) {
4166        unsafe {
4167            let val: u64 = ::std::mem::transmute(val);
4168            <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4169                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4170                33usize,
4171                31u8,
4172                val as u64,
4173            )
4174        }
4175    }
4176    #[inline]
4177    pub fn new_bitfield_1(
4178        mispred: __u64,
4179        predicted: __u64,
4180        in_tx: __u64,
4181        abort: __u64,
4182        cycles: __u64,
4183        type_: __u64,
4184        spec: __u64,
4185        new_type: __u64,
4186        priv_: __u64,
4187        reserved: __u64,
4188    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
4189        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
4190        __bindgen_bitfield_unit.set(0usize, 1u8, {
4191            let mispred: u64 = unsafe { ::std::mem::transmute(mispred) };
4192            mispred as u64
4193        });
4194        __bindgen_bitfield_unit.set(1usize, 1u8, {
4195            let predicted: u64 = unsafe { ::std::mem::transmute(predicted) };
4196            predicted as u64
4197        });
4198        __bindgen_bitfield_unit.set(2usize, 1u8, {
4199            let in_tx: u64 = unsafe { ::std::mem::transmute(in_tx) };
4200            in_tx as u64
4201        });
4202        __bindgen_bitfield_unit.set(3usize, 1u8, {
4203            let abort: u64 = unsafe { ::std::mem::transmute(abort) };
4204            abort as u64
4205        });
4206        __bindgen_bitfield_unit.set(4usize, 16u8, {
4207            let cycles: u64 = unsafe { ::std::mem::transmute(cycles) };
4208            cycles as u64
4209        });
4210        __bindgen_bitfield_unit.set(20usize, 4u8, {
4211            let type_: u64 = unsafe { ::std::mem::transmute(type_) };
4212            type_ as u64
4213        });
4214        __bindgen_bitfield_unit.set(24usize, 2u8, {
4215            let spec: u64 = unsafe { ::std::mem::transmute(spec) };
4216            spec as u64
4217        });
4218        __bindgen_bitfield_unit.set(26usize, 4u8, {
4219            let new_type: u64 = unsafe { ::std::mem::transmute(new_type) };
4220            new_type as u64
4221        });
4222        __bindgen_bitfield_unit.set(30usize, 3u8, {
4223            let priv_: u64 = unsafe { ::std::mem::transmute(priv_) };
4224            priv_ as u64
4225        });
4226        __bindgen_bitfield_unit.set(33usize, 31u8, {
4227            let reserved: u64 = unsafe { ::std::mem::transmute(reserved) };
4228            reserved as u64
4229        });
4230        __bindgen_bitfield_unit
4231    }
4232}
4233#[repr(C)]
4234#[derive(Copy, Clone)]
4235pub union perf_sample_weight {
4236    pub full: __u64,
4237    pub __bindgen_anon_1: perf_sample_weight__bindgen_ty_1,
4238}
4239#[repr(C)]
4240#[derive(Debug, Default, Copy, Clone)]
4241pub struct perf_sample_weight__bindgen_ty_1 {
4242    pub var1_dw: __u32,
4243    pub var2_w: __u16,
4244    pub var3_w: __u16,
4245}
4246#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4247const _: () = {
4248    ["Size of perf_sample_weight__bindgen_ty_1"]
4249        [::std::mem::size_of::<perf_sample_weight__bindgen_ty_1>() - 8usize];
4250    ["Alignment of perf_sample_weight__bindgen_ty_1"]
4251        [::std::mem::align_of::<perf_sample_weight__bindgen_ty_1>() - 4usize];
4252    ["Offset of field: perf_sample_weight__bindgen_ty_1::var1_dw"]
4253        [::std::mem::offset_of!(perf_sample_weight__bindgen_ty_1, var1_dw) - 0usize];
4254    ["Offset of field: perf_sample_weight__bindgen_ty_1::var2_w"]
4255        [::std::mem::offset_of!(perf_sample_weight__bindgen_ty_1, var2_w) - 4usize];
4256    ["Offset of field: perf_sample_weight__bindgen_ty_1::var3_w"]
4257        [::std::mem::offset_of!(perf_sample_weight__bindgen_ty_1, var3_w) - 6usize];
4258};
4259#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4260const _: () = {
4261    ["Size of perf_sample_weight"][::std::mem::size_of::<perf_sample_weight>() - 8usize];
4262    ["Alignment of perf_sample_weight"][::std::mem::align_of::<perf_sample_weight>() - 8usize];
4263    ["Offset of field: perf_sample_weight::full"]
4264        [::std::mem::offset_of!(perf_sample_weight, full) - 0usize];
4265};
4266impl Default for perf_sample_weight {
4267    fn default() -> Self {
4268        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4269        unsafe {
4270            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4271            s.assume_init()
4272        }
4273    }
4274}
4275impl ::std::fmt::Debug for perf_sample_weight {
4276    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4277        write!(f, "perf_sample_weight {{ union }}")
4278    }
4279}
4280pub const HW_BREAKPOINT_LEN_1: _bindgen_ty_7 = 1;
4281pub const HW_BREAKPOINT_LEN_2: _bindgen_ty_7 = 2;
4282pub const HW_BREAKPOINT_LEN_3: _bindgen_ty_7 = 3;
4283pub const HW_BREAKPOINT_LEN_4: _bindgen_ty_7 = 4;
4284pub const HW_BREAKPOINT_LEN_5: _bindgen_ty_7 = 5;
4285pub const HW_BREAKPOINT_LEN_6: _bindgen_ty_7 = 6;
4286pub const HW_BREAKPOINT_LEN_7: _bindgen_ty_7 = 7;
4287pub const HW_BREAKPOINT_LEN_8: _bindgen_ty_7 = 8;
4288pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
4289pub const HW_BREAKPOINT_EMPTY: _bindgen_ty_8 = 0;
4290pub const HW_BREAKPOINT_R: _bindgen_ty_8 = 1;
4291pub const HW_BREAKPOINT_W: _bindgen_ty_8 = 2;
4292pub const HW_BREAKPOINT_RW: _bindgen_ty_8 = 3;
4293pub const HW_BREAKPOINT_X: _bindgen_ty_8 = 4;
4294pub const HW_BREAKPOINT_INVALID: _bindgen_ty_8 = 7;
4295pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
4296pub const ENABLE: perf_event_ioctls = 9216;
4297pub const DISABLE: perf_event_ioctls = 9217;
4298pub const REFRESH: perf_event_ioctls = 9218;
4299pub const RESET: perf_event_ioctls = 9219;
4300pub const PERIOD: perf_event_ioctls = 1074275332;
4301pub const SET_OUTPUT: perf_event_ioctls = 9221;
4302pub const SET_FILTER: perf_event_ioctls = 1074275334;
4303pub const ID: perf_event_ioctls = 2148017159;
4304pub const SET_BPF: perf_event_ioctls = 1074013192;
4305pub const PAUSE_OUTPUT: perf_event_ioctls = 1074013193;
4306pub const QUERY_BPF: perf_event_ioctls = 3221758986;
4307pub const MODIFY_ATTRIBUTES: perf_event_ioctls = 1074275339;
4308pub type perf_event_ioctls = ::std::os::raw::c_uint;