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