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 
22 /* automatically generated by rust-bindgen 0.54.1 */
23 
24 #[repr(C)]
25 #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
26 pub struct __BindgenBitfieldUnit<Storage, Align> {
27     storage: Storage,
28     align: [Align; 0],
29 }
30 impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
31     #[inline]
new(storage: Storage) -> Self32     pub const fn new(storage: Storage) -> Self {
33         Self { storage, align: [] }
34     }
35 }
36 impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
37 where
38     Storage: AsRef<[u8]> + AsMut<[u8]>,
39 {
40     #[inline]
get_bit(&self, index: usize) -> bool41     pub fn get_bit(&self, index: usize) -> bool {
42         debug_assert!(index / 8 < self.storage.as_ref().len());
43         let byte_index = index / 8;
44         let byte = self.storage.as_ref()[byte_index];
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]
set_bit(&mut self, index: usize, val: bool)54     pub fn set_bit(&mut self, index: usize, val: bool) {
55         debug_assert!(index / 8 < self.storage.as_ref().len());
56         let byte_index = index / 8;
57         let byte = &mut self.storage.as_mut()[byte_index];
58         let bit_index = if cfg!(target_endian = "big") {
59             7 - (index % 8)
60         } else {
61             index % 8
62         };
63         let mask = 1 << bit_index;
64         if val {
65             *byte |= mask;
66         } else {
67             *byte &= !mask;
68         }
69     }
70     #[inline]
get(&self, bit_offset: usize, bit_width: u8) -> u6471     pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
72         debug_assert!(bit_width <= 64);
73         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75         let mut val = 0;
76         for i in 0..(bit_width as usize) {
77             if self.get_bit(i + bit_offset) {
78                 let index = if cfg!(target_endian = "big") {
79                     bit_width as usize - 1 - i
80                 } else {
81                     i
82                 };
83                 val |= 1 << index;
84             }
85         }
86         val
87     }
88     #[inline]
set(&mut self, bit_offset: usize, bit_width: u8, val: u64)89     pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
90         debug_assert!(bit_width <= 64);
91         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
92         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
93         for i in 0..(bit_width as usize) {
94             let mask = 1 << i;
95             let val_bit_is_set = val & mask == mask;
96             let index = if cfg!(target_endian = "big") {
97                 bit_width as usize - 1 - i
98             } else {
99                 i
100             };
101             self.set_bit(index + bit_offset, val_bit_is_set);
102         }
103     }
104 }
105 #[repr(C)]
106 #[derive(Default)]
107 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
108 impl<T> __IncompleteArrayField<T> {
109     #[inline]
new() -> Self110     pub const fn new() -> Self {
111         __IncompleteArrayField(::std::marker::PhantomData, [])
112     }
113     #[inline]
as_ptr(&self) -> *const T114     pub fn as_ptr(&self) -> *const T {
115         self as *const _ as *const T
116     }
117     #[inline]
as_mut_ptr(&mut self) -> *mut T118     pub fn as_mut_ptr(&mut self) -> *mut T {
119         self as *mut _ as *mut T
120     }
121     #[inline]
as_slice(&self, len: usize) -> &[T]122     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
123         ::std::slice::from_raw_parts(self.as_ptr(), len)
124     }
125     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]126     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
127         ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
128     }
129 }
130 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result131     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
132         fmt.write_str("__IncompleteArrayField")
133     }
134 }
135 pub const __BITS_PER_LONG: u32 = 64;
136 pub const __FD_SETSIZE: u32 = 1024;
137 pub const _IOC_NRBITS: u32 = 8;
138 pub const _IOC_TYPEBITS: u32 = 8;
139 pub const _IOC_SIZEBITS: u32 = 14;
140 pub const _IOC_DIRBITS: u32 = 2;
141 pub const _IOC_NRMASK: u32 = 255;
142 pub const _IOC_TYPEMASK: u32 = 255;
143 pub const _IOC_SIZEMASK: u32 = 16383;
144 pub const _IOC_DIRMASK: u32 = 3;
145 pub const _IOC_NRSHIFT: u32 = 0;
146 pub const _IOC_TYPESHIFT: u32 = 8;
147 pub const _IOC_SIZESHIFT: u32 = 16;
148 pub const _IOC_DIRSHIFT: u32 = 30;
149 pub const _IOC_NONE: u32 = 0;
150 pub const _IOC_WRITE: u32 = 1;
151 pub const _IOC_READ: u32 = 2;
152 pub const IOC_IN: u32 = 1073741824;
153 pub const IOC_OUT: u32 = 2147483648;
154 pub const IOC_INOUT: u32 = 3221225472;
155 pub const IOCSIZE_MASK: u32 = 1073676288;
156 pub const IOCSIZE_SHIFT: u32 = 16;
157 pub const __LITTLE_ENDIAN: u32 = 1234;
158 pub const PERF_ATTR_SIZE_VER0: u32 = 64;
159 pub const PERF_ATTR_SIZE_VER1: u32 = 72;
160 pub const PERF_ATTR_SIZE_VER2: u32 = 80;
161 pub const PERF_ATTR_SIZE_VER3: u32 = 96;
162 pub const PERF_ATTR_SIZE_VER4: u32 = 104;
163 pub const PERF_ATTR_SIZE_VER5: u32 = 112;
164 pub const PERF_ATTR_SIZE_VER6: u32 = 120;
165 pub const PERF_RECORD_MISC_CPUMODE_MASK: u32 = 7;
166 pub const PERF_RECORD_MISC_CPUMODE_UNKNOWN: u32 = 0;
167 pub const PERF_RECORD_MISC_KERNEL: u32 = 1;
168 pub const PERF_RECORD_MISC_USER: u32 = 2;
169 pub const PERF_RECORD_MISC_HYPERVISOR: u32 = 3;
170 pub const PERF_RECORD_MISC_GUEST_KERNEL: u32 = 4;
171 pub const PERF_RECORD_MISC_GUEST_USER: u32 = 5;
172 pub const PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT: u32 = 4096;
173 pub const PERF_RECORD_MISC_MMAP_DATA: u32 = 8192;
174 pub const PERF_RECORD_MISC_COMM_EXEC: u32 = 8192;
175 pub const PERF_RECORD_MISC_FORK_EXEC: u32 = 8192;
176 pub const PERF_RECORD_MISC_SWITCH_OUT: u32 = 8192;
177 pub const PERF_RECORD_MISC_EXACT_IP: u32 = 16384;
178 pub const PERF_RECORD_MISC_SWITCH_OUT_PREEMPT: u32 = 16384;
179 pub const PERF_RECORD_MISC_EXT_RESERVED: u32 = 32768;
180 pub const PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER: u32 = 1;
181 pub const PERF_MAX_STACK_DEPTH: u32 = 127;
182 pub const PERF_MAX_CONTEXTS_PER_STACK: u32 = 8;
183 pub const PERF_AUX_FLAG_TRUNCATED: u32 = 1;
184 pub const PERF_AUX_FLAG_OVERWRITE: u32 = 2;
185 pub const PERF_AUX_FLAG_PARTIAL: u32 = 4;
186 pub const PERF_AUX_FLAG_COLLISION: u32 = 8;
187 pub const PERF_FLAG_FD_NO_GROUP: u32 = 1;
188 pub const PERF_FLAG_FD_OUTPUT: u32 = 2;
189 pub const PERF_FLAG_PID_CGROUP: u32 = 4;
190 pub const PERF_FLAG_FD_CLOEXEC: u32 = 8;
191 pub const PERF_MEM_OP_NA: u32 = 1;
192 pub const PERF_MEM_OP_LOAD: u32 = 2;
193 pub const PERF_MEM_OP_STORE: u32 = 4;
194 pub const PERF_MEM_OP_PFETCH: u32 = 8;
195 pub const PERF_MEM_OP_EXEC: u32 = 16;
196 pub const PERF_MEM_OP_SHIFT: u32 = 0;
197 pub const PERF_MEM_LVL_NA: u32 = 1;
198 pub const PERF_MEM_LVL_HIT: u32 = 2;
199 pub const PERF_MEM_LVL_MISS: u32 = 4;
200 pub const PERF_MEM_LVL_L1: u32 = 8;
201 pub const PERF_MEM_LVL_LFB: u32 = 16;
202 pub const PERF_MEM_LVL_L2: u32 = 32;
203 pub const PERF_MEM_LVL_L3: u32 = 64;
204 pub const PERF_MEM_LVL_LOC_RAM: u32 = 128;
205 pub const PERF_MEM_LVL_REM_RAM1: u32 = 256;
206 pub const PERF_MEM_LVL_REM_RAM2: u32 = 512;
207 pub const PERF_MEM_LVL_REM_CCE1: u32 = 1024;
208 pub const PERF_MEM_LVL_REM_CCE2: u32 = 2048;
209 pub const PERF_MEM_LVL_IO: u32 = 4096;
210 pub const PERF_MEM_LVL_UNC: u32 = 8192;
211 pub const PERF_MEM_LVL_SHIFT: u32 = 5;
212 pub const PERF_MEM_REMOTE_REMOTE: u32 = 1;
213 pub const PERF_MEM_REMOTE_SHIFT: u32 = 37;
214 pub const PERF_MEM_LVLNUM_L1: u32 = 1;
215 pub const PERF_MEM_LVLNUM_L2: u32 = 2;
216 pub const PERF_MEM_LVLNUM_L3: u32 = 3;
217 pub const PERF_MEM_LVLNUM_L4: u32 = 4;
218 pub const PERF_MEM_LVLNUM_ANY_CACHE: u32 = 11;
219 pub const PERF_MEM_LVLNUM_LFB: u32 = 12;
220 pub const PERF_MEM_LVLNUM_RAM: u32 = 13;
221 pub const PERF_MEM_LVLNUM_PMEM: u32 = 14;
222 pub const PERF_MEM_LVLNUM_NA: u32 = 15;
223 pub const PERF_MEM_LVLNUM_SHIFT: u32 = 33;
224 pub const PERF_MEM_SNOOP_NA: u32 = 1;
225 pub const PERF_MEM_SNOOP_NONE: u32 = 2;
226 pub const PERF_MEM_SNOOP_HIT: u32 = 4;
227 pub const PERF_MEM_SNOOP_MISS: u32 = 8;
228 pub const PERF_MEM_SNOOP_HITM: u32 = 16;
229 pub const PERF_MEM_SNOOP_SHIFT: u32 = 19;
230 pub const PERF_MEM_SNOOPX_FWD: u32 = 1;
231 pub const PERF_MEM_SNOOPX_SHIFT: u32 = 37;
232 pub const PERF_MEM_LOCK_NA: u32 = 1;
233 pub const PERF_MEM_LOCK_LOCKED: u32 = 2;
234 pub const PERF_MEM_LOCK_SHIFT: u32 = 24;
235 pub const PERF_MEM_TLB_NA: u32 = 1;
236 pub const PERF_MEM_TLB_HIT: u32 = 2;
237 pub const PERF_MEM_TLB_MISS: u32 = 4;
238 pub const PERF_MEM_TLB_L1: u32 = 8;
239 pub const PERF_MEM_TLB_L2: u32 = 16;
240 pub const PERF_MEM_TLB_WK: u32 = 32;
241 pub const PERF_MEM_TLB_OS: u32 = 64;
242 pub const PERF_MEM_TLB_SHIFT: u32 = 26;
243 pub const __X32_SYSCALL_BIT: u32 = 1073741824;
244 pub const _ASM_X86_UNISTD_64_H: u32 = 1;
245 pub const __NR_read: u32 = 0;
246 pub const __NR_write: u32 = 1;
247 pub const __NR_open: u32 = 2;
248 pub const __NR_close: u32 = 3;
249 pub const __NR_stat: u32 = 4;
250 pub const __NR_fstat: u32 = 5;
251 pub const __NR_lstat: u32 = 6;
252 pub const __NR_poll: u32 = 7;
253 pub const __NR_lseek: u32 = 8;
254 pub const __NR_mmap: u32 = 9;
255 pub const __NR_mprotect: u32 = 10;
256 pub const __NR_munmap: u32 = 11;
257 pub const __NR_brk: u32 = 12;
258 pub const __NR_rt_sigaction: u32 = 13;
259 pub const __NR_rt_sigprocmask: u32 = 14;
260 pub const __NR_rt_sigreturn: u32 = 15;
261 pub const __NR_ioctl: u32 = 16;
262 pub const __NR_pread64: u32 = 17;
263 pub const __NR_pwrite64: u32 = 18;
264 pub const __NR_readv: u32 = 19;
265 pub const __NR_writev: u32 = 20;
266 pub const __NR_access: u32 = 21;
267 pub const __NR_pipe: u32 = 22;
268 pub const __NR_select: u32 = 23;
269 pub const __NR_sched_yield: u32 = 24;
270 pub const __NR_mremap: u32 = 25;
271 pub const __NR_msync: u32 = 26;
272 pub const __NR_mincore: u32 = 27;
273 pub const __NR_madvise: u32 = 28;
274 pub const __NR_shmget: u32 = 29;
275 pub const __NR_shmat: u32 = 30;
276 pub const __NR_shmctl: u32 = 31;
277 pub const __NR_dup: u32 = 32;
278 pub const __NR_dup2: u32 = 33;
279 pub const __NR_pause: u32 = 34;
280 pub const __NR_nanosleep: u32 = 35;
281 pub const __NR_getitimer: u32 = 36;
282 pub const __NR_alarm: u32 = 37;
283 pub const __NR_setitimer: u32 = 38;
284 pub const __NR_getpid: u32 = 39;
285 pub const __NR_sendfile: u32 = 40;
286 pub const __NR_socket: u32 = 41;
287 pub const __NR_connect: u32 = 42;
288 pub const __NR_accept: u32 = 43;
289 pub const __NR_sendto: u32 = 44;
290 pub const __NR_recvfrom: u32 = 45;
291 pub const __NR_sendmsg: u32 = 46;
292 pub const __NR_recvmsg: u32 = 47;
293 pub const __NR_shutdown: u32 = 48;
294 pub const __NR_bind: u32 = 49;
295 pub const __NR_listen: u32 = 50;
296 pub const __NR_getsockname: u32 = 51;
297 pub const __NR_getpeername: u32 = 52;
298 pub const __NR_socketpair: u32 = 53;
299 pub const __NR_setsockopt: u32 = 54;
300 pub const __NR_getsockopt: u32 = 55;
301 pub const __NR_clone: u32 = 56;
302 pub const __NR_fork: u32 = 57;
303 pub const __NR_vfork: u32 = 58;
304 pub const __NR_execve: u32 = 59;
305 pub const __NR_exit: u32 = 60;
306 pub const __NR_wait4: u32 = 61;
307 pub const __NR_kill: u32 = 62;
308 pub const __NR_uname: u32 = 63;
309 pub const __NR_semget: u32 = 64;
310 pub const __NR_semop: u32 = 65;
311 pub const __NR_semctl: u32 = 66;
312 pub const __NR_shmdt: u32 = 67;
313 pub const __NR_msgget: u32 = 68;
314 pub const __NR_msgsnd: u32 = 69;
315 pub const __NR_msgrcv: u32 = 70;
316 pub const __NR_msgctl: u32 = 71;
317 pub const __NR_fcntl: u32 = 72;
318 pub const __NR_flock: u32 = 73;
319 pub const __NR_fsync: u32 = 74;
320 pub const __NR_fdatasync: u32 = 75;
321 pub const __NR_truncate: u32 = 76;
322 pub const __NR_ftruncate: u32 = 77;
323 pub const __NR_getdents: u32 = 78;
324 pub const __NR_getcwd: u32 = 79;
325 pub const __NR_chdir: u32 = 80;
326 pub const __NR_fchdir: u32 = 81;
327 pub const __NR_rename: u32 = 82;
328 pub const __NR_mkdir: u32 = 83;
329 pub const __NR_rmdir: u32 = 84;
330 pub const __NR_creat: u32 = 85;
331 pub const __NR_link: u32 = 86;
332 pub const __NR_unlink: u32 = 87;
333 pub const __NR_symlink: u32 = 88;
334 pub const __NR_readlink: u32 = 89;
335 pub const __NR_chmod: u32 = 90;
336 pub const __NR_fchmod: u32 = 91;
337 pub const __NR_chown: u32 = 92;
338 pub const __NR_fchown: u32 = 93;
339 pub const __NR_lchown: u32 = 94;
340 pub const __NR_umask: u32 = 95;
341 pub const __NR_gettimeofday: u32 = 96;
342 pub const __NR_getrlimit: u32 = 97;
343 pub const __NR_getrusage: u32 = 98;
344 pub const __NR_sysinfo: u32 = 99;
345 pub const __NR_times: u32 = 100;
346 pub const __NR_ptrace: u32 = 101;
347 pub const __NR_getuid: u32 = 102;
348 pub const __NR_syslog: u32 = 103;
349 pub const __NR_getgid: u32 = 104;
350 pub const __NR_setuid: u32 = 105;
351 pub const __NR_setgid: u32 = 106;
352 pub const __NR_geteuid: u32 = 107;
353 pub const __NR_getegid: u32 = 108;
354 pub const __NR_setpgid: u32 = 109;
355 pub const __NR_getppid: u32 = 110;
356 pub const __NR_getpgrp: u32 = 111;
357 pub const __NR_setsid: u32 = 112;
358 pub const __NR_setreuid: u32 = 113;
359 pub const __NR_setregid: u32 = 114;
360 pub const __NR_getgroups: u32 = 115;
361 pub const __NR_setgroups: u32 = 116;
362 pub const __NR_setresuid: u32 = 117;
363 pub const __NR_getresuid: u32 = 118;
364 pub const __NR_setresgid: u32 = 119;
365 pub const __NR_getresgid: u32 = 120;
366 pub const __NR_getpgid: u32 = 121;
367 pub const __NR_setfsuid: u32 = 122;
368 pub const __NR_setfsgid: u32 = 123;
369 pub const __NR_getsid: u32 = 124;
370 pub const __NR_capget: u32 = 125;
371 pub const __NR_capset: u32 = 126;
372 pub const __NR_rt_sigpending: u32 = 127;
373 pub const __NR_rt_sigtimedwait: u32 = 128;
374 pub const __NR_rt_sigqueueinfo: u32 = 129;
375 pub const __NR_rt_sigsuspend: u32 = 130;
376 pub const __NR_sigaltstack: u32 = 131;
377 pub const __NR_utime: u32 = 132;
378 pub const __NR_mknod: u32 = 133;
379 pub const __NR_uselib: u32 = 134;
380 pub const __NR_personality: u32 = 135;
381 pub const __NR_ustat: u32 = 136;
382 pub const __NR_statfs: u32 = 137;
383 pub const __NR_fstatfs: u32 = 138;
384 pub const __NR_sysfs: u32 = 139;
385 pub const __NR_getpriority: u32 = 140;
386 pub const __NR_setpriority: u32 = 141;
387 pub const __NR_sched_setparam: u32 = 142;
388 pub const __NR_sched_getparam: u32 = 143;
389 pub const __NR_sched_setscheduler: u32 = 144;
390 pub const __NR_sched_getscheduler: u32 = 145;
391 pub const __NR_sched_get_priority_max: u32 = 146;
392 pub const __NR_sched_get_priority_min: u32 = 147;
393 pub const __NR_sched_rr_get_interval: u32 = 148;
394 pub const __NR_mlock: u32 = 149;
395 pub const __NR_munlock: u32 = 150;
396 pub const __NR_mlockall: u32 = 151;
397 pub const __NR_munlockall: u32 = 152;
398 pub const __NR_vhangup: u32 = 153;
399 pub const __NR_modify_ldt: u32 = 154;
400 pub const __NR_pivot_root: u32 = 155;
401 pub const __NR__sysctl: u32 = 156;
402 pub const __NR_prctl: u32 = 157;
403 pub const __NR_arch_prctl: u32 = 158;
404 pub const __NR_adjtimex: u32 = 159;
405 pub const __NR_setrlimit: u32 = 160;
406 pub const __NR_chroot: u32 = 161;
407 pub const __NR_sync: u32 = 162;
408 pub const __NR_acct: u32 = 163;
409 pub const __NR_settimeofday: u32 = 164;
410 pub const __NR_mount: u32 = 165;
411 pub const __NR_umount2: u32 = 166;
412 pub const __NR_swapon: u32 = 167;
413 pub const __NR_swapoff: u32 = 168;
414 pub const __NR_reboot: u32 = 169;
415 pub const __NR_sethostname: u32 = 170;
416 pub const __NR_setdomainname: u32 = 171;
417 pub const __NR_iopl: u32 = 172;
418 pub const __NR_ioperm: u32 = 173;
419 pub const __NR_create_module: u32 = 174;
420 pub const __NR_init_module: u32 = 175;
421 pub const __NR_delete_module: u32 = 176;
422 pub const __NR_get_kernel_syms: u32 = 177;
423 pub const __NR_query_module: u32 = 178;
424 pub const __NR_quotactl: u32 = 179;
425 pub const __NR_nfsservctl: u32 = 180;
426 pub const __NR_getpmsg: u32 = 181;
427 pub const __NR_putpmsg: u32 = 182;
428 pub const __NR_afs_syscall: u32 = 183;
429 pub const __NR_tuxcall: u32 = 184;
430 pub const __NR_security: u32 = 185;
431 pub const __NR_gettid: u32 = 186;
432 pub const __NR_readahead: u32 = 187;
433 pub const __NR_setxattr: u32 = 188;
434 pub const __NR_lsetxattr: u32 = 189;
435 pub const __NR_fsetxattr: u32 = 190;
436 pub const __NR_getxattr: u32 = 191;
437 pub const __NR_lgetxattr: u32 = 192;
438 pub const __NR_fgetxattr: u32 = 193;
439 pub const __NR_listxattr: u32 = 194;
440 pub const __NR_llistxattr: u32 = 195;
441 pub const __NR_flistxattr: u32 = 196;
442 pub const __NR_removexattr: u32 = 197;
443 pub const __NR_lremovexattr: u32 = 198;
444 pub const __NR_fremovexattr: u32 = 199;
445 pub const __NR_tkill: u32 = 200;
446 pub const __NR_time: u32 = 201;
447 pub const __NR_futex: u32 = 202;
448 pub const __NR_sched_setaffinity: u32 = 203;
449 pub const __NR_sched_getaffinity: u32 = 204;
450 pub const __NR_set_thread_area: u32 = 205;
451 pub const __NR_io_setup: u32 = 206;
452 pub const __NR_io_destroy: u32 = 207;
453 pub const __NR_io_getevents: u32 = 208;
454 pub const __NR_io_submit: u32 = 209;
455 pub const __NR_io_cancel: u32 = 210;
456 pub const __NR_get_thread_area: u32 = 211;
457 pub const __NR_lookup_dcookie: u32 = 212;
458 pub const __NR_epoll_create: u32 = 213;
459 pub const __NR_epoll_ctl_old: u32 = 214;
460 pub const __NR_epoll_wait_old: u32 = 215;
461 pub const __NR_remap_file_pages: u32 = 216;
462 pub const __NR_getdents64: u32 = 217;
463 pub const __NR_set_tid_address: u32 = 218;
464 pub const __NR_restart_syscall: u32 = 219;
465 pub const __NR_semtimedop: u32 = 220;
466 pub const __NR_fadvise64: u32 = 221;
467 pub const __NR_timer_create: u32 = 222;
468 pub const __NR_timer_settime: u32 = 223;
469 pub const __NR_timer_gettime: u32 = 224;
470 pub const __NR_timer_getoverrun: u32 = 225;
471 pub const __NR_timer_delete: u32 = 226;
472 pub const __NR_clock_settime: u32 = 227;
473 pub const __NR_clock_gettime: u32 = 228;
474 pub const __NR_clock_getres: u32 = 229;
475 pub const __NR_clock_nanosleep: u32 = 230;
476 pub const __NR_exit_group: u32 = 231;
477 pub const __NR_epoll_wait: u32 = 232;
478 pub const __NR_epoll_ctl: u32 = 233;
479 pub const __NR_tgkill: u32 = 234;
480 pub const __NR_utimes: u32 = 235;
481 pub const __NR_vserver: u32 = 236;
482 pub const __NR_mbind: u32 = 237;
483 pub const __NR_set_mempolicy: u32 = 238;
484 pub const __NR_get_mempolicy: u32 = 239;
485 pub const __NR_mq_open: u32 = 240;
486 pub const __NR_mq_unlink: u32 = 241;
487 pub const __NR_mq_timedsend: u32 = 242;
488 pub const __NR_mq_timedreceive: u32 = 243;
489 pub const __NR_mq_notify: u32 = 244;
490 pub const __NR_mq_getsetattr: u32 = 245;
491 pub const __NR_kexec_load: u32 = 246;
492 pub const __NR_waitid: u32 = 247;
493 pub const __NR_add_key: u32 = 248;
494 pub const __NR_request_key: u32 = 249;
495 pub const __NR_keyctl: u32 = 250;
496 pub const __NR_ioprio_set: u32 = 251;
497 pub const __NR_ioprio_get: u32 = 252;
498 pub const __NR_inotify_init: u32 = 253;
499 pub const __NR_inotify_add_watch: u32 = 254;
500 pub const __NR_inotify_rm_watch: u32 = 255;
501 pub const __NR_migrate_pages: u32 = 256;
502 pub const __NR_openat: u32 = 257;
503 pub const __NR_mkdirat: u32 = 258;
504 pub const __NR_mknodat: u32 = 259;
505 pub const __NR_fchownat: u32 = 260;
506 pub const __NR_futimesat: u32 = 261;
507 pub const __NR_newfstatat: u32 = 262;
508 pub const __NR_unlinkat: u32 = 263;
509 pub const __NR_renameat: u32 = 264;
510 pub const __NR_linkat: u32 = 265;
511 pub const __NR_symlinkat: u32 = 266;
512 pub const __NR_readlinkat: u32 = 267;
513 pub const __NR_fchmodat: u32 = 268;
514 pub const __NR_faccessat: u32 = 269;
515 pub const __NR_pselect6: u32 = 270;
516 pub const __NR_ppoll: u32 = 271;
517 pub const __NR_unshare: u32 = 272;
518 pub const __NR_set_robust_list: u32 = 273;
519 pub const __NR_get_robust_list: u32 = 274;
520 pub const __NR_splice: u32 = 275;
521 pub const __NR_tee: u32 = 276;
522 pub const __NR_sync_file_range: u32 = 277;
523 pub const __NR_vmsplice: u32 = 278;
524 pub const __NR_move_pages: u32 = 279;
525 pub const __NR_utimensat: u32 = 280;
526 pub const __NR_epoll_pwait: u32 = 281;
527 pub const __NR_signalfd: u32 = 282;
528 pub const __NR_timerfd_create: u32 = 283;
529 pub const __NR_eventfd: u32 = 284;
530 pub const __NR_fallocate: u32 = 285;
531 pub const __NR_timerfd_settime: u32 = 286;
532 pub const __NR_timerfd_gettime: u32 = 287;
533 pub const __NR_accept4: u32 = 288;
534 pub const __NR_signalfd4: u32 = 289;
535 pub const __NR_eventfd2: u32 = 290;
536 pub const __NR_epoll_create1: u32 = 291;
537 pub const __NR_dup3: u32 = 292;
538 pub const __NR_pipe2: u32 = 293;
539 pub const __NR_inotify_init1: u32 = 294;
540 pub const __NR_preadv: u32 = 295;
541 pub const __NR_pwritev: u32 = 296;
542 pub const __NR_rt_tgsigqueueinfo: u32 = 297;
543 pub const __NR_perf_event_open: u32 = 298;
544 pub const __NR_recvmmsg: u32 = 299;
545 pub const __NR_fanotify_init: u32 = 300;
546 pub const __NR_fanotify_mark: u32 = 301;
547 pub const __NR_prlimit64: u32 = 302;
548 pub const __NR_name_to_handle_at: u32 = 303;
549 pub const __NR_open_by_handle_at: u32 = 304;
550 pub const __NR_clock_adjtime: u32 = 305;
551 pub const __NR_syncfs: u32 = 306;
552 pub const __NR_sendmmsg: u32 = 307;
553 pub const __NR_setns: u32 = 308;
554 pub const __NR_getcpu: u32 = 309;
555 pub const __NR_process_vm_readv: u32 = 310;
556 pub const __NR_process_vm_writev: u32 = 311;
557 pub const __NR_kcmp: u32 = 312;
558 pub const __NR_finit_module: u32 = 313;
559 pub const __NR_sched_setattr: u32 = 314;
560 pub const __NR_sched_getattr: u32 = 315;
561 pub const __NR_renameat2: u32 = 316;
562 pub const __NR_seccomp: u32 = 317;
563 pub const __NR_getrandom: u32 = 318;
564 pub const __NR_memfd_create: u32 = 319;
565 pub const __NR_kexec_file_load: u32 = 320;
566 pub const __NR_bpf: u32 = 321;
567 pub const __NR_execveat: u32 = 322;
568 pub const __NR_userfaultfd: u32 = 323;
569 pub const __NR_membarrier: u32 = 324;
570 pub const __NR_mlock2: u32 = 325;
571 pub const __NR_copy_file_range: u32 = 326;
572 pub const __NR_preadv2: u32 = 327;
573 pub const __NR_pwritev2: u32 = 328;
574 pub const __NR_pkey_mprotect: u32 = 329;
575 pub const __NR_pkey_alloc: u32 = 330;
576 pub const __NR_pkey_free: u32 = 331;
577 pub const __NR_statx: u32 = 332;
578 pub const __NR_io_pgetevents: u32 = 333;
579 pub const __NR_rseq: u32 = 334;
580 pub const __NR_pidfd_send_signal: u32 = 424;
581 pub const __NR_io_uring_setup: u32 = 425;
582 pub const __NR_io_uring_enter: u32 = 426;
583 pub const __NR_io_uring_register: u32 = 427;
584 pub const __NR_open_tree: u32 = 428;
585 pub const __NR_move_mount: u32 = 429;
586 pub const __NR_fsopen: u32 = 430;
587 pub const __NR_fsconfig: u32 = 431;
588 pub const __NR_fsmount: u32 = 432;
589 pub const __NR_fspick: u32 = 433;
590 pub const __NR_pidfd_open: u32 = 434;
591 pub const __NR_clone3: u32 = 435;
592 pub const __NR_openat2: u32 = 437;
593 pub const __NR_pidfd_getfd: u32 = 438;
594 pub type __s8 = ::std::os::raw::c_schar;
595 pub type __u8 = ::std::os::raw::c_uchar;
596 pub type __s16 = ::std::os::raw::c_short;
597 pub type __u16 = ::std::os::raw::c_ushort;
598 pub type __s32 = ::std::os::raw::c_int;
599 pub type __u32 = ::std::os::raw::c_uint;
600 pub type __s64 = ::std::os::raw::c_longlong;
601 pub type __u64 = ::std::os::raw::c_ulonglong;
602 #[repr(C)]
603 #[derive(Debug, Default, Copy, Clone)]
604 pub struct __kernel_fd_set {
605     pub fds_bits: [::std::os::raw::c_ulong; 16usize],
606 }
607 #[test]
bindgen_test_layout___kernel_fd_set()608 fn bindgen_test_layout___kernel_fd_set() {
609     assert_eq!(
610         ::std::mem::size_of::<__kernel_fd_set>(),
611         128usize,
612         concat!("Size of: ", stringify!(__kernel_fd_set))
613     );
614     assert_eq!(
615         ::std::mem::align_of::<__kernel_fd_set>(),
616         8usize,
617         concat!("Alignment of ", stringify!(__kernel_fd_set))
618     );
619     assert_eq!(
620         unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize },
621         0usize,
622         concat!(
623             "Offset of field: ",
624             stringify!(__kernel_fd_set),
625             "::",
626             stringify!(fds_bits)
627         )
628     );
629 }
630 pub type __kernel_sighandler_t =
631     ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
632 pub type __kernel_key_t = ::std::os::raw::c_int;
633 pub type __kernel_mqd_t = ::std::os::raw::c_int;
634 pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
635 pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
636 pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
637 pub type __kernel_long_t = ::std::os::raw::c_long;
638 pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
639 pub type __kernel_ino_t = __kernel_ulong_t;
640 pub type __kernel_mode_t = ::std::os::raw::c_uint;
641 pub type __kernel_pid_t = ::std::os::raw::c_int;
642 pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
643 pub type __kernel_uid_t = ::std::os::raw::c_uint;
644 pub type __kernel_gid_t = ::std::os::raw::c_uint;
645 pub type __kernel_suseconds_t = __kernel_long_t;
646 pub type __kernel_daddr_t = ::std::os::raw::c_int;
647 pub type __kernel_uid32_t = ::std::os::raw::c_uint;
648 pub type __kernel_gid32_t = ::std::os::raw::c_uint;
649 pub type __kernel_size_t = __kernel_ulong_t;
650 pub type __kernel_ssize_t = __kernel_long_t;
651 pub type __kernel_ptrdiff_t = __kernel_long_t;
652 #[repr(C)]
653 #[derive(Debug, Default, Copy, Clone)]
654 pub struct __kernel_fsid_t {
655     pub val: [::std::os::raw::c_int; 2usize],
656 }
657 #[test]
bindgen_test_layout___kernel_fsid_t()658 fn bindgen_test_layout___kernel_fsid_t() {
659     assert_eq!(
660         ::std::mem::size_of::<__kernel_fsid_t>(),
661         8usize,
662         concat!("Size of: ", stringify!(__kernel_fsid_t))
663     );
664     assert_eq!(
665         ::std::mem::align_of::<__kernel_fsid_t>(),
666         4usize,
667         concat!("Alignment of ", stringify!(__kernel_fsid_t))
668     );
669     assert_eq!(
670         unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize },
671         0usize,
672         concat!(
673             "Offset of field: ",
674             stringify!(__kernel_fsid_t),
675             "::",
676             stringify!(val)
677         )
678     );
679 }
680 pub type __kernel_off_t = __kernel_long_t;
681 pub type __kernel_loff_t = ::std::os::raw::c_longlong;
682 pub type __kernel_old_time_t = __kernel_long_t;
683 pub type __kernel_time_t = __kernel_long_t;
684 pub type __kernel_time64_t = ::std::os::raw::c_longlong;
685 pub type __kernel_clock_t = __kernel_long_t;
686 pub type __kernel_timer_t = ::std::os::raw::c_int;
687 pub type __kernel_clockid_t = ::std::os::raw::c_int;
688 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
689 pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
690 pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
691 pub type __le16 = __u16;
692 pub type __be16 = __u16;
693 pub type __le32 = __u32;
694 pub type __be32 = __u32;
695 pub type __le64 = __u64;
696 pub type __be64 = __u64;
697 pub type __sum16 = __u16;
698 pub type __wsum = __u32;
699 pub type __poll_t = ::std::os::raw::c_uint;
700 pub const perf_type_id_PERF_TYPE_HARDWARE: perf_type_id = 0;
701 pub const perf_type_id_PERF_TYPE_SOFTWARE: perf_type_id = 1;
702 pub const perf_type_id_PERF_TYPE_TRACEPOINT: perf_type_id = 2;
703 pub const perf_type_id_PERF_TYPE_HW_CACHE: perf_type_id = 3;
704 pub const perf_type_id_PERF_TYPE_RAW: perf_type_id = 4;
705 pub const perf_type_id_PERF_TYPE_BREAKPOINT: perf_type_id = 5;
706 pub const perf_type_id_PERF_TYPE_MAX: perf_type_id = 6;
707 pub type perf_type_id = u32;
708 pub const perf_hw_id_PERF_COUNT_HW_CPU_CYCLES: perf_hw_id = 0;
709 pub const perf_hw_id_PERF_COUNT_HW_INSTRUCTIONS: perf_hw_id = 1;
710 pub const perf_hw_id_PERF_COUNT_HW_CACHE_REFERENCES: perf_hw_id = 2;
711 pub const perf_hw_id_PERF_COUNT_HW_CACHE_MISSES: perf_hw_id = 3;
712 pub const perf_hw_id_PERF_COUNT_HW_BRANCH_INSTRUCTIONS: perf_hw_id = 4;
713 pub const perf_hw_id_PERF_COUNT_HW_BRANCH_MISSES: perf_hw_id = 5;
714 pub const perf_hw_id_PERF_COUNT_HW_BUS_CYCLES: perf_hw_id = 6;
715 pub const perf_hw_id_PERF_COUNT_HW_STALLED_CYCLES_FRONTEND: perf_hw_id = 7;
716 pub const perf_hw_id_PERF_COUNT_HW_STALLED_CYCLES_BACKEND: perf_hw_id = 8;
717 pub const perf_hw_id_PERF_COUNT_HW_REF_CPU_CYCLES: perf_hw_id = 9;
718 pub const perf_hw_id_PERF_COUNT_HW_MAX: perf_hw_id = 10;
719 pub type perf_hw_id = u32;
720 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_L1D: perf_hw_cache_id = 0;
721 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_L1I: perf_hw_cache_id = 1;
722 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_LL: perf_hw_cache_id = 2;
723 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_DTLB: perf_hw_cache_id = 3;
724 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_ITLB: perf_hw_cache_id = 4;
725 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_BPU: perf_hw_cache_id = 5;
726 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_NODE: perf_hw_cache_id = 6;
727 pub const perf_hw_cache_id_PERF_COUNT_HW_CACHE_MAX: perf_hw_cache_id = 7;
728 pub type perf_hw_cache_id = u32;
729 pub const perf_hw_cache_op_id_PERF_COUNT_HW_CACHE_OP_READ: perf_hw_cache_op_id = 0;
730 pub const perf_hw_cache_op_id_PERF_COUNT_HW_CACHE_OP_WRITE: perf_hw_cache_op_id = 1;
731 pub const perf_hw_cache_op_id_PERF_COUNT_HW_CACHE_OP_PREFETCH: perf_hw_cache_op_id = 2;
732 pub const perf_hw_cache_op_id_PERF_COUNT_HW_CACHE_OP_MAX: perf_hw_cache_op_id = 3;
733 pub type perf_hw_cache_op_id = u32;
734 pub const perf_hw_cache_op_result_id_PERF_COUNT_HW_CACHE_RESULT_ACCESS: perf_hw_cache_op_result_id =
735     0;
736 pub const perf_hw_cache_op_result_id_PERF_COUNT_HW_CACHE_RESULT_MISS: perf_hw_cache_op_result_id =
737     1;
738 pub const perf_hw_cache_op_result_id_PERF_COUNT_HW_CACHE_RESULT_MAX: perf_hw_cache_op_result_id = 2;
739 pub type perf_hw_cache_op_result_id = u32;
740 pub const perf_sw_ids_PERF_COUNT_SW_CPU_CLOCK: perf_sw_ids = 0;
741 pub const perf_sw_ids_PERF_COUNT_SW_TASK_CLOCK: perf_sw_ids = 1;
742 pub const perf_sw_ids_PERF_COUNT_SW_PAGE_FAULTS: perf_sw_ids = 2;
743 pub const perf_sw_ids_PERF_COUNT_SW_CONTEXT_SWITCHES: perf_sw_ids = 3;
744 pub const perf_sw_ids_PERF_COUNT_SW_CPU_MIGRATIONS: perf_sw_ids = 4;
745 pub const perf_sw_ids_PERF_COUNT_SW_PAGE_FAULTS_MIN: perf_sw_ids = 5;
746 pub const perf_sw_ids_PERF_COUNT_SW_PAGE_FAULTS_MAJ: perf_sw_ids = 6;
747 pub const perf_sw_ids_PERF_COUNT_SW_ALIGNMENT_FAULTS: perf_sw_ids = 7;
748 pub const perf_sw_ids_PERF_COUNT_SW_EMULATION_FAULTS: perf_sw_ids = 8;
749 pub const perf_sw_ids_PERF_COUNT_SW_DUMMY: perf_sw_ids = 9;
750 pub const perf_sw_ids_PERF_COUNT_SW_BPF_OUTPUT: perf_sw_ids = 10;
751 pub const perf_sw_ids_PERF_COUNT_SW_MAX: perf_sw_ids = 11;
752 pub type perf_sw_ids = u32;
753 pub const perf_event_sample_format_PERF_SAMPLE_IP: perf_event_sample_format = 1;
754 pub const perf_event_sample_format_PERF_SAMPLE_TID: perf_event_sample_format = 2;
755 pub const perf_event_sample_format_PERF_SAMPLE_TIME: perf_event_sample_format = 4;
756 pub const perf_event_sample_format_PERF_SAMPLE_ADDR: perf_event_sample_format = 8;
757 pub const perf_event_sample_format_PERF_SAMPLE_READ: perf_event_sample_format = 16;
758 pub const perf_event_sample_format_PERF_SAMPLE_CALLCHAIN: perf_event_sample_format = 32;
759 pub const perf_event_sample_format_PERF_SAMPLE_ID: perf_event_sample_format = 64;
760 pub const perf_event_sample_format_PERF_SAMPLE_CPU: perf_event_sample_format = 128;
761 pub const perf_event_sample_format_PERF_SAMPLE_PERIOD: perf_event_sample_format = 256;
762 pub const perf_event_sample_format_PERF_SAMPLE_STREAM_ID: perf_event_sample_format = 512;
763 pub const perf_event_sample_format_PERF_SAMPLE_RAW: perf_event_sample_format = 1024;
764 pub const perf_event_sample_format_PERF_SAMPLE_BRANCH_STACK: perf_event_sample_format = 2048;
765 pub const perf_event_sample_format_PERF_SAMPLE_REGS_USER: perf_event_sample_format = 4096;
766 pub const perf_event_sample_format_PERF_SAMPLE_STACK_USER: perf_event_sample_format = 8192;
767 pub const perf_event_sample_format_PERF_SAMPLE_WEIGHT: perf_event_sample_format = 16384;
768 pub const perf_event_sample_format_PERF_SAMPLE_DATA_SRC: perf_event_sample_format = 32768;
769 pub const perf_event_sample_format_PERF_SAMPLE_IDENTIFIER: perf_event_sample_format = 65536;
770 pub const perf_event_sample_format_PERF_SAMPLE_TRANSACTION: perf_event_sample_format = 131072;
771 pub const perf_event_sample_format_PERF_SAMPLE_REGS_INTR: perf_event_sample_format = 262144;
772 pub const perf_event_sample_format_PERF_SAMPLE_PHYS_ADDR: perf_event_sample_format = 524288;
773 pub const perf_event_sample_format_PERF_SAMPLE_AUX: perf_event_sample_format = 1048576;
774 pub const perf_event_sample_format_PERF_SAMPLE_MAX: perf_event_sample_format = 2097152;
775 pub const perf_event_sample_format___PERF_SAMPLE_CALLCHAIN_EARLY: perf_event_sample_format =
776     9223372036854775808;
777 pub type perf_event_sample_format = u64;
778 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_USER_SHIFT:
779     perf_branch_sample_type_shift = 0;
780 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_KERNEL_SHIFT:
781     perf_branch_sample_type_shift = 1;
782 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_HV_SHIFT: perf_branch_sample_type_shift =
783     2;
784 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_ANY_SHIFT:
785     perf_branch_sample_type_shift = 3;
786 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT:
787     perf_branch_sample_type_shift = 4;
788 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT:
789     perf_branch_sample_type_shift = 5;
790 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_IND_CALL_SHIFT:
791     perf_branch_sample_type_shift = 6;
792 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT:
793     perf_branch_sample_type_shift = 7;
794 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_IN_TX_SHIFT:
795     perf_branch_sample_type_shift = 8;
796 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_NO_TX_SHIFT:
797     perf_branch_sample_type_shift = 9;
798 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_COND_SHIFT:
799     perf_branch_sample_type_shift = 10;
800 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT:
801     perf_branch_sample_type_shift = 11;
802 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT:
803     perf_branch_sample_type_shift = 12;
804 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_CALL_SHIFT:
805     perf_branch_sample_type_shift = 13;
806 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT:
807     perf_branch_sample_type_shift = 14;
808 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT:
809     perf_branch_sample_type_shift = 15;
810 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT:
811     perf_branch_sample_type_shift = 16;
812 pub const perf_branch_sample_type_shift_PERF_SAMPLE_BRANCH_MAX_SHIFT:
813     perf_branch_sample_type_shift = 17;
814 pub type perf_branch_sample_type_shift = u32;
815 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_USER: perf_branch_sample_type = 1;
816 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_KERNEL: perf_branch_sample_type = 2;
817 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_HV: perf_branch_sample_type = 4;
818 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_ANY: perf_branch_sample_type = 8;
819 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_ANY_CALL: perf_branch_sample_type = 16;
820 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_ANY_RETURN: perf_branch_sample_type = 32;
821 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_IND_CALL: perf_branch_sample_type = 64;
822 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_ABORT_TX: perf_branch_sample_type = 128;
823 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_IN_TX: perf_branch_sample_type = 256;
824 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_NO_TX: perf_branch_sample_type = 512;
825 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_COND: perf_branch_sample_type = 1024;
826 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_CALL_STACK: perf_branch_sample_type = 2048;
827 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_IND_JUMP: perf_branch_sample_type = 4096;
828 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_CALL: perf_branch_sample_type = 8192;
829 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_NO_FLAGS: perf_branch_sample_type = 16384;
830 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_NO_CYCLES: perf_branch_sample_type = 32768;
831 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_TYPE_SAVE: perf_branch_sample_type = 65536;
832 pub const perf_branch_sample_type_PERF_SAMPLE_BRANCH_MAX: perf_branch_sample_type = 131072;
833 pub type perf_branch_sample_type = u32;
834 pub const PERF_BR_UNKNOWN: _bindgen_ty_1 = 0;
835 pub const PERF_BR_COND: _bindgen_ty_1 = 1;
836 pub const PERF_BR_UNCOND: _bindgen_ty_1 = 2;
837 pub const PERF_BR_IND: _bindgen_ty_1 = 3;
838 pub const PERF_BR_CALL: _bindgen_ty_1 = 4;
839 pub const PERF_BR_IND_CALL: _bindgen_ty_1 = 5;
840 pub const PERF_BR_RET: _bindgen_ty_1 = 6;
841 pub const PERF_BR_SYSCALL: _bindgen_ty_1 = 7;
842 pub const PERF_BR_SYSRET: _bindgen_ty_1 = 8;
843 pub const PERF_BR_COND_CALL: _bindgen_ty_1 = 9;
844 pub const PERF_BR_COND_RET: _bindgen_ty_1 = 10;
845 pub const PERF_BR_MAX: _bindgen_ty_1 = 11;
846 pub type _bindgen_ty_1 = u32;
847 pub const perf_sample_regs_abi_PERF_SAMPLE_REGS_ABI_NONE: perf_sample_regs_abi = 0;
848 pub const perf_sample_regs_abi_PERF_SAMPLE_REGS_ABI_32: perf_sample_regs_abi = 1;
849 pub const perf_sample_regs_abi_PERF_SAMPLE_REGS_ABI_64: perf_sample_regs_abi = 2;
850 pub type perf_sample_regs_abi = u32;
851 pub const PERF_TXN_ELISION: _bindgen_ty_2 = 1;
852 pub const PERF_TXN_TRANSACTION: _bindgen_ty_2 = 2;
853 pub const PERF_TXN_SYNC: _bindgen_ty_2 = 4;
854 pub const PERF_TXN_ASYNC: _bindgen_ty_2 = 8;
855 pub const PERF_TXN_RETRY: _bindgen_ty_2 = 16;
856 pub const PERF_TXN_CONFLICT: _bindgen_ty_2 = 32;
857 pub const PERF_TXN_CAPACITY_WRITE: _bindgen_ty_2 = 64;
858 pub const PERF_TXN_CAPACITY_READ: _bindgen_ty_2 = 128;
859 pub const PERF_TXN_MAX: _bindgen_ty_2 = 256;
860 pub const PERF_TXN_ABORT_MASK: _bindgen_ty_2 = 18446744069414584320;
861 pub const PERF_TXN_ABORT_SHIFT: _bindgen_ty_2 = 32;
862 pub type _bindgen_ty_2 = u64;
863 pub const perf_event_read_format_PERF_FORMAT_TOTAL_TIME_ENABLED: perf_event_read_format = 1;
864 pub const perf_event_read_format_PERF_FORMAT_TOTAL_TIME_RUNNING: perf_event_read_format = 2;
865 pub const perf_event_read_format_PERF_FORMAT_ID: perf_event_read_format = 4;
866 pub const perf_event_read_format_PERF_FORMAT_GROUP: perf_event_read_format = 8;
867 pub const perf_event_read_format_PERF_FORMAT_MAX: perf_event_read_format = 16;
868 pub type perf_event_read_format = u32;
869 #[repr(C)]
870 #[derive(Copy, Clone)]
871 pub struct perf_event_attr {
872     pub type_: __u32,
873     pub size: __u32,
874     pub config: __u64,
875     pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
876     pub sample_type: __u64,
877     pub read_format: __u64,
878     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>,
879     pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
880     pub bp_type: __u32,
881     pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
882     pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
883     pub branch_sample_type: __u64,
884     pub sample_regs_user: __u64,
885     pub sample_stack_user: __u32,
886     pub clockid: __s32,
887     pub sample_regs_intr: __u64,
888     pub aux_watermark: __u32,
889     pub sample_max_stack: __u16,
890     pub __reserved_2: __u16,
891     pub aux_sample_size: __u32,
892     pub __reserved_3: __u32,
893 }
894 #[repr(C)]
895 #[derive(Copy, Clone)]
896 pub union perf_event_attr__bindgen_ty_1 {
897     pub sample_period: __u64,
898     pub sample_freq: __u64,
899     _bindgen_union_align: u64,
900 }
901 #[test]
bindgen_test_layout_perf_event_attr__bindgen_ty_1()902 fn bindgen_test_layout_perf_event_attr__bindgen_ty_1() {
903     assert_eq!(
904         ::std::mem::size_of::<perf_event_attr__bindgen_ty_1>(),
905         8usize,
906         concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_1))
907     );
908     assert_eq!(
909         ::std::mem::align_of::<perf_event_attr__bindgen_ty_1>(),
910         8usize,
911         concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_1))
912     );
913     assert_eq!(
914         unsafe {
915             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_1>())).sample_period as *const _
916                 as usize
917         },
918         0usize,
919         concat!(
920             "Offset of field: ",
921             stringify!(perf_event_attr__bindgen_ty_1),
922             "::",
923             stringify!(sample_period)
924         )
925     );
926     assert_eq!(
927         unsafe {
928             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_1>())).sample_freq as *const _
929                 as usize
930         },
931         0usize,
932         concat!(
933             "Offset of field: ",
934             stringify!(perf_event_attr__bindgen_ty_1),
935             "::",
936             stringify!(sample_freq)
937         )
938     );
939 }
940 impl Default for perf_event_attr__bindgen_ty_1 {
default() -> Self941     fn default() -> Self {
942         unsafe { ::std::mem::zeroed() }
943     }
944 }
945 #[repr(C)]
946 #[derive(Copy, Clone)]
947 pub union perf_event_attr__bindgen_ty_2 {
948     pub wakeup_events: __u32,
949     pub wakeup_watermark: __u32,
950     _bindgen_union_align: u32,
951 }
952 #[test]
bindgen_test_layout_perf_event_attr__bindgen_ty_2()953 fn bindgen_test_layout_perf_event_attr__bindgen_ty_2() {
954     assert_eq!(
955         ::std::mem::size_of::<perf_event_attr__bindgen_ty_2>(),
956         4usize,
957         concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_2))
958     );
959     assert_eq!(
960         ::std::mem::align_of::<perf_event_attr__bindgen_ty_2>(),
961         4usize,
962         concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_2))
963     );
964     assert_eq!(
965         unsafe {
966             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_2>())).wakeup_events as *const _
967                 as usize
968         },
969         0usize,
970         concat!(
971             "Offset of field: ",
972             stringify!(perf_event_attr__bindgen_ty_2),
973             "::",
974             stringify!(wakeup_events)
975         )
976     );
977     assert_eq!(
978         unsafe {
979             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_2>())).wakeup_watermark as *const _
980                 as usize
981         },
982         0usize,
983         concat!(
984             "Offset of field: ",
985             stringify!(perf_event_attr__bindgen_ty_2),
986             "::",
987             stringify!(wakeup_watermark)
988         )
989     );
990 }
991 impl Default for perf_event_attr__bindgen_ty_2 {
default() -> Self992     fn default() -> Self {
993         unsafe { ::std::mem::zeroed() }
994     }
995 }
996 #[repr(C)]
997 #[derive(Copy, Clone)]
998 pub union perf_event_attr__bindgen_ty_3 {
999     pub bp_addr: __u64,
1000     pub kprobe_func: __u64,
1001     pub uprobe_path: __u64,
1002     pub config1: __u64,
1003     _bindgen_union_align: u64,
1004 }
1005 #[test]
bindgen_test_layout_perf_event_attr__bindgen_ty_3()1006 fn bindgen_test_layout_perf_event_attr__bindgen_ty_3() {
1007     assert_eq!(
1008         ::std::mem::size_of::<perf_event_attr__bindgen_ty_3>(),
1009         8usize,
1010         concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_3))
1011     );
1012     assert_eq!(
1013         ::std::mem::align_of::<perf_event_attr__bindgen_ty_3>(),
1014         8usize,
1015         concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_3))
1016     );
1017     assert_eq!(
1018         unsafe {
1019             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_3>())).bp_addr as *const _ as usize
1020         },
1021         0usize,
1022         concat!(
1023             "Offset of field: ",
1024             stringify!(perf_event_attr__bindgen_ty_3),
1025             "::",
1026             stringify!(bp_addr)
1027         )
1028     );
1029     assert_eq!(
1030         unsafe {
1031             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_3>())).kprobe_func as *const _
1032                 as usize
1033         },
1034         0usize,
1035         concat!(
1036             "Offset of field: ",
1037             stringify!(perf_event_attr__bindgen_ty_3),
1038             "::",
1039             stringify!(kprobe_func)
1040         )
1041     );
1042     assert_eq!(
1043         unsafe {
1044             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_3>())).uprobe_path as *const _
1045                 as usize
1046         },
1047         0usize,
1048         concat!(
1049             "Offset of field: ",
1050             stringify!(perf_event_attr__bindgen_ty_3),
1051             "::",
1052             stringify!(uprobe_path)
1053         )
1054     );
1055     assert_eq!(
1056         unsafe {
1057             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_3>())).config1 as *const _ as usize
1058         },
1059         0usize,
1060         concat!(
1061             "Offset of field: ",
1062             stringify!(perf_event_attr__bindgen_ty_3),
1063             "::",
1064             stringify!(config1)
1065         )
1066     );
1067 }
1068 impl Default for perf_event_attr__bindgen_ty_3 {
default() -> Self1069     fn default() -> Self {
1070         unsafe { ::std::mem::zeroed() }
1071     }
1072 }
1073 #[repr(C)]
1074 #[derive(Copy, Clone)]
1075 pub union perf_event_attr__bindgen_ty_4 {
1076     pub bp_len: __u64,
1077     pub kprobe_addr: __u64,
1078     pub probe_offset: __u64,
1079     pub config2: __u64,
1080     _bindgen_union_align: u64,
1081 }
1082 #[test]
bindgen_test_layout_perf_event_attr__bindgen_ty_4()1083 fn bindgen_test_layout_perf_event_attr__bindgen_ty_4() {
1084     assert_eq!(
1085         ::std::mem::size_of::<perf_event_attr__bindgen_ty_4>(),
1086         8usize,
1087         concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_4))
1088     );
1089     assert_eq!(
1090         ::std::mem::align_of::<perf_event_attr__bindgen_ty_4>(),
1091         8usize,
1092         concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_4))
1093     );
1094     assert_eq!(
1095         unsafe {
1096             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_4>())).bp_len as *const _ as usize
1097         },
1098         0usize,
1099         concat!(
1100             "Offset of field: ",
1101             stringify!(perf_event_attr__bindgen_ty_4),
1102             "::",
1103             stringify!(bp_len)
1104         )
1105     );
1106     assert_eq!(
1107         unsafe {
1108             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_4>())).kprobe_addr as *const _
1109                 as usize
1110         },
1111         0usize,
1112         concat!(
1113             "Offset of field: ",
1114             stringify!(perf_event_attr__bindgen_ty_4),
1115             "::",
1116             stringify!(kprobe_addr)
1117         )
1118     );
1119     assert_eq!(
1120         unsafe {
1121             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_4>())).probe_offset as *const _
1122                 as usize
1123         },
1124         0usize,
1125         concat!(
1126             "Offset of field: ",
1127             stringify!(perf_event_attr__bindgen_ty_4),
1128             "::",
1129             stringify!(probe_offset)
1130         )
1131     );
1132     assert_eq!(
1133         unsafe {
1134             &(*(::std::ptr::null::<perf_event_attr__bindgen_ty_4>())).config2 as *const _ as usize
1135         },
1136         0usize,
1137         concat!(
1138             "Offset of field: ",
1139             stringify!(perf_event_attr__bindgen_ty_4),
1140             "::",
1141             stringify!(config2)
1142         )
1143     );
1144 }
1145 impl Default for perf_event_attr__bindgen_ty_4 {
default() -> Self1146     fn default() -> Self {
1147         unsafe { ::std::mem::zeroed() }
1148     }
1149 }
1150 #[test]
bindgen_test_layout_perf_event_attr()1151 fn bindgen_test_layout_perf_event_attr() {
1152     assert_eq!(
1153         ::std::mem::size_of::<perf_event_attr>(),
1154         120usize,
1155         concat!("Size of: ", stringify!(perf_event_attr))
1156     );
1157     assert_eq!(
1158         ::std::mem::align_of::<perf_event_attr>(),
1159         8usize,
1160         concat!("Alignment of ", stringify!(perf_event_attr))
1161     );
1162     assert_eq!(
1163         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).type_ as *const _ as usize },
1164         0usize,
1165         concat!(
1166             "Offset of field: ",
1167             stringify!(perf_event_attr),
1168             "::",
1169             stringify!(type_)
1170         )
1171     );
1172     assert_eq!(
1173         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).size as *const _ as usize },
1174         4usize,
1175         concat!(
1176             "Offset of field: ",
1177             stringify!(perf_event_attr),
1178             "::",
1179             stringify!(size)
1180         )
1181     );
1182     assert_eq!(
1183         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).config as *const _ as usize },
1184         8usize,
1185         concat!(
1186             "Offset of field: ",
1187             stringify!(perf_event_attr),
1188             "::",
1189             stringify!(config)
1190         )
1191     );
1192     assert_eq!(
1193         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).sample_type as *const _ as usize },
1194         24usize,
1195         concat!(
1196             "Offset of field: ",
1197             stringify!(perf_event_attr),
1198             "::",
1199             stringify!(sample_type)
1200         )
1201     );
1202     assert_eq!(
1203         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).read_format as *const _ as usize },
1204         32usize,
1205         concat!(
1206             "Offset of field: ",
1207             stringify!(perf_event_attr),
1208             "::",
1209             stringify!(read_format)
1210         )
1211     );
1212     assert_eq!(
1213         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).bp_type as *const _ as usize },
1214         52usize,
1215         concat!(
1216             "Offset of field: ",
1217             stringify!(perf_event_attr),
1218             "::",
1219             stringify!(bp_type)
1220         )
1221     );
1222     assert_eq!(
1223         unsafe {
1224             &(*(::std::ptr::null::<perf_event_attr>())).branch_sample_type as *const _ as usize
1225         },
1226         72usize,
1227         concat!(
1228             "Offset of field: ",
1229             stringify!(perf_event_attr),
1230             "::",
1231             stringify!(branch_sample_type)
1232         )
1233     );
1234     assert_eq!(
1235         unsafe {
1236             &(*(::std::ptr::null::<perf_event_attr>())).sample_regs_user as *const _ as usize
1237         },
1238         80usize,
1239         concat!(
1240             "Offset of field: ",
1241             stringify!(perf_event_attr),
1242             "::",
1243             stringify!(sample_regs_user)
1244         )
1245     );
1246     assert_eq!(
1247         unsafe {
1248             &(*(::std::ptr::null::<perf_event_attr>())).sample_stack_user as *const _ as usize
1249         },
1250         88usize,
1251         concat!(
1252             "Offset of field: ",
1253             stringify!(perf_event_attr),
1254             "::",
1255             stringify!(sample_stack_user)
1256         )
1257     );
1258     assert_eq!(
1259         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).clockid as *const _ as usize },
1260         92usize,
1261         concat!(
1262             "Offset of field: ",
1263             stringify!(perf_event_attr),
1264             "::",
1265             stringify!(clockid)
1266         )
1267     );
1268     assert_eq!(
1269         unsafe {
1270             &(*(::std::ptr::null::<perf_event_attr>())).sample_regs_intr as *const _ as usize
1271         },
1272         96usize,
1273         concat!(
1274             "Offset of field: ",
1275             stringify!(perf_event_attr),
1276             "::",
1277             stringify!(sample_regs_intr)
1278         )
1279     );
1280     assert_eq!(
1281         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).aux_watermark as *const _ as usize },
1282         104usize,
1283         concat!(
1284             "Offset of field: ",
1285             stringify!(perf_event_attr),
1286             "::",
1287             stringify!(aux_watermark)
1288         )
1289     );
1290     assert_eq!(
1291         unsafe {
1292             &(*(::std::ptr::null::<perf_event_attr>())).sample_max_stack as *const _ as usize
1293         },
1294         108usize,
1295         concat!(
1296             "Offset of field: ",
1297             stringify!(perf_event_attr),
1298             "::",
1299             stringify!(sample_max_stack)
1300         )
1301     );
1302     assert_eq!(
1303         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).__reserved_2 as *const _ as usize },
1304         110usize,
1305         concat!(
1306             "Offset of field: ",
1307             stringify!(perf_event_attr),
1308             "::",
1309             stringify!(__reserved_2)
1310         )
1311     );
1312     assert_eq!(
1313         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).aux_sample_size as *const _ as usize },
1314         112usize,
1315         concat!(
1316             "Offset of field: ",
1317             stringify!(perf_event_attr),
1318             "::",
1319             stringify!(aux_sample_size)
1320         )
1321     );
1322     assert_eq!(
1323         unsafe { &(*(::std::ptr::null::<perf_event_attr>())).__reserved_3 as *const _ as usize },
1324         116usize,
1325         concat!(
1326             "Offset of field: ",
1327             stringify!(perf_event_attr),
1328             "::",
1329             stringify!(__reserved_3)
1330         )
1331     );
1332 }
1333 impl Default for perf_event_attr {
default() -> Self1334     fn default() -> Self {
1335         unsafe { ::std::mem::zeroed() }
1336     }
1337 }
1338 impl perf_event_attr {
1339     #[inline]
disabled(&self) -> __u641340     pub fn disabled(&self) -> __u64 {
1341         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
1342     }
1343     #[inline]
set_disabled(&mut self, val: __u64)1344     pub fn set_disabled(&mut self, val: __u64) {
1345         unsafe {
1346             let val: u64 = ::std::mem::transmute(val);
1347             self._bitfield_1.set(0usize, 1u8, val as u64)
1348         }
1349     }
1350     #[inline]
inherit(&self) -> __u641351     pub fn inherit(&self) -> __u64 {
1352         unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
1353     }
1354     #[inline]
set_inherit(&mut self, val: __u64)1355     pub fn set_inherit(&mut self, val: __u64) {
1356         unsafe {
1357             let val: u64 = ::std::mem::transmute(val);
1358             self._bitfield_1.set(1usize, 1u8, val as u64)
1359         }
1360     }
1361     #[inline]
pinned(&self) -> __u641362     pub fn pinned(&self) -> __u64 {
1363         unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
1364     }
1365     #[inline]
set_pinned(&mut self, val: __u64)1366     pub fn set_pinned(&mut self, val: __u64) {
1367         unsafe {
1368             let val: u64 = ::std::mem::transmute(val);
1369             self._bitfield_1.set(2usize, 1u8, val as u64)
1370         }
1371     }
1372     #[inline]
exclusive(&self) -> __u641373     pub fn exclusive(&self) -> __u64 {
1374         unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
1375     }
1376     #[inline]
set_exclusive(&mut self, val: __u64)1377     pub fn set_exclusive(&mut self, val: __u64) {
1378         unsafe {
1379             let val: u64 = ::std::mem::transmute(val);
1380             self._bitfield_1.set(3usize, 1u8, val as u64)
1381         }
1382     }
1383     #[inline]
exclude_user(&self) -> __u641384     pub fn exclude_user(&self) -> __u64 {
1385         unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
1386     }
1387     #[inline]
set_exclude_user(&mut self, val: __u64)1388     pub fn set_exclude_user(&mut self, val: __u64) {
1389         unsafe {
1390             let val: u64 = ::std::mem::transmute(val);
1391             self._bitfield_1.set(4usize, 1u8, val as u64)
1392         }
1393     }
1394     #[inline]
exclude_kernel(&self) -> __u641395     pub fn exclude_kernel(&self) -> __u64 {
1396         unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
1397     }
1398     #[inline]
set_exclude_kernel(&mut self, val: __u64)1399     pub fn set_exclude_kernel(&mut self, val: __u64) {
1400         unsafe {
1401             let val: u64 = ::std::mem::transmute(val);
1402             self._bitfield_1.set(5usize, 1u8, val as u64)
1403         }
1404     }
1405     #[inline]
exclude_hv(&self) -> __u641406     pub fn exclude_hv(&self) -> __u64 {
1407         unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
1408     }
1409     #[inline]
set_exclude_hv(&mut self, val: __u64)1410     pub fn set_exclude_hv(&mut self, val: __u64) {
1411         unsafe {
1412             let val: u64 = ::std::mem::transmute(val);
1413             self._bitfield_1.set(6usize, 1u8, val as u64)
1414         }
1415     }
1416     #[inline]
exclude_idle(&self) -> __u641417     pub fn exclude_idle(&self) -> __u64 {
1418         unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
1419     }
1420     #[inline]
set_exclude_idle(&mut self, val: __u64)1421     pub fn set_exclude_idle(&mut self, val: __u64) {
1422         unsafe {
1423             let val: u64 = ::std::mem::transmute(val);
1424             self._bitfield_1.set(7usize, 1u8, val as u64)
1425         }
1426     }
1427     #[inline]
mmap(&self) -> __u641428     pub fn mmap(&self) -> __u64 {
1429         unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
1430     }
1431     #[inline]
set_mmap(&mut self, val: __u64)1432     pub fn set_mmap(&mut self, val: __u64) {
1433         unsafe {
1434             let val: u64 = ::std::mem::transmute(val);
1435             self._bitfield_1.set(8usize, 1u8, val as u64)
1436         }
1437     }
1438     #[inline]
comm(&self) -> __u641439     pub fn comm(&self) -> __u64 {
1440         unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
1441     }
1442     #[inline]
set_comm(&mut self, val: __u64)1443     pub fn set_comm(&mut self, val: __u64) {
1444         unsafe {
1445             let val: u64 = ::std::mem::transmute(val);
1446             self._bitfield_1.set(9usize, 1u8, val as u64)
1447         }
1448     }
1449     #[inline]
freq(&self) -> __u641450     pub fn freq(&self) -> __u64 {
1451         unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
1452     }
1453     #[inline]
set_freq(&mut self, val: __u64)1454     pub fn set_freq(&mut self, val: __u64) {
1455         unsafe {
1456             let val: u64 = ::std::mem::transmute(val);
1457             self._bitfield_1.set(10usize, 1u8, val as u64)
1458         }
1459     }
1460     #[inline]
inherit_stat(&self) -> __u641461     pub fn inherit_stat(&self) -> __u64 {
1462         unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
1463     }
1464     #[inline]
set_inherit_stat(&mut self, val: __u64)1465     pub fn set_inherit_stat(&mut self, val: __u64) {
1466         unsafe {
1467             let val: u64 = ::std::mem::transmute(val);
1468             self._bitfield_1.set(11usize, 1u8, val as u64)
1469         }
1470     }
1471     #[inline]
enable_on_exec(&self) -> __u641472     pub fn enable_on_exec(&self) -> __u64 {
1473         unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
1474     }
1475     #[inline]
set_enable_on_exec(&mut self, val: __u64)1476     pub fn set_enable_on_exec(&mut self, val: __u64) {
1477         unsafe {
1478             let val: u64 = ::std::mem::transmute(val);
1479             self._bitfield_1.set(12usize, 1u8, val as u64)
1480         }
1481     }
1482     #[inline]
task(&self) -> __u641483     pub fn task(&self) -> __u64 {
1484         unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
1485     }
1486     #[inline]
set_task(&mut self, val: __u64)1487     pub fn set_task(&mut self, val: __u64) {
1488         unsafe {
1489             let val: u64 = ::std::mem::transmute(val);
1490             self._bitfield_1.set(13usize, 1u8, val as u64)
1491         }
1492     }
1493     #[inline]
watermark(&self) -> __u641494     pub fn watermark(&self) -> __u64 {
1495         unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
1496     }
1497     #[inline]
set_watermark(&mut self, val: __u64)1498     pub fn set_watermark(&mut self, val: __u64) {
1499         unsafe {
1500             let val: u64 = ::std::mem::transmute(val);
1501             self._bitfield_1.set(14usize, 1u8, val as u64)
1502         }
1503     }
1504     #[inline]
precise_ip(&self) -> __u641505     pub fn precise_ip(&self) -> __u64 {
1506         unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
1507     }
1508     #[inline]
set_precise_ip(&mut self, val: __u64)1509     pub fn set_precise_ip(&mut self, val: __u64) {
1510         unsafe {
1511             let val: u64 = ::std::mem::transmute(val);
1512             self._bitfield_1.set(15usize, 2u8, val as u64)
1513         }
1514     }
1515     #[inline]
mmap_data(&self) -> __u641516     pub fn mmap_data(&self) -> __u64 {
1517         unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
1518     }
1519     #[inline]
set_mmap_data(&mut self, val: __u64)1520     pub fn set_mmap_data(&mut self, val: __u64) {
1521         unsafe {
1522             let val: u64 = ::std::mem::transmute(val);
1523             self._bitfield_1.set(17usize, 1u8, val as u64)
1524         }
1525     }
1526     #[inline]
sample_id_all(&self) -> __u641527     pub fn sample_id_all(&self) -> __u64 {
1528         unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
1529     }
1530     #[inline]
set_sample_id_all(&mut self, val: __u64)1531     pub fn set_sample_id_all(&mut self, val: __u64) {
1532         unsafe {
1533             let val: u64 = ::std::mem::transmute(val);
1534             self._bitfield_1.set(18usize, 1u8, val as u64)
1535         }
1536     }
1537     #[inline]
exclude_host(&self) -> __u641538     pub fn exclude_host(&self) -> __u64 {
1539         unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
1540     }
1541     #[inline]
set_exclude_host(&mut self, val: __u64)1542     pub fn set_exclude_host(&mut self, val: __u64) {
1543         unsafe {
1544             let val: u64 = ::std::mem::transmute(val);
1545             self._bitfield_1.set(19usize, 1u8, val as u64)
1546         }
1547     }
1548     #[inline]
exclude_guest(&self) -> __u641549     pub fn exclude_guest(&self) -> __u64 {
1550         unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
1551     }
1552     #[inline]
set_exclude_guest(&mut self, val: __u64)1553     pub fn set_exclude_guest(&mut self, val: __u64) {
1554         unsafe {
1555             let val: u64 = ::std::mem::transmute(val);
1556             self._bitfield_1.set(20usize, 1u8, val as u64)
1557         }
1558     }
1559     #[inline]
exclude_callchain_kernel(&self) -> __u641560     pub fn exclude_callchain_kernel(&self) -> __u64 {
1561         unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
1562     }
1563     #[inline]
set_exclude_callchain_kernel(&mut self, val: __u64)1564     pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
1565         unsafe {
1566             let val: u64 = ::std::mem::transmute(val);
1567             self._bitfield_1.set(21usize, 1u8, val as u64)
1568         }
1569     }
1570     #[inline]
exclude_callchain_user(&self) -> __u641571     pub fn exclude_callchain_user(&self) -> __u64 {
1572         unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
1573     }
1574     #[inline]
set_exclude_callchain_user(&mut self, val: __u64)1575     pub fn set_exclude_callchain_user(&mut self, val: __u64) {
1576         unsafe {
1577             let val: u64 = ::std::mem::transmute(val);
1578             self._bitfield_1.set(22usize, 1u8, val as u64)
1579         }
1580     }
1581     #[inline]
mmap2(&self) -> __u641582     pub fn mmap2(&self) -> __u64 {
1583         unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
1584     }
1585     #[inline]
set_mmap2(&mut self, val: __u64)1586     pub fn set_mmap2(&mut self, val: __u64) {
1587         unsafe {
1588             let val: u64 = ::std::mem::transmute(val);
1589             self._bitfield_1.set(23usize, 1u8, val as u64)
1590         }
1591     }
1592     #[inline]
comm_exec(&self) -> __u641593     pub fn comm_exec(&self) -> __u64 {
1594         unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
1595     }
1596     #[inline]
set_comm_exec(&mut self, val: __u64)1597     pub fn set_comm_exec(&mut self, val: __u64) {
1598         unsafe {
1599             let val: u64 = ::std::mem::transmute(val);
1600             self._bitfield_1.set(24usize, 1u8, val as u64)
1601         }
1602     }
1603     #[inline]
use_clockid(&self) -> __u641604     pub fn use_clockid(&self) -> __u64 {
1605         unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
1606     }
1607     #[inline]
set_use_clockid(&mut self, val: __u64)1608     pub fn set_use_clockid(&mut self, val: __u64) {
1609         unsafe {
1610             let val: u64 = ::std::mem::transmute(val);
1611             self._bitfield_1.set(25usize, 1u8, val as u64)
1612         }
1613     }
1614     #[inline]
context_switch(&self) -> __u641615     pub fn context_switch(&self) -> __u64 {
1616         unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
1617     }
1618     #[inline]
set_context_switch(&mut self, val: __u64)1619     pub fn set_context_switch(&mut self, val: __u64) {
1620         unsafe {
1621             let val: u64 = ::std::mem::transmute(val);
1622             self._bitfield_1.set(26usize, 1u8, val as u64)
1623         }
1624     }
1625     #[inline]
write_backward(&self) -> __u641626     pub fn write_backward(&self) -> __u64 {
1627         unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
1628     }
1629     #[inline]
set_write_backward(&mut self, val: __u64)1630     pub fn set_write_backward(&mut self, val: __u64) {
1631         unsafe {
1632             let val: u64 = ::std::mem::transmute(val);
1633             self._bitfield_1.set(27usize, 1u8, val as u64)
1634         }
1635     }
1636     #[inline]
namespaces(&self) -> __u641637     pub fn namespaces(&self) -> __u64 {
1638         unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
1639     }
1640     #[inline]
set_namespaces(&mut self, val: __u64)1641     pub fn set_namespaces(&mut self, val: __u64) {
1642         unsafe {
1643             let val: u64 = ::std::mem::transmute(val);
1644             self._bitfield_1.set(28usize, 1u8, val as u64)
1645         }
1646     }
1647     #[inline]
ksymbol(&self) -> __u641648     pub fn ksymbol(&self) -> __u64 {
1649         unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
1650     }
1651     #[inline]
set_ksymbol(&mut self, val: __u64)1652     pub fn set_ksymbol(&mut self, val: __u64) {
1653         unsafe {
1654             let val: u64 = ::std::mem::transmute(val);
1655             self._bitfield_1.set(29usize, 1u8, val as u64)
1656         }
1657     }
1658     #[inline]
bpf_event(&self) -> __u641659     pub fn bpf_event(&self) -> __u64 {
1660         unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
1661     }
1662     #[inline]
set_bpf_event(&mut self, val: __u64)1663     pub fn set_bpf_event(&mut self, val: __u64) {
1664         unsafe {
1665             let val: u64 = ::std::mem::transmute(val);
1666             self._bitfield_1.set(30usize, 1u8, val as u64)
1667         }
1668     }
1669     #[inline]
aux_output(&self) -> __u641670     pub fn aux_output(&self) -> __u64 {
1671         unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
1672     }
1673     #[inline]
set_aux_output(&mut self, val: __u64)1674     pub fn set_aux_output(&mut self, val: __u64) {
1675         unsafe {
1676             let val: u64 = ::std::mem::transmute(val);
1677             self._bitfield_1.set(31usize, 1u8, val as u64)
1678         }
1679     }
1680     #[inline]
__reserved_1(&self) -> __u641681     pub fn __reserved_1(&self) -> __u64 {
1682         unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
1683     }
1684     #[inline]
set___reserved_1(&mut self, val: __u64)1685     pub fn set___reserved_1(&mut self, val: __u64) {
1686         unsafe {
1687             let val: u64 = ::std::mem::transmute(val);
1688             self._bitfield_1.set(32usize, 32u8, val as u64)
1689         }
1690     }
1691     #[inline]
new_bitfield_1( disabled: __u64, inherit: __u64, pinned: __u64, exclusive: __u64, exclude_user: __u64, exclude_kernel: __u64, exclude_hv: __u64, exclude_idle: __u64, mmap: __u64, comm: __u64, freq: __u64, inherit_stat: __u64, enable_on_exec: __u64, task: __u64, watermark: __u64, precise_ip: __u64, mmap_data: __u64, sample_id_all: __u64, exclude_host: __u64, exclude_guest: __u64, exclude_callchain_kernel: __u64, exclude_callchain_user: __u64, mmap2: __u64, comm_exec: __u64, use_clockid: __u64, context_switch: __u64, write_backward: __u64, namespaces: __u64, ksymbol: __u64, bpf_event: __u64, aux_output: __u64, __reserved_1: __u64, ) -> __BindgenBitfieldUnit<[u8; 8usize], u32>1692     pub fn new_bitfield_1(
1693         disabled: __u64,
1694         inherit: __u64,
1695         pinned: __u64,
1696         exclusive: __u64,
1697         exclude_user: __u64,
1698         exclude_kernel: __u64,
1699         exclude_hv: __u64,
1700         exclude_idle: __u64,
1701         mmap: __u64,
1702         comm: __u64,
1703         freq: __u64,
1704         inherit_stat: __u64,
1705         enable_on_exec: __u64,
1706         task: __u64,
1707         watermark: __u64,
1708         precise_ip: __u64,
1709         mmap_data: __u64,
1710         sample_id_all: __u64,
1711         exclude_host: __u64,
1712         exclude_guest: __u64,
1713         exclude_callchain_kernel: __u64,
1714         exclude_callchain_user: __u64,
1715         mmap2: __u64,
1716         comm_exec: __u64,
1717         use_clockid: __u64,
1718         context_switch: __u64,
1719         write_backward: __u64,
1720         namespaces: __u64,
1721         ksymbol: __u64,
1722         bpf_event: __u64,
1723         aux_output: __u64,
1724         __reserved_1: __u64,
1725     ) -> __BindgenBitfieldUnit<[u8; 8usize], u32> {
1726         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> =
1727             Default::default();
1728         __bindgen_bitfield_unit.set(0usize, 1u8, {
1729             let disabled: u64 = unsafe { ::std::mem::transmute(disabled) };
1730             disabled as u64
1731         });
1732         __bindgen_bitfield_unit.set(1usize, 1u8, {
1733             let inherit: u64 = unsafe { ::std::mem::transmute(inherit) };
1734             inherit as u64
1735         });
1736         __bindgen_bitfield_unit.set(2usize, 1u8, {
1737             let pinned: u64 = unsafe { ::std::mem::transmute(pinned) };
1738             pinned as u64
1739         });
1740         __bindgen_bitfield_unit.set(3usize, 1u8, {
1741             let exclusive: u64 = unsafe { ::std::mem::transmute(exclusive) };
1742             exclusive as u64
1743         });
1744         __bindgen_bitfield_unit.set(4usize, 1u8, {
1745             let exclude_user: u64 = unsafe { ::std::mem::transmute(exclude_user) };
1746             exclude_user as u64
1747         });
1748         __bindgen_bitfield_unit.set(5usize, 1u8, {
1749             let exclude_kernel: u64 = unsafe { ::std::mem::transmute(exclude_kernel) };
1750             exclude_kernel as u64
1751         });
1752         __bindgen_bitfield_unit.set(6usize, 1u8, {
1753             let exclude_hv: u64 = unsafe { ::std::mem::transmute(exclude_hv) };
1754             exclude_hv as u64
1755         });
1756         __bindgen_bitfield_unit.set(7usize, 1u8, {
1757             let exclude_idle: u64 = unsafe { ::std::mem::transmute(exclude_idle) };
1758             exclude_idle as u64
1759         });
1760         __bindgen_bitfield_unit.set(8usize, 1u8, {
1761             let mmap: u64 = unsafe { ::std::mem::transmute(mmap) };
1762             mmap as u64
1763         });
1764         __bindgen_bitfield_unit.set(9usize, 1u8, {
1765             let comm: u64 = unsafe { ::std::mem::transmute(comm) };
1766             comm as u64
1767         });
1768         __bindgen_bitfield_unit.set(10usize, 1u8, {
1769             let freq: u64 = unsafe { ::std::mem::transmute(freq) };
1770             freq as u64
1771         });
1772         __bindgen_bitfield_unit.set(11usize, 1u8, {
1773             let inherit_stat: u64 = unsafe { ::std::mem::transmute(inherit_stat) };
1774             inherit_stat as u64
1775         });
1776         __bindgen_bitfield_unit.set(12usize, 1u8, {
1777             let enable_on_exec: u64 = unsafe { ::std::mem::transmute(enable_on_exec) };
1778             enable_on_exec as u64
1779         });
1780         __bindgen_bitfield_unit.set(13usize, 1u8, {
1781             let task: u64 = unsafe { ::std::mem::transmute(task) };
1782             task as u64
1783         });
1784         __bindgen_bitfield_unit.set(14usize, 1u8, {
1785             let watermark: u64 = unsafe { ::std::mem::transmute(watermark) };
1786             watermark as u64
1787         });
1788         __bindgen_bitfield_unit.set(15usize, 2u8, {
1789             let precise_ip: u64 = unsafe { ::std::mem::transmute(precise_ip) };
1790             precise_ip as u64
1791         });
1792         __bindgen_bitfield_unit.set(17usize, 1u8, {
1793             let mmap_data: u64 = unsafe { ::std::mem::transmute(mmap_data) };
1794             mmap_data as u64
1795         });
1796         __bindgen_bitfield_unit.set(18usize, 1u8, {
1797             let sample_id_all: u64 = unsafe { ::std::mem::transmute(sample_id_all) };
1798             sample_id_all as u64
1799         });
1800         __bindgen_bitfield_unit.set(19usize, 1u8, {
1801             let exclude_host: u64 = unsafe { ::std::mem::transmute(exclude_host) };
1802             exclude_host as u64
1803         });
1804         __bindgen_bitfield_unit.set(20usize, 1u8, {
1805             let exclude_guest: u64 = unsafe { ::std::mem::transmute(exclude_guest) };
1806             exclude_guest as u64
1807         });
1808         __bindgen_bitfield_unit.set(21usize, 1u8, {
1809             let exclude_callchain_kernel: u64 =
1810                 unsafe { ::std::mem::transmute(exclude_callchain_kernel) };
1811             exclude_callchain_kernel as u64
1812         });
1813         __bindgen_bitfield_unit.set(22usize, 1u8, {
1814             let exclude_callchain_user: u64 =
1815                 unsafe { ::std::mem::transmute(exclude_callchain_user) };
1816             exclude_callchain_user as u64
1817         });
1818         __bindgen_bitfield_unit.set(23usize, 1u8, {
1819             let mmap2: u64 = unsafe { ::std::mem::transmute(mmap2) };
1820             mmap2 as u64
1821         });
1822         __bindgen_bitfield_unit.set(24usize, 1u8, {
1823             let comm_exec: u64 = unsafe { ::std::mem::transmute(comm_exec) };
1824             comm_exec as u64
1825         });
1826         __bindgen_bitfield_unit.set(25usize, 1u8, {
1827             let use_clockid: u64 = unsafe { ::std::mem::transmute(use_clockid) };
1828             use_clockid as u64
1829         });
1830         __bindgen_bitfield_unit.set(26usize, 1u8, {
1831             let context_switch: u64 = unsafe { ::std::mem::transmute(context_switch) };
1832             context_switch as u64
1833         });
1834         __bindgen_bitfield_unit.set(27usize, 1u8, {
1835             let write_backward: u64 = unsafe { ::std::mem::transmute(write_backward) };
1836             write_backward as u64
1837         });
1838         __bindgen_bitfield_unit.set(28usize, 1u8, {
1839             let namespaces: u64 = unsafe { ::std::mem::transmute(namespaces) };
1840             namespaces as u64
1841         });
1842         __bindgen_bitfield_unit.set(29usize, 1u8, {
1843             let ksymbol: u64 = unsafe { ::std::mem::transmute(ksymbol) };
1844             ksymbol as u64
1845         });
1846         __bindgen_bitfield_unit.set(30usize, 1u8, {
1847             let bpf_event: u64 = unsafe { ::std::mem::transmute(bpf_event) };
1848             bpf_event as u64
1849         });
1850         __bindgen_bitfield_unit.set(31usize, 1u8, {
1851             let aux_output: u64 = unsafe { ::std::mem::transmute(aux_output) };
1852             aux_output as u64
1853         });
1854         __bindgen_bitfield_unit.set(32usize, 32u8, {
1855             let __reserved_1: u64 = unsafe { ::std::mem::transmute(__reserved_1) };
1856             __reserved_1 as u64
1857         });
1858         __bindgen_bitfield_unit
1859     }
1860 }
1861 #[repr(C)]
1862 #[derive(Debug, Default)]
1863 pub struct perf_event_query_bpf {
1864     pub ids_len: __u32,
1865     pub prog_cnt: __u32,
1866     pub ids: __IncompleteArrayField<__u32>,
1867 }
1868 #[test]
bindgen_test_layout_perf_event_query_bpf()1869 fn bindgen_test_layout_perf_event_query_bpf() {
1870     assert_eq!(
1871         ::std::mem::size_of::<perf_event_query_bpf>(),
1872         8usize,
1873         concat!("Size of: ", stringify!(perf_event_query_bpf))
1874     );
1875     assert_eq!(
1876         ::std::mem::align_of::<perf_event_query_bpf>(),
1877         4usize,
1878         concat!("Alignment of ", stringify!(perf_event_query_bpf))
1879     );
1880     assert_eq!(
1881         unsafe { &(*(::std::ptr::null::<perf_event_query_bpf>())).ids_len as *const _ as usize },
1882         0usize,
1883         concat!(
1884             "Offset of field: ",
1885             stringify!(perf_event_query_bpf),
1886             "::",
1887             stringify!(ids_len)
1888         )
1889     );
1890     assert_eq!(
1891         unsafe { &(*(::std::ptr::null::<perf_event_query_bpf>())).prog_cnt as *const _ as usize },
1892         4usize,
1893         concat!(
1894             "Offset of field: ",
1895             stringify!(perf_event_query_bpf),
1896             "::",
1897             stringify!(prog_cnt)
1898         )
1899     );
1900     assert_eq!(
1901         unsafe { &(*(::std::ptr::null::<perf_event_query_bpf>())).ids as *const _ as usize },
1902         8usize,
1903         concat!(
1904             "Offset of field: ",
1905             stringify!(perf_event_query_bpf),
1906             "::",
1907             stringify!(ids)
1908         )
1909     );
1910 }
1911 pub const perf_event_ioc_flags_PERF_IOC_FLAG_GROUP: perf_event_ioc_flags = 1;
1912 pub type perf_event_ioc_flags = u32;
1913 #[repr(C)]
1914 #[derive(Copy, Clone)]
1915 pub struct perf_event_mmap_page {
1916     pub version: __u32,
1917     pub compat_version: __u32,
1918     pub lock: __u32,
1919     pub index: __u32,
1920     pub offset: __s64,
1921     pub time_enabled: __u64,
1922     pub time_running: __u64,
1923     pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1,
1924     pub pmc_width: __u16,
1925     pub time_shift: __u16,
1926     pub time_mult: __u32,
1927     pub time_offset: __u64,
1928     pub time_zero: __u64,
1929     pub size: __u32,
1930     pub __reserved: [__u8; 948usize],
1931     pub data_head: __u64,
1932     pub data_tail: __u64,
1933     pub data_offset: __u64,
1934     pub data_size: __u64,
1935     pub aux_head: __u64,
1936     pub aux_tail: __u64,
1937     pub aux_offset: __u64,
1938     pub aux_size: __u64,
1939 }
1940 #[repr(C)]
1941 #[derive(Copy, Clone)]
1942 pub union perf_event_mmap_page__bindgen_ty_1 {
1943     pub capabilities: __u64,
1944     pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1,
1945     _bindgen_union_align: u64,
1946 }
1947 #[repr(C)]
1948 #[repr(align(8))]
1949 #[derive(Debug, Default, Copy, Clone)]
1950 pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
1951     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u64>,
1952 }
1953 #[test]
bindgen_test_layout_perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1()1954 fn bindgen_test_layout_perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1() {
1955     assert_eq!(
1956         ::std::mem::size_of::<perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1>(),
1957         8usize,
1958         concat!(
1959             "Size of: ",
1960             stringify!(perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1)
1961         )
1962     );
1963     assert_eq!(
1964         ::std::mem::align_of::<perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1>(),
1965         8usize,
1966         concat!(
1967             "Alignment of ",
1968             stringify!(perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1)
1969         )
1970     );
1971 }
1972 impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
1973     #[inline]
cap_bit0(&self) -> __u641974     pub fn cap_bit0(&self) -> __u64 {
1975         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
1976     }
1977     #[inline]
set_cap_bit0(&mut self, val: __u64)1978     pub fn set_cap_bit0(&mut self, val: __u64) {
1979         unsafe {
1980             let val: u64 = ::std::mem::transmute(val);
1981             self._bitfield_1.set(0usize, 1u8, val as u64)
1982         }
1983     }
1984     #[inline]
cap_bit0_is_deprecated(&self) -> __u641985     pub fn cap_bit0_is_deprecated(&self) -> __u64 {
1986         unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
1987     }
1988     #[inline]
set_cap_bit0_is_deprecated(&mut self, val: __u64)1989     pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) {
1990         unsafe {
1991             let val: u64 = ::std::mem::transmute(val);
1992             self._bitfield_1.set(1usize, 1u8, val as u64)
1993         }
1994     }
1995     #[inline]
cap_user_rdpmc(&self) -> __u641996     pub fn cap_user_rdpmc(&self) -> __u64 {
1997         unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
1998     }
1999     #[inline]
set_cap_user_rdpmc(&mut self, val: __u64)2000     pub fn set_cap_user_rdpmc(&mut self, val: __u64) {
2001         unsafe {
2002             let val: u64 = ::std::mem::transmute(val);
2003             self._bitfield_1.set(2usize, 1u8, val as u64)
2004         }
2005     }
2006     #[inline]
cap_user_time(&self) -> __u642007     pub fn cap_user_time(&self) -> __u64 {
2008         unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
2009     }
2010     #[inline]
set_cap_user_time(&mut self, val: __u64)2011     pub fn set_cap_user_time(&mut self, val: __u64) {
2012         unsafe {
2013             let val: u64 = ::std::mem::transmute(val);
2014             self._bitfield_1.set(3usize, 1u8, val as u64)
2015         }
2016     }
2017     #[inline]
cap_user_time_zero(&self) -> __u642018     pub fn cap_user_time_zero(&self) -> __u64 {
2019         unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
2020     }
2021     #[inline]
set_cap_user_time_zero(&mut self, val: __u64)2022     pub fn set_cap_user_time_zero(&mut self, val: __u64) {
2023         unsafe {
2024             let val: u64 = ::std::mem::transmute(val);
2025             self._bitfield_1.set(4usize, 1u8, val as u64)
2026         }
2027     }
2028     #[inline]
cap_____res(&self) -> __u642029     pub fn cap_____res(&self) -> __u64 {
2030         unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 59u8) as u64) }
2031     }
2032     #[inline]
set_cap_____res(&mut self, val: __u64)2033     pub fn set_cap_____res(&mut self, val: __u64) {
2034         unsafe {
2035             let val: u64 = ::std::mem::transmute(val);
2036             self._bitfield_1.set(5usize, 59u8, val as u64)
2037         }
2038     }
2039     #[inline]
new_bitfield_1( cap_bit0: __u64, cap_bit0_is_deprecated: __u64, cap_user_rdpmc: __u64, cap_user_time: __u64, cap_user_time_zero: __u64, cap_____res: __u64, ) -> __BindgenBitfieldUnit<[u8; 8usize], u64>2040     pub fn new_bitfield_1(
2041         cap_bit0: __u64,
2042         cap_bit0_is_deprecated: __u64,
2043         cap_user_rdpmc: __u64,
2044         cap_user_time: __u64,
2045         cap_user_time_zero: __u64,
2046         cap_____res: __u64,
2047     ) -> __BindgenBitfieldUnit<[u8; 8usize], u64> {
2048         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u64> =
2049             Default::default();
2050         __bindgen_bitfield_unit.set(0usize, 1u8, {
2051             let cap_bit0: u64 = unsafe { ::std::mem::transmute(cap_bit0) };
2052             cap_bit0 as u64
2053         });
2054         __bindgen_bitfield_unit.set(1usize, 1u8, {
2055             let cap_bit0_is_deprecated: u64 =
2056                 unsafe { ::std::mem::transmute(cap_bit0_is_deprecated) };
2057             cap_bit0_is_deprecated as u64
2058         });
2059         __bindgen_bitfield_unit.set(2usize, 1u8, {
2060             let cap_user_rdpmc: u64 = unsafe { ::std::mem::transmute(cap_user_rdpmc) };
2061             cap_user_rdpmc as u64
2062         });
2063         __bindgen_bitfield_unit.set(3usize, 1u8, {
2064             let cap_user_time: u64 = unsafe { ::std::mem::transmute(cap_user_time) };
2065             cap_user_time as u64
2066         });
2067         __bindgen_bitfield_unit.set(4usize, 1u8, {
2068             let cap_user_time_zero: u64 = unsafe { ::std::mem::transmute(cap_user_time_zero) };
2069             cap_user_time_zero as u64
2070         });
2071         __bindgen_bitfield_unit.set(5usize, 59u8, {
2072             let cap_____res: u64 = unsafe { ::std::mem::transmute(cap_____res) };
2073             cap_____res as u64
2074         });
2075         __bindgen_bitfield_unit
2076     }
2077 }
2078 #[test]
bindgen_test_layout_perf_event_mmap_page__bindgen_ty_1()2079 fn bindgen_test_layout_perf_event_mmap_page__bindgen_ty_1() {
2080     assert_eq!(
2081         ::std::mem::size_of::<perf_event_mmap_page__bindgen_ty_1>(),
2082         8usize,
2083         concat!("Size of: ", stringify!(perf_event_mmap_page__bindgen_ty_1))
2084     );
2085     assert_eq!(
2086         ::std::mem::align_of::<perf_event_mmap_page__bindgen_ty_1>(),
2087         8usize,
2088         concat!(
2089             "Alignment of ",
2090             stringify!(perf_event_mmap_page__bindgen_ty_1)
2091         )
2092     );
2093     assert_eq!(
2094         unsafe {
2095             &(*(::std::ptr::null::<perf_event_mmap_page__bindgen_ty_1>())).capabilities as *const _
2096                 as usize
2097         },
2098         0usize,
2099         concat!(
2100             "Offset of field: ",
2101             stringify!(perf_event_mmap_page__bindgen_ty_1),
2102             "::",
2103             stringify!(capabilities)
2104         )
2105     );
2106 }
2107 impl Default for perf_event_mmap_page__bindgen_ty_1 {
default() -> Self2108     fn default() -> Self {
2109         unsafe { ::std::mem::zeroed() }
2110     }
2111 }
2112 #[test]
bindgen_test_layout_perf_event_mmap_page()2113 fn bindgen_test_layout_perf_event_mmap_page() {
2114     assert_eq!(
2115         ::std::mem::size_of::<perf_event_mmap_page>(),
2116         1088usize,
2117         concat!("Size of: ", stringify!(perf_event_mmap_page))
2118     );
2119     assert_eq!(
2120         ::std::mem::align_of::<perf_event_mmap_page>(),
2121         8usize,
2122         concat!("Alignment of ", stringify!(perf_event_mmap_page))
2123     );
2124     assert_eq!(
2125         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).version as *const _ as usize },
2126         0usize,
2127         concat!(
2128             "Offset of field: ",
2129             stringify!(perf_event_mmap_page),
2130             "::",
2131             stringify!(version)
2132         )
2133     );
2134     assert_eq!(
2135         unsafe {
2136             &(*(::std::ptr::null::<perf_event_mmap_page>())).compat_version as *const _ as usize
2137         },
2138         4usize,
2139         concat!(
2140             "Offset of field: ",
2141             stringify!(perf_event_mmap_page),
2142             "::",
2143             stringify!(compat_version)
2144         )
2145     );
2146     assert_eq!(
2147         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).lock as *const _ as usize },
2148         8usize,
2149         concat!(
2150             "Offset of field: ",
2151             stringify!(perf_event_mmap_page),
2152             "::",
2153             stringify!(lock)
2154         )
2155     );
2156     assert_eq!(
2157         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).index as *const _ as usize },
2158         12usize,
2159         concat!(
2160             "Offset of field: ",
2161             stringify!(perf_event_mmap_page),
2162             "::",
2163             stringify!(index)
2164         )
2165     );
2166     assert_eq!(
2167         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).offset as *const _ as usize },
2168         16usize,
2169         concat!(
2170             "Offset of field: ",
2171             stringify!(perf_event_mmap_page),
2172             "::",
2173             stringify!(offset)
2174         )
2175     );
2176     assert_eq!(
2177         unsafe {
2178             &(*(::std::ptr::null::<perf_event_mmap_page>())).time_enabled as *const _ as usize
2179         },
2180         24usize,
2181         concat!(
2182             "Offset of field: ",
2183             stringify!(perf_event_mmap_page),
2184             "::",
2185             stringify!(time_enabled)
2186         )
2187     );
2188     assert_eq!(
2189         unsafe {
2190             &(*(::std::ptr::null::<perf_event_mmap_page>())).time_running as *const _ as usize
2191         },
2192         32usize,
2193         concat!(
2194             "Offset of field: ",
2195             stringify!(perf_event_mmap_page),
2196             "::",
2197             stringify!(time_running)
2198         )
2199     );
2200     assert_eq!(
2201         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).pmc_width as *const _ as usize },
2202         48usize,
2203         concat!(
2204             "Offset of field: ",
2205             stringify!(perf_event_mmap_page),
2206             "::",
2207             stringify!(pmc_width)
2208         )
2209     );
2210     assert_eq!(
2211         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).time_shift as *const _ as usize },
2212         50usize,
2213         concat!(
2214             "Offset of field: ",
2215             stringify!(perf_event_mmap_page),
2216             "::",
2217             stringify!(time_shift)
2218         )
2219     );
2220     assert_eq!(
2221         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).time_mult as *const _ as usize },
2222         52usize,
2223         concat!(
2224             "Offset of field: ",
2225             stringify!(perf_event_mmap_page),
2226             "::",
2227             stringify!(time_mult)
2228         )
2229     );
2230     assert_eq!(
2231         unsafe {
2232             &(*(::std::ptr::null::<perf_event_mmap_page>())).time_offset as *const _ as usize
2233         },
2234         56usize,
2235         concat!(
2236             "Offset of field: ",
2237             stringify!(perf_event_mmap_page),
2238             "::",
2239             stringify!(time_offset)
2240         )
2241     );
2242     assert_eq!(
2243         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).time_zero as *const _ as usize },
2244         64usize,
2245         concat!(
2246             "Offset of field: ",
2247             stringify!(perf_event_mmap_page),
2248             "::",
2249             stringify!(time_zero)
2250         )
2251     );
2252     assert_eq!(
2253         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).size as *const _ as usize },
2254         72usize,
2255         concat!(
2256             "Offset of field: ",
2257             stringify!(perf_event_mmap_page),
2258             "::",
2259             stringify!(size)
2260         )
2261     );
2262     assert_eq!(
2263         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).__reserved as *const _ as usize },
2264         76usize,
2265         concat!(
2266             "Offset of field: ",
2267             stringify!(perf_event_mmap_page),
2268             "::",
2269             stringify!(__reserved)
2270         )
2271     );
2272     assert_eq!(
2273         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).data_head as *const _ as usize },
2274         1024usize,
2275         concat!(
2276             "Offset of field: ",
2277             stringify!(perf_event_mmap_page),
2278             "::",
2279             stringify!(data_head)
2280         )
2281     );
2282     assert_eq!(
2283         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).data_tail as *const _ as usize },
2284         1032usize,
2285         concat!(
2286             "Offset of field: ",
2287             stringify!(perf_event_mmap_page),
2288             "::",
2289             stringify!(data_tail)
2290         )
2291     );
2292     assert_eq!(
2293         unsafe {
2294             &(*(::std::ptr::null::<perf_event_mmap_page>())).data_offset as *const _ as usize
2295         },
2296         1040usize,
2297         concat!(
2298             "Offset of field: ",
2299             stringify!(perf_event_mmap_page),
2300             "::",
2301             stringify!(data_offset)
2302         )
2303     );
2304     assert_eq!(
2305         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).data_size as *const _ as usize },
2306         1048usize,
2307         concat!(
2308             "Offset of field: ",
2309             stringify!(perf_event_mmap_page),
2310             "::",
2311             stringify!(data_size)
2312         )
2313     );
2314     assert_eq!(
2315         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).aux_head as *const _ as usize },
2316         1056usize,
2317         concat!(
2318             "Offset of field: ",
2319             stringify!(perf_event_mmap_page),
2320             "::",
2321             stringify!(aux_head)
2322         )
2323     );
2324     assert_eq!(
2325         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).aux_tail as *const _ as usize },
2326         1064usize,
2327         concat!(
2328             "Offset of field: ",
2329             stringify!(perf_event_mmap_page),
2330             "::",
2331             stringify!(aux_tail)
2332         )
2333     );
2334     assert_eq!(
2335         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).aux_offset as *const _ as usize },
2336         1072usize,
2337         concat!(
2338             "Offset of field: ",
2339             stringify!(perf_event_mmap_page),
2340             "::",
2341             stringify!(aux_offset)
2342         )
2343     );
2344     assert_eq!(
2345         unsafe { &(*(::std::ptr::null::<perf_event_mmap_page>())).aux_size as *const _ as usize },
2346         1080usize,
2347         concat!(
2348             "Offset of field: ",
2349             stringify!(perf_event_mmap_page),
2350             "::",
2351             stringify!(aux_size)
2352         )
2353     );
2354 }
2355 impl Default for perf_event_mmap_page {
default() -> Self2356     fn default() -> Self {
2357         unsafe { ::std::mem::zeroed() }
2358     }
2359 }
2360 #[repr(C)]
2361 #[derive(Debug, Default, Copy, Clone)]
2362 pub struct perf_event_header {
2363     pub type_: __u32,
2364     pub misc: __u16,
2365     pub size: __u16,
2366 }
2367 #[test]
bindgen_test_layout_perf_event_header()2368 fn bindgen_test_layout_perf_event_header() {
2369     assert_eq!(
2370         ::std::mem::size_of::<perf_event_header>(),
2371         8usize,
2372         concat!("Size of: ", stringify!(perf_event_header))
2373     );
2374     assert_eq!(
2375         ::std::mem::align_of::<perf_event_header>(),
2376         4usize,
2377         concat!("Alignment of ", stringify!(perf_event_header))
2378     );
2379     assert_eq!(
2380         unsafe { &(*(::std::ptr::null::<perf_event_header>())).type_ as *const _ as usize },
2381         0usize,
2382         concat!(
2383             "Offset of field: ",
2384             stringify!(perf_event_header),
2385             "::",
2386             stringify!(type_)
2387         )
2388     );
2389     assert_eq!(
2390         unsafe { &(*(::std::ptr::null::<perf_event_header>())).misc as *const _ as usize },
2391         4usize,
2392         concat!(
2393             "Offset of field: ",
2394             stringify!(perf_event_header),
2395             "::",
2396             stringify!(misc)
2397         )
2398     );
2399     assert_eq!(
2400         unsafe { &(*(::std::ptr::null::<perf_event_header>())).size as *const _ as usize },
2401         6usize,
2402         concat!(
2403             "Offset of field: ",
2404             stringify!(perf_event_header),
2405             "::",
2406             stringify!(size)
2407         )
2408     );
2409 }
2410 #[repr(C)]
2411 #[derive(Debug, Default, Copy, Clone)]
2412 pub struct perf_ns_link_info {
2413     pub dev: __u64,
2414     pub ino: __u64,
2415 }
2416 #[test]
bindgen_test_layout_perf_ns_link_info()2417 fn bindgen_test_layout_perf_ns_link_info() {
2418     assert_eq!(
2419         ::std::mem::size_of::<perf_ns_link_info>(),
2420         16usize,
2421         concat!("Size of: ", stringify!(perf_ns_link_info))
2422     );
2423     assert_eq!(
2424         ::std::mem::align_of::<perf_ns_link_info>(),
2425         8usize,
2426         concat!("Alignment of ", stringify!(perf_ns_link_info))
2427     );
2428     assert_eq!(
2429         unsafe { &(*(::std::ptr::null::<perf_ns_link_info>())).dev as *const _ as usize },
2430         0usize,
2431         concat!(
2432             "Offset of field: ",
2433             stringify!(perf_ns_link_info),
2434             "::",
2435             stringify!(dev)
2436         )
2437     );
2438     assert_eq!(
2439         unsafe { &(*(::std::ptr::null::<perf_ns_link_info>())).ino as *const _ as usize },
2440         8usize,
2441         concat!(
2442             "Offset of field: ",
2443             stringify!(perf_ns_link_info),
2444             "::",
2445             stringify!(ino)
2446         )
2447     );
2448 }
2449 pub const NET_NS_INDEX: _bindgen_ty_3 = 0;
2450 pub const UTS_NS_INDEX: _bindgen_ty_3 = 1;
2451 pub const IPC_NS_INDEX: _bindgen_ty_3 = 2;
2452 pub const PID_NS_INDEX: _bindgen_ty_3 = 3;
2453 pub const USER_NS_INDEX: _bindgen_ty_3 = 4;
2454 pub const MNT_NS_INDEX: _bindgen_ty_3 = 5;
2455 pub const CGROUP_NS_INDEX: _bindgen_ty_3 = 6;
2456 pub const NR_NAMESPACES: _bindgen_ty_3 = 7;
2457 pub type _bindgen_ty_3 = u32;
2458 pub const perf_event_type_PERF_RECORD_MMAP: perf_event_type = 1;
2459 pub const perf_event_type_PERF_RECORD_LOST: perf_event_type = 2;
2460 pub const perf_event_type_PERF_RECORD_COMM: perf_event_type = 3;
2461 pub const perf_event_type_PERF_RECORD_EXIT: perf_event_type = 4;
2462 pub const perf_event_type_PERF_RECORD_THROTTLE: perf_event_type = 5;
2463 pub const perf_event_type_PERF_RECORD_UNTHROTTLE: perf_event_type = 6;
2464 pub const perf_event_type_PERF_RECORD_FORK: perf_event_type = 7;
2465 pub const perf_event_type_PERF_RECORD_READ: perf_event_type = 8;
2466 pub const perf_event_type_PERF_RECORD_SAMPLE: perf_event_type = 9;
2467 pub const perf_event_type_PERF_RECORD_MMAP2: perf_event_type = 10;
2468 pub const perf_event_type_PERF_RECORD_AUX: perf_event_type = 11;
2469 pub const perf_event_type_PERF_RECORD_ITRACE_START: perf_event_type = 12;
2470 pub const perf_event_type_PERF_RECORD_LOST_SAMPLES: perf_event_type = 13;
2471 pub const perf_event_type_PERF_RECORD_SWITCH: perf_event_type = 14;
2472 pub const perf_event_type_PERF_RECORD_SWITCH_CPU_WIDE: perf_event_type = 15;
2473 pub const perf_event_type_PERF_RECORD_NAMESPACES: perf_event_type = 16;
2474 pub const perf_event_type_PERF_RECORD_KSYMBOL: perf_event_type = 17;
2475 pub const perf_event_type_PERF_RECORD_BPF_EVENT: perf_event_type = 18;
2476 pub const perf_event_type_PERF_RECORD_MAX: perf_event_type = 19;
2477 pub type perf_event_type = u32;
2478 pub const perf_record_ksymbol_type_PERF_RECORD_KSYMBOL_TYPE_UNKNOWN: perf_record_ksymbol_type = 0;
2479 pub const perf_record_ksymbol_type_PERF_RECORD_KSYMBOL_TYPE_BPF: perf_record_ksymbol_type = 1;
2480 pub const perf_record_ksymbol_type_PERF_RECORD_KSYMBOL_TYPE_MAX: perf_record_ksymbol_type = 2;
2481 pub type perf_record_ksymbol_type = u32;
2482 pub const perf_bpf_event_type_PERF_BPF_EVENT_UNKNOWN: perf_bpf_event_type = 0;
2483 pub const perf_bpf_event_type_PERF_BPF_EVENT_PROG_LOAD: perf_bpf_event_type = 1;
2484 pub const perf_bpf_event_type_PERF_BPF_EVENT_PROG_UNLOAD: perf_bpf_event_type = 2;
2485 pub const perf_bpf_event_type_PERF_BPF_EVENT_MAX: perf_bpf_event_type = 3;
2486 pub type perf_bpf_event_type = u32;
2487 pub const perf_callchain_context_PERF_CONTEXT_HV: perf_callchain_context = 18446744073709551584;
2488 pub const perf_callchain_context_PERF_CONTEXT_KERNEL: perf_callchain_context = 18446744073709551488;
2489 pub const perf_callchain_context_PERF_CONTEXT_USER: perf_callchain_context = 18446744073709551104;
2490 pub const perf_callchain_context_PERF_CONTEXT_GUEST: perf_callchain_context = 18446744073709549568;
2491 pub const perf_callchain_context_PERF_CONTEXT_GUEST_KERNEL: perf_callchain_context =
2492     18446744073709549440;
2493 pub const perf_callchain_context_PERF_CONTEXT_GUEST_USER: perf_callchain_context =
2494     18446744073709549056;
2495 pub const perf_callchain_context_PERF_CONTEXT_MAX: perf_callchain_context = 18446744073709547521;
2496 pub type perf_callchain_context = u64;
2497 #[repr(C)]
2498 #[derive(Copy, Clone)]
2499 pub union perf_mem_data_src {
2500     pub val: __u64,
2501     pub __bindgen_anon_1: perf_mem_data_src__bindgen_ty_1,
2502     _bindgen_union_align: u64,
2503 }
2504 #[repr(C)]
2505 #[repr(align(8))]
2506 #[derive(Debug, Default, Copy, Clone)]
2507 pub struct perf_mem_data_src__bindgen_ty_1 {
2508     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>,
2509 }
2510 #[test]
bindgen_test_layout_perf_mem_data_src__bindgen_ty_1()2511 fn bindgen_test_layout_perf_mem_data_src__bindgen_ty_1() {
2512     assert_eq!(
2513         ::std::mem::size_of::<perf_mem_data_src__bindgen_ty_1>(),
2514         8usize,
2515         concat!("Size of: ", stringify!(perf_mem_data_src__bindgen_ty_1))
2516     );
2517     assert_eq!(
2518         ::std::mem::align_of::<perf_mem_data_src__bindgen_ty_1>(),
2519         8usize,
2520         concat!("Alignment of ", stringify!(perf_mem_data_src__bindgen_ty_1))
2521     );
2522 }
2523 impl perf_mem_data_src__bindgen_ty_1 {
2524     #[inline]
mem_op(&self) -> __u642525     pub fn mem_op(&self) -> __u64 {
2526         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u64) }
2527     }
2528     #[inline]
set_mem_op(&mut self, val: __u64)2529     pub fn set_mem_op(&mut self, val: __u64) {
2530         unsafe {
2531             let val: u64 = ::std::mem::transmute(val);
2532             self._bitfield_1.set(0usize, 5u8, val as u64)
2533         }
2534     }
2535     #[inline]
mem_lvl(&self) -> __u642536     pub fn mem_lvl(&self) -> __u64 {
2537         unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 14u8) as u64) }
2538     }
2539     #[inline]
set_mem_lvl(&mut self, val: __u64)2540     pub fn set_mem_lvl(&mut self, val: __u64) {
2541         unsafe {
2542             let val: u64 = ::std::mem::transmute(val);
2543             self._bitfield_1.set(5usize, 14u8, val as u64)
2544         }
2545     }
2546     #[inline]
mem_snoop(&self) -> __u642547     pub fn mem_snoop(&self) -> __u64 {
2548         unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 5u8) as u64) }
2549     }
2550     #[inline]
set_mem_snoop(&mut self, val: __u64)2551     pub fn set_mem_snoop(&mut self, val: __u64) {
2552         unsafe {
2553             let val: u64 = ::std::mem::transmute(val);
2554             self._bitfield_1.set(19usize, 5u8, val as u64)
2555         }
2556     }
2557     #[inline]
mem_lock(&self) -> __u642558     pub fn mem_lock(&self) -> __u64 {
2559         unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
2560     }
2561     #[inline]
set_mem_lock(&mut self, val: __u64)2562     pub fn set_mem_lock(&mut self, val: __u64) {
2563         unsafe {
2564             let val: u64 = ::std::mem::transmute(val);
2565             self._bitfield_1.set(24usize, 2u8, val as u64)
2566         }
2567     }
2568     #[inline]
mem_dtlb(&self) -> __u642569     pub fn mem_dtlb(&self) -> __u64 {
2570         unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 7u8) as u64) }
2571     }
2572     #[inline]
set_mem_dtlb(&mut self, val: __u64)2573     pub fn set_mem_dtlb(&mut self, val: __u64) {
2574         unsafe {
2575             let val: u64 = ::std::mem::transmute(val);
2576             self._bitfield_1.set(26usize, 7u8, val as u64)
2577         }
2578     }
2579     #[inline]
mem_lvl_num(&self) -> __u642580     pub fn mem_lvl_num(&self) -> __u64 {
2581         unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 4u8) as u64) }
2582     }
2583     #[inline]
set_mem_lvl_num(&mut self, val: __u64)2584     pub fn set_mem_lvl_num(&mut self, val: __u64) {
2585         unsafe {
2586             let val: u64 = ::std::mem::transmute(val);
2587             self._bitfield_1.set(33usize, 4u8, val as u64)
2588         }
2589     }
2590     #[inline]
mem_remote(&self) -> __u642591     pub fn mem_remote(&self) -> __u64 {
2592         unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
2593     }
2594     #[inline]
set_mem_remote(&mut self, val: __u64)2595     pub fn set_mem_remote(&mut self, val: __u64) {
2596         unsafe {
2597             let val: u64 = ::std::mem::transmute(val);
2598             self._bitfield_1.set(37usize, 1u8, val as u64)
2599         }
2600     }
2601     #[inline]
mem_snoopx(&self) -> __u642602     pub fn mem_snoopx(&self) -> __u64 {
2603         unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 2u8) as u64) }
2604     }
2605     #[inline]
set_mem_snoopx(&mut self, val: __u64)2606     pub fn set_mem_snoopx(&mut self, val: __u64) {
2607         unsafe {
2608             let val: u64 = ::std::mem::transmute(val);
2609             self._bitfield_1.set(38usize, 2u8, val as u64)
2610         }
2611     }
2612     #[inline]
mem_rsvd(&self) -> __u642613     pub fn mem_rsvd(&self) -> __u64 {
2614         unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 24u8) as u64) }
2615     }
2616     #[inline]
set_mem_rsvd(&mut self, val: __u64)2617     pub fn set_mem_rsvd(&mut self, val: __u64) {
2618         unsafe {
2619             let val: u64 = ::std::mem::transmute(val);
2620             self._bitfield_1.set(40usize, 24u8, val as u64)
2621         }
2622     }
2623     #[inline]
new_bitfield_1( mem_op: __u64, mem_lvl: __u64, mem_snoop: __u64, mem_lock: __u64, mem_dtlb: __u64, mem_lvl_num: __u64, mem_remote: __u64, mem_snoopx: __u64, mem_rsvd: __u64, ) -> __BindgenBitfieldUnit<[u8; 8usize], u32>2624     pub fn new_bitfield_1(
2625         mem_op: __u64,
2626         mem_lvl: __u64,
2627         mem_snoop: __u64,
2628         mem_lock: __u64,
2629         mem_dtlb: __u64,
2630         mem_lvl_num: __u64,
2631         mem_remote: __u64,
2632         mem_snoopx: __u64,
2633         mem_rsvd: __u64,
2634     ) -> __BindgenBitfieldUnit<[u8; 8usize], u32> {
2635         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> =
2636             Default::default();
2637         __bindgen_bitfield_unit.set(0usize, 5u8, {
2638             let mem_op: u64 = unsafe { ::std::mem::transmute(mem_op) };
2639             mem_op as u64
2640         });
2641         __bindgen_bitfield_unit.set(5usize, 14u8, {
2642             let mem_lvl: u64 = unsafe { ::std::mem::transmute(mem_lvl) };
2643             mem_lvl as u64
2644         });
2645         __bindgen_bitfield_unit.set(19usize, 5u8, {
2646             let mem_snoop: u64 = unsafe { ::std::mem::transmute(mem_snoop) };
2647             mem_snoop as u64
2648         });
2649         __bindgen_bitfield_unit.set(24usize, 2u8, {
2650             let mem_lock: u64 = unsafe { ::std::mem::transmute(mem_lock) };
2651             mem_lock as u64
2652         });
2653         __bindgen_bitfield_unit.set(26usize, 7u8, {
2654             let mem_dtlb: u64 = unsafe { ::std::mem::transmute(mem_dtlb) };
2655             mem_dtlb as u64
2656         });
2657         __bindgen_bitfield_unit.set(33usize, 4u8, {
2658             let mem_lvl_num: u64 = unsafe { ::std::mem::transmute(mem_lvl_num) };
2659             mem_lvl_num as u64
2660         });
2661         __bindgen_bitfield_unit.set(37usize, 1u8, {
2662             let mem_remote: u64 = unsafe { ::std::mem::transmute(mem_remote) };
2663             mem_remote as u64
2664         });
2665         __bindgen_bitfield_unit.set(38usize, 2u8, {
2666             let mem_snoopx: u64 = unsafe { ::std::mem::transmute(mem_snoopx) };
2667             mem_snoopx as u64
2668         });
2669         __bindgen_bitfield_unit.set(40usize, 24u8, {
2670             let mem_rsvd: u64 = unsafe { ::std::mem::transmute(mem_rsvd) };
2671             mem_rsvd as u64
2672         });
2673         __bindgen_bitfield_unit
2674     }
2675 }
2676 #[test]
bindgen_test_layout_perf_mem_data_src()2677 fn bindgen_test_layout_perf_mem_data_src() {
2678     assert_eq!(
2679         ::std::mem::size_of::<perf_mem_data_src>(),
2680         8usize,
2681         concat!("Size of: ", stringify!(perf_mem_data_src))
2682     );
2683     assert_eq!(
2684         ::std::mem::align_of::<perf_mem_data_src>(),
2685         8usize,
2686         concat!("Alignment of ", stringify!(perf_mem_data_src))
2687     );
2688     assert_eq!(
2689         unsafe { &(*(::std::ptr::null::<perf_mem_data_src>())).val as *const _ as usize },
2690         0usize,
2691         concat!(
2692             "Offset of field: ",
2693             stringify!(perf_mem_data_src),
2694             "::",
2695             stringify!(val)
2696         )
2697     );
2698 }
2699 impl Default for perf_mem_data_src {
default() -> Self2700     fn default() -> Self {
2701         unsafe { ::std::mem::zeroed() }
2702     }
2703 }
2704 #[repr(C)]
2705 #[derive(Debug, Default, Copy, Clone)]
2706 pub struct perf_branch_entry {
2707     pub from: __u64,
2708     pub to: __u64,
2709     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u64>,
2710 }
2711 #[test]
bindgen_test_layout_perf_branch_entry()2712 fn bindgen_test_layout_perf_branch_entry() {
2713     assert_eq!(
2714         ::std::mem::size_of::<perf_branch_entry>(),
2715         24usize,
2716         concat!("Size of: ", stringify!(perf_branch_entry))
2717     );
2718     assert_eq!(
2719         ::std::mem::align_of::<perf_branch_entry>(),
2720         8usize,
2721         concat!("Alignment of ", stringify!(perf_branch_entry))
2722     );
2723     assert_eq!(
2724         unsafe { &(*(::std::ptr::null::<perf_branch_entry>())).from as *const _ as usize },
2725         0usize,
2726         concat!(
2727             "Offset of field: ",
2728             stringify!(perf_branch_entry),
2729             "::",
2730             stringify!(from)
2731         )
2732     );
2733     assert_eq!(
2734         unsafe { &(*(::std::ptr::null::<perf_branch_entry>())).to as *const _ as usize },
2735         8usize,
2736         concat!(
2737             "Offset of field: ",
2738             stringify!(perf_branch_entry),
2739             "::",
2740             stringify!(to)
2741         )
2742     );
2743 }
2744 impl perf_branch_entry {
2745     #[inline]
mispred(&self) -> __u642746     pub fn mispred(&self) -> __u64 {
2747         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
2748     }
2749     #[inline]
set_mispred(&mut self, val: __u64)2750     pub fn set_mispred(&mut self, val: __u64) {
2751         unsafe {
2752             let val: u64 = ::std::mem::transmute(val);
2753             self._bitfield_1.set(0usize, 1u8, val as u64)
2754         }
2755     }
2756     #[inline]
predicted(&self) -> __u642757     pub fn predicted(&self) -> __u64 {
2758         unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
2759     }
2760     #[inline]
set_predicted(&mut self, val: __u64)2761     pub fn set_predicted(&mut self, val: __u64) {
2762         unsafe {
2763             let val: u64 = ::std::mem::transmute(val);
2764             self._bitfield_1.set(1usize, 1u8, val as u64)
2765         }
2766     }
2767     #[inline]
in_tx(&self) -> __u642768     pub fn in_tx(&self) -> __u64 {
2769         unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
2770     }
2771     #[inline]
set_in_tx(&mut self, val: __u64)2772     pub fn set_in_tx(&mut self, val: __u64) {
2773         unsafe {
2774             let val: u64 = ::std::mem::transmute(val);
2775             self._bitfield_1.set(2usize, 1u8, val as u64)
2776         }
2777     }
2778     #[inline]
abort(&self) -> __u642779     pub fn abort(&self) -> __u64 {
2780         unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
2781     }
2782     #[inline]
set_abort(&mut self, val: __u64)2783     pub fn set_abort(&mut self, val: __u64) {
2784         unsafe {
2785             let val: u64 = ::std::mem::transmute(val);
2786             self._bitfield_1.set(3usize, 1u8, val as u64)
2787         }
2788     }
2789     #[inline]
cycles(&self) -> __u642790     pub fn cycles(&self) -> __u64 {
2791         unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 16u8) as u64) }
2792     }
2793     #[inline]
set_cycles(&mut self, val: __u64)2794     pub fn set_cycles(&mut self, val: __u64) {
2795         unsafe {
2796             let val: u64 = ::std::mem::transmute(val);
2797             self._bitfield_1.set(4usize, 16u8, val as u64)
2798         }
2799     }
2800     #[inline]
type_(&self) -> __u642801     pub fn type_(&self) -> __u64 {
2802         unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u64) }
2803     }
2804     #[inline]
set_type(&mut self, val: __u64)2805     pub fn set_type(&mut self, val: __u64) {
2806         unsafe {
2807             let val: u64 = ::std::mem::transmute(val);
2808             self._bitfield_1.set(20usize, 4u8, val as u64)
2809         }
2810     }
2811     #[inline]
reserved(&self) -> __u642812     pub fn reserved(&self) -> __u64 {
2813         unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 40u8) as u64) }
2814     }
2815     #[inline]
set_reserved(&mut self, val: __u64)2816     pub fn set_reserved(&mut self, val: __u64) {
2817         unsafe {
2818             let val: u64 = ::std::mem::transmute(val);
2819             self._bitfield_1.set(24usize, 40u8, val as u64)
2820         }
2821     }
2822     #[inline]
new_bitfield_1( mispred: __u64, predicted: __u64, in_tx: __u64, abort: __u64, cycles: __u64, type_: __u64, reserved: __u64, ) -> __BindgenBitfieldUnit<[u8; 8usize], u64>2823     pub fn new_bitfield_1(
2824         mispred: __u64,
2825         predicted: __u64,
2826         in_tx: __u64,
2827         abort: __u64,
2828         cycles: __u64,
2829         type_: __u64,
2830         reserved: __u64,
2831     ) -> __BindgenBitfieldUnit<[u8; 8usize], u64> {
2832         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u64> =
2833             Default::default();
2834         __bindgen_bitfield_unit.set(0usize, 1u8, {
2835             let mispred: u64 = unsafe { ::std::mem::transmute(mispred) };
2836             mispred as u64
2837         });
2838         __bindgen_bitfield_unit.set(1usize, 1u8, {
2839             let predicted: u64 = unsafe { ::std::mem::transmute(predicted) };
2840             predicted as u64
2841         });
2842         __bindgen_bitfield_unit.set(2usize, 1u8, {
2843             let in_tx: u64 = unsafe { ::std::mem::transmute(in_tx) };
2844             in_tx as u64
2845         });
2846         __bindgen_bitfield_unit.set(3usize, 1u8, {
2847             let abort: u64 = unsafe { ::std::mem::transmute(abort) };
2848             abort as u64
2849         });
2850         __bindgen_bitfield_unit.set(4usize, 16u8, {
2851             let cycles: u64 = unsafe { ::std::mem::transmute(cycles) };
2852             cycles as u64
2853         });
2854         __bindgen_bitfield_unit.set(20usize, 4u8, {
2855             let type_: u64 = unsafe { ::std::mem::transmute(type_) };
2856             type_ as u64
2857         });
2858         __bindgen_bitfield_unit.set(24usize, 40u8, {
2859             let reserved: u64 = unsafe { ::std::mem::transmute(reserved) };
2860             reserved as u64
2861         });
2862         __bindgen_bitfield_unit
2863     }
2864 }
2865 pub const HW_BREAKPOINT_LEN_1: _bindgen_ty_4 = 1;
2866 pub const HW_BREAKPOINT_LEN_2: _bindgen_ty_4 = 2;
2867 pub const HW_BREAKPOINT_LEN_3: _bindgen_ty_4 = 3;
2868 pub const HW_BREAKPOINT_LEN_4: _bindgen_ty_4 = 4;
2869 pub const HW_BREAKPOINT_LEN_5: _bindgen_ty_4 = 5;
2870 pub const HW_BREAKPOINT_LEN_6: _bindgen_ty_4 = 6;
2871 pub const HW_BREAKPOINT_LEN_7: _bindgen_ty_4 = 7;
2872 pub const HW_BREAKPOINT_LEN_8: _bindgen_ty_4 = 8;
2873 pub type _bindgen_ty_4 = u32;
2874 pub const HW_BREAKPOINT_EMPTY: _bindgen_ty_5 = 0;
2875 pub const HW_BREAKPOINT_R: _bindgen_ty_5 = 1;
2876 pub const HW_BREAKPOINT_W: _bindgen_ty_5 = 2;
2877 pub const HW_BREAKPOINT_RW: _bindgen_ty_5 = 3;
2878 pub const HW_BREAKPOINT_X: _bindgen_ty_5 = 4;
2879 pub const HW_BREAKPOINT_INVALID: _bindgen_ty_5 = 7;
2880 pub type _bindgen_ty_5 = u32;
2881 pub const bp_type_idx_TYPE_INST: bp_type_idx = 0;
2882 pub const bp_type_idx_TYPE_DATA: bp_type_idx = 1;
2883 pub const bp_type_idx_TYPE_MAX: bp_type_idx = 2;
2884 pub type bp_type_idx = u32;
2885 pub const perf_event_ioctls_ENABLE: perf_event_ioctls = 9216;
2886 pub const perf_event_ioctls_DISABLE: perf_event_ioctls = 9217;
2887 pub const perf_event_ioctls_REFRESH: perf_event_ioctls = 9218;
2888 pub const perf_event_ioctls_RESET: perf_event_ioctls = 9219;
2889 pub const perf_event_ioctls_PERIOD: perf_event_ioctls = 1074275332;
2890 pub const perf_event_ioctls_SET_OUTPUT: perf_event_ioctls = 9221;
2891 pub const perf_event_ioctls_SET_FILTER: perf_event_ioctls = 1074275334;
2892 pub const perf_event_ioctls_ID: perf_event_ioctls = 2148017159;
2893 pub const perf_event_ioctls_SET_BPF: perf_event_ioctls = 1074013192;
2894 pub const perf_event_ioctls_PAUSE_OUTPUT: perf_event_ioctls = 1074013193;
2895 pub const perf_event_ioctls_QUERY_BPF: perf_event_ioctls = 3221758986;
2896 pub const perf_event_ioctls_MODIFY_ATTRIBUTES: perf_event_ioctls = 1074275339;
2897 pub type perf_event_ioctls = u32;
2898