1#![allow(dead_code)]
18#![allow(non_upper_case_globals)]
19#![allow(non_camel_case_types)]
20#![allow(non_snake_case)]
21#![allow(deref_nullptr)] #![allow(clippy::all)]
23
24#[repr(C)]
27#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
28pub struct __BindgenBitfieldUnit<Storage> {
29 storage: Storage,
30}
31impl<Storage> __BindgenBitfieldUnit<Storage> {
32 #[inline]
33 pub const fn new(storage: Storage) -> Self {
34 Self { storage }
35 }
36}
37impl<Storage> __BindgenBitfieldUnit<Storage>
38where
39 Storage: AsRef<[u8]> + AsMut<[u8]>,
40{
41 #[inline]
42 pub fn get_bit(&self, index: usize) -> bool {
43 debug_assert!(index / 8 < self.storage.as_ref().len());
44 let byte_index = index / 8;
45 let byte = self.storage.as_ref()[byte_index];
46 let bit_index = if cfg!(target_endian = "big") {
47 7 - (index % 8)
48 } else {
49 index % 8
50 };
51 let mask = 1 << bit_index;
52 byte & mask == mask
53 }
54 #[inline]
55 pub fn set_bit(&mut self, index: usize, val: bool) {
56 debug_assert!(index / 8 < self.storage.as_ref().len());
57 let byte_index = index / 8;
58 let byte = &mut self.storage.as_mut()[byte_index];
59 let bit_index = if cfg!(target_endian = "big") {
60 7 - (index % 8)
61 } else {
62 index % 8
63 };
64 let mask = 1 << bit_index;
65 if val {
66 *byte |= mask;
67 } else {
68 *byte &= !mask;
69 }
70 }
71 #[inline]
72 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
73 debug_assert!(bit_width <= 64);
74 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
75 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
76 let mut val = 0;
77 for i in 0..(bit_width as usize) {
78 if self.get_bit(i + bit_offset) {
79 let index = if cfg!(target_endian = "big") {
80 bit_width as usize - 1 - i
81 } else {
82 i
83 };
84 val |= 1 << index;
85 }
86 }
87 val
88 }
89 #[inline]
90 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
91 debug_assert!(bit_width <= 64);
92 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
93 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
94 for i in 0..(bit_width as usize) {
95 let mask = 1 << i;
96 let val_bit_is_set = val & mask == mask;
97 let index = if cfg!(target_endian = "big") {
98 bit_width as usize - 1 - i
99 } else {
100 i
101 };
102 self.set_bit(index + bit_offset, val_bit_is_set);
103 }
104 }
105}
106#[repr(C)]
107#[derive(Default)]
108pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
109impl<T> __IncompleteArrayField<T> {
110 #[inline]
111 pub const fn new() -> Self {
112 __IncompleteArrayField(::std::marker::PhantomData, [])
113 }
114 #[inline]
115 pub fn as_ptr(&self) -> *const T {
116 self as *const _ as *const T
117 }
118 #[inline]
119 pub fn as_mut_ptr(&mut self) -> *mut T {
120 self as *mut _ as *mut T
121 }
122 #[inline]
123 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
124 ::std::slice::from_raw_parts(self.as_ptr(), len)
125 }
126 #[inline]
127 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
128 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
129 }
130}
131impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
132 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
133 fmt.write_str("__IncompleteArrayField")
134 }
135}
136pub const __BITS_PER_LONG: u32 = 64;
137pub const __BITS_PER_LONG_LONG: u32 = 64;
138pub const __FD_SETSIZE: u32 = 1024;
139pub const _IOC_NRBITS: u32 = 8;
140pub const _IOC_TYPEBITS: u32 = 8;
141pub const _IOC_SIZEBITS: u32 = 14;
142pub const _IOC_DIRBITS: u32 = 2;
143pub const _IOC_NRMASK: u32 = 255;
144pub const _IOC_TYPEMASK: u32 = 255;
145pub const _IOC_SIZEMASK: u32 = 16383;
146pub const _IOC_DIRMASK: u32 = 3;
147pub const _IOC_NRSHIFT: u32 = 0;
148pub const _IOC_TYPESHIFT: u32 = 8;
149pub const _IOC_SIZESHIFT: u32 = 16;
150pub const _IOC_DIRSHIFT: u32 = 30;
151pub const _IOC_NONE: u32 = 0;
152pub const _IOC_WRITE: u32 = 1;
153pub const _IOC_READ: u32 = 2;
154pub const IOC_IN: u32 = 1073741824;
155pub const IOC_OUT: u32 = 2147483648;
156pub const IOC_INOUT: u32 = 3221225472;
157pub const IOCSIZE_MASK: u32 = 1073676288;
158pub const IOCSIZE_SHIFT: u32 = 16;
159pub const __LITTLE_ENDIAN: u32 = 1234;
160pub const PERF_PMU_TYPE_SHIFT: u32 = 32;
161pub const PERF_HW_EVENT_MASK: u32 = 4294967295;
162pub const PERF_ATTR_SIZE_VER0: u32 = 64;
163pub const PERF_ATTR_SIZE_VER1: u32 = 72;
164pub const PERF_ATTR_SIZE_VER2: u32 = 80;
165pub const PERF_ATTR_SIZE_VER3: u32 = 96;
166pub const PERF_ATTR_SIZE_VER4: u32 = 104;
167pub const PERF_ATTR_SIZE_VER5: u32 = 112;
168pub const PERF_ATTR_SIZE_VER6: u32 = 120;
169pub const PERF_ATTR_SIZE_VER7: u32 = 128;
170pub const PERF_ATTR_SIZE_VER8: u32 = 136;
171pub const PERF_RECORD_MISC_CPUMODE_MASK: u32 = 7;
172pub const PERF_RECORD_MISC_CPUMODE_UNKNOWN: u32 = 0;
173pub const PERF_RECORD_MISC_KERNEL: u32 = 1;
174pub const PERF_RECORD_MISC_USER: u32 = 2;
175pub const PERF_RECORD_MISC_HYPERVISOR: u32 = 3;
176pub const PERF_RECORD_MISC_GUEST_KERNEL: u32 = 4;
177pub const PERF_RECORD_MISC_GUEST_USER: u32 = 5;
178pub const PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT: u32 = 4096;
179pub const PERF_RECORD_MISC_MMAP_DATA: u32 = 8192;
180pub const PERF_RECORD_MISC_COMM_EXEC: u32 = 8192;
181pub const PERF_RECORD_MISC_FORK_EXEC: u32 = 8192;
182pub const PERF_RECORD_MISC_SWITCH_OUT: u32 = 8192;
183pub const PERF_RECORD_MISC_EXACT_IP: u32 = 16384;
184pub const PERF_RECORD_MISC_SWITCH_OUT_PREEMPT: u32 = 16384;
185pub const PERF_RECORD_MISC_MMAP_BUILD_ID: u32 = 16384;
186pub const PERF_RECORD_MISC_EXT_RESERVED: u32 = 32768;
187pub const PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER: u32 = 1;
188pub const PERF_MAX_STACK_DEPTH: u32 = 127;
189pub const PERF_MAX_CONTEXTS_PER_STACK: u32 = 8;
190pub const PERF_AUX_FLAG_TRUNCATED: u32 = 1;
191pub const PERF_AUX_FLAG_OVERWRITE: u32 = 2;
192pub const PERF_AUX_FLAG_PARTIAL: u32 = 4;
193pub const PERF_AUX_FLAG_COLLISION: u32 = 8;
194pub const PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK: u32 = 65280;
195pub const PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT: u32 = 0;
196pub const PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW: u32 = 256;
197pub const PERF_FLAG_FD_NO_GROUP: u32 = 1;
198pub const PERF_FLAG_FD_OUTPUT: u32 = 2;
199pub const PERF_FLAG_PID_CGROUP: u32 = 4;
200pub const PERF_FLAG_FD_CLOEXEC: u32 = 8;
201pub const PERF_MEM_OP_NA: u32 = 1;
202pub const PERF_MEM_OP_LOAD: u32 = 2;
203pub const PERF_MEM_OP_STORE: u32 = 4;
204pub const PERF_MEM_OP_PFETCH: u32 = 8;
205pub const PERF_MEM_OP_EXEC: u32 = 16;
206pub const PERF_MEM_OP_SHIFT: u32 = 0;
207pub const PERF_MEM_LVL_NA: u32 = 1;
208pub const PERF_MEM_LVL_HIT: u32 = 2;
209pub const PERF_MEM_LVL_MISS: u32 = 4;
210pub const PERF_MEM_LVL_L1: u32 = 8;
211pub const PERF_MEM_LVL_LFB: u32 = 16;
212pub const PERF_MEM_LVL_L2: u32 = 32;
213pub const PERF_MEM_LVL_L3: u32 = 64;
214pub const PERF_MEM_LVL_LOC_RAM: u32 = 128;
215pub const PERF_MEM_LVL_REM_RAM1: u32 = 256;
216pub const PERF_MEM_LVL_REM_RAM2: u32 = 512;
217pub const PERF_MEM_LVL_REM_CCE1: u32 = 1024;
218pub const PERF_MEM_LVL_REM_CCE2: u32 = 2048;
219pub const PERF_MEM_LVL_IO: u32 = 4096;
220pub const PERF_MEM_LVL_UNC: u32 = 8192;
221pub const PERF_MEM_LVL_SHIFT: u32 = 5;
222pub const PERF_MEM_REMOTE_REMOTE: u32 = 1;
223pub const PERF_MEM_REMOTE_SHIFT: u32 = 37;
224pub const PERF_MEM_LVLNUM_L1: u32 = 1;
225pub const PERF_MEM_LVLNUM_L2: u32 = 2;
226pub const PERF_MEM_LVLNUM_L3: u32 = 3;
227pub const PERF_MEM_LVLNUM_L4: u32 = 4;
228pub const PERF_MEM_LVLNUM_UNC: u32 = 8;
229pub const PERF_MEM_LVLNUM_CXL: u32 = 9;
230pub const PERF_MEM_LVLNUM_IO: u32 = 10;
231pub const PERF_MEM_LVLNUM_ANY_CACHE: u32 = 11;
232pub const PERF_MEM_LVLNUM_LFB: u32 = 12;
233pub const PERF_MEM_LVLNUM_RAM: u32 = 13;
234pub const PERF_MEM_LVLNUM_PMEM: u32 = 14;
235pub const PERF_MEM_LVLNUM_NA: u32 = 15;
236pub const PERF_MEM_LVLNUM_SHIFT: u32 = 33;
237pub const PERF_MEM_SNOOP_NA: u32 = 1;
238pub const PERF_MEM_SNOOP_NONE: u32 = 2;
239pub const PERF_MEM_SNOOP_HIT: u32 = 4;
240pub const PERF_MEM_SNOOP_MISS: u32 = 8;
241pub const PERF_MEM_SNOOP_HITM: u32 = 16;
242pub const PERF_MEM_SNOOP_SHIFT: u32 = 19;
243pub const PERF_MEM_SNOOPX_FWD: u32 = 1;
244pub const PERF_MEM_SNOOPX_PEER: u32 = 2;
245pub const PERF_MEM_SNOOPX_SHIFT: u32 = 38;
246pub const PERF_MEM_LOCK_NA: u32 = 1;
247pub const PERF_MEM_LOCK_LOCKED: u32 = 2;
248pub const PERF_MEM_LOCK_SHIFT: u32 = 24;
249pub const PERF_MEM_TLB_NA: u32 = 1;
250pub const PERF_MEM_TLB_HIT: u32 = 2;
251pub const PERF_MEM_TLB_MISS: u32 = 4;
252pub const PERF_MEM_TLB_L1: u32 = 8;
253pub const PERF_MEM_TLB_L2: u32 = 16;
254pub const PERF_MEM_TLB_WK: u32 = 32;
255pub const PERF_MEM_TLB_OS: u32 = 64;
256pub const PERF_MEM_TLB_SHIFT: u32 = 26;
257pub const PERF_MEM_BLK_NA: u32 = 1;
258pub const PERF_MEM_BLK_DATA: u32 = 2;
259pub const PERF_MEM_BLK_ADDR: u32 = 4;
260pub const PERF_MEM_BLK_SHIFT: u32 = 40;
261pub const PERF_MEM_HOPS_0: u32 = 1;
262pub const PERF_MEM_HOPS_1: u32 = 2;
263pub const PERF_MEM_HOPS_2: u32 = 3;
264pub const PERF_MEM_HOPS_3: u32 = 4;
265pub const PERF_MEM_HOPS_SHIFT: u32 = 43;
266pub const PERF_BRANCH_ENTRY_INFO_BITS_MAX: u32 = 33;
267pub const __X32_SYSCALL_BIT: u32 = 1073741824;
268pub const __NR_read: u32 = 0;
269pub const __NR_write: u32 = 1;
270pub const __NR_open: u32 = 2;
271pub const __NR_close: u32 = 3;
272pub const __NR_stat: u32 = 4;
273pub const __NR_fstat: u32 = 5;
274pub const __NR_lstat: u32 = 6;
275pub const __NR_poll: u32 = 7;
276pub const __NR_lseek: u32 = 8;
277pub const __NR_mmap: u32 = 9;
278pub const __NR_mprotect: u32 = 10;
279pub const __NR_munmap: u32 = 11;
280pub const __NR_brk: u32 = 12;
281pub const __NR_rt_sigaction: u32 = 13;
282pub const __NR_rt_sigprocmask: u32 = 14;
283pub const __NR_rt_sigreturn: u32 = 15;
284pub const __NR_ioctl: u32 = 16;
285pub const __NR_pread64: u32 = 17;
286pub const __NR_pwrite64: u32 = 18;
287pub const __NR_readv: u32 = 19;
288pub const __NR_writev: u32 = 20;
289pub const __NR_access: u32 = 21;
290pub const __NR_pipe: u32 = 22;
291pub const __NR_select: u32 = 23;
292pub const __NR_sched_yield: u32 = 24;
293pub const __NR_mremap: u32 = 25;
294pub const __NR_msync: u32 = 26;
295pub const __NR_mincore: u32 = 27;
296pub const __NR_madvise: u32 = 28;
297pub const __NR_shmget: u32 = 29;
298pub const __NR_shmat: u32 = 30;
299pub const __NR_shmctl: u32 = 31;
300pub const __NR_dup: u32 = 32;
301pub const __NR_dup2: u32 = 33;
302pub const __NR_pause: u32 = 34;
303pub const __NR_nanosleep: u32 = 35;
304pub const __NR_getitimer: u32 = 36;
305pub const __NR_alarm: u32 = 37;
306pub const __NR_setitimer: u32 = 38;
307pub const __NR_getpid: u32 = 39;
308pub const __NR_sendfile: u32 = 40;
309pub const __NR_socket: u32 = 41;
310pub const __NR_connect: u32 = 42;
311pub const __NR_accept: u32 = 43;
312pub const __NR_sendto: u32 = 44;
313pub const __NR_recvfrom: u32 = 45;
314pub const __NR_sendmsg: u32 = 46;
315pub const __NR_recvmsg: u32 = 47;
316pub const __NR_shutdown: u32 = 48;
317pub const __NR_bind: u32 = 49;
318pub const __NR_listen: u32 = 50;
319pub const __NR_getsockname: u32 = 51;
320pub const __NR_getpeername: u32 = 52;
321pub const __NR_socketpair: u32 = 53;
322pub const __NR_setsockopt: u32 = 54;
323pub const __NR_getsockopt: u32 = 55;
324pub const __NR_clone: u32 = 56;
325pub const __NR_fork: u32 = 57;
326pub const __NR_vfork: u32 = 58;
327pub const __NR_execve: u32 = 59;
328pub const __NR_exit: u32 = 60;
329pub const __NR_wait4: u32 = 61;
330pub const __NR_kill: u32 = 62;
331pub const __NR_uname: u32 = 63;
332pub const __NR_semget: u32 = 64;
333pub const __NR_semop: u32 = 65;
334pub const __NR_semctl: u32 = 66;
335pub const __NR_shmdt: u32 = 67;
336pub const __NR_msgget: u32 = 68;
337pub const __NR_msgsnd: u32 = 69;
338pub const __NR_msgrcv: u32 = 70;
339pub const __NR_msgctl: u32 = 71;
340pub const __NR_fcntl: u32 = 72;
341pub const __NR_flock: u32 = 73;
342pub const __NR_fsync: u32 = 74;
343pub const __NR_fdatasync: u32 = 75;
344pub const __NR_truncate: u32 = 76;
345pub const __NR_ftruncate: u32 = 77;
346pub const __NR_getdents: u32 = 78;
347pub const __NR_getcwd: u32 = 79;
348pub const __NR_chdir: u32 = 80;
349pub const __NR_fchdir: u32 = 81;
350pub const __NR_rename: u32 = 82;
351pub const __NR_mkdir: u32 = 83;
352pub const __NR_rmdir: u32 = 84;
353pub const __NR_creat: u32 = 85;
354pub const __NR_link: u32 = 86;
355pub const __NR_unlink: u32 = 87;
356pub const __NR_symlink: u32 = 88;
357pub const __NR_readlink: u32 = 89;
358pub const __NR_chmod: u32 = 90;
359pub const __NR_fchmod: u32 = 91;
360pub const __NR_chown: u32 = 92;
361pub const __NR_fchown: u32 = 93;
362pub const __NR_lchown: u32 = 94;
363pub const __NR_umask: u32 = 95;
364pub const __NR_gettimeofday: u32 = 96;
365pub const __NR_getrlimit: u32 = 97;
366pub const __NR_getrusage: u32 = 98;
367pub const __NR_sysinfo: u32 = 99;
368pub const __NR_times: u32 = 100;
369pub const __NR_ptrace: u32 = 101;
370pub const __NR_getuid: u32 = 102;
371pub const __NR_syslog: u32 = 103;
372pub const __NR_getgid: u32 = 104;
373pub const __NR_setuid: u32 = 105;
374pub const __NR_setgid: u32 = 106;
375pub const __NR_geteuid: u32 = 107;
376pub const __NR_getegid: u32 = 108;
377pub const __NR_setpgid: u32 = 109;
378pub const __NR_getppid: u32 = 110;
379pub const __NR_getpgrp: u32 = 111;
380pub const __NR_setsid: u32 = 112;
381pub const __NR_setreuid: u32 = 113;
382pub const __NR_setregid: u32 = 114;
383pub const __NR_getgroups: u32 = 115;
384pub const __NR_setgroups: u32 = 116;
385pub const __NR_setresuid: u32 = 117;
386pub const __NR_getresuid: u32 = 118;
387pub const __NR_setresgid: u32 = 119;
388pub const __NR_getresgid: u32 = 120;
389pub const __NR_getpgid: u32 = 121;
390pub const __NR_setfsuid: u32 = 122;
391pub const __NR_setfsgid: u32 = 123;
392pub const __NR_getsid: u32 = 124;
393pub const __NR_capget: u32 = 125;
394pub const __NR_capset: u32 = 126;
395pub const __NR_rt_sigpending: u32 = 127;
396pub const __NR_rt_sigtimedwait: u32 = 128;
397pub const __NR_rt_sigqueueinfo: u32 = 129;
398pub const __NR_rt_sigsuspend: u32 = 130;
399pub const __NR_sigaltstack: u32 = 131;
400pub const __NR_utime: u32 = 132;
401pub const __NR_mknod: u32 = 133;
402pub const __NR_uselib: u32 = 134;
403pub const __NR_personality: u32 = 135;
404pub const __NR_ustat: u32 = 136;
405pub const __NR_statfs: u32 = 137;
406pub const __NR_fstatfs: u32 = 138;
407pub const __NR_sysfs: u32 = 139;
408pub const __NR_getpriority: u32 = 140;
409pub const __NR_setpriority: u32 = 141;
410pub const __NR_sched_setparam: u32 = 142;
411pub const __NR_sched_getparam: u32 = 143;
412pub const __NR_sched_setscheduler: u32 = 144;
413pub const __NR_sched_getscheduler: u32 = 145;
414pub const __NR_sched_get_priority_max: u32 = 146;
415pub const __NR_sched_get_priority_min: u32 = 147;
416pub const __NR_sched_rr_get_interval: u32 = 148;
417pub const __NR_mlock: u32 = 149;
418pub const __NR_munlock: u32 = 150;
419pub const __NR_mlockall: u32 = 151;
420pub const __NR_munlockall: u32 = 152;
421pub const __NR_vhangup: u32 = 153;
422pub const __NR_modify_ldt: u32 = 154;
423pub const __NR_pivot_root: u32 = 155;
424pub const __NR__sysctl: u32 = 156;
425pub const __NR_prctl: u32 = 157;
426pub const __NR_arch_prctl: u32 = 158;
427pub const __NR_adjtimex: u32 = 159;
428pub const __NR_setrlimit: u32 = 160;
429pub const __NR_chroot: u32 = 161;
430pub const __NR_sync: u32 = 162;
431pub const __NR_acct: u32 = 163;
432pub const __NR_settimeofday: u32 = 164;
433pub const __NR_mount: u32 = 165;
434pub const __NR_umount2: u32 = 166;
435pub const __NR_swapon: u32 = 167;
436pub const __NR_swapoff: u32 = 168;
437pub const __NR_reboot: u32 = 169;
438pub const __NR_sethostname: u32 = 170;
439pub const __NR_setdomainname: u32 = 171;
440pub const __NR_iopl: u32 = 172;
441pub const __NR_ioperm: u32 = 173;
442pub const __NR_create_module: u32 = 174;
443pub const __NR_init_module: u32 = 175;
444pub const __NR_delete_module: u32 = 176;
445pub const __NR_get_kernel_syms: u32 = 177;
446pub const __NR_query_module: u32 = 178;
447pub const __NR_quotactl: u32 = 179;
448pub const __NR_nfsservctl: u32 = 180;
449pub const __NR_getpmsg: u32 = 181;
450pub const __NR_putpmsg: u32 = 182;
451pub const __NR_afs_syscall: u32 = 183;
452pub const __NR_tuxcall: u32 = 184;
453pub const __NR_security: u32 = 185;
454pub const __NR_gettid: u32 = 186;
455pub const __NR_readahead: u32 = 187;
456pub const __NR_setxattr: u32 = 188;
457pub const __NR_lsetxattr: u32 = 189;
458pub const __NR_fsetxattr: u32 = 190;
459pub const __NR_getxattr: u32 = 191;
460pub const __NR_lgetxattr: u32 = 192;
461pub const __NR_fgetxattr: u32 = 193;
462pub const __NR_listxattr: u32 = 194;
463pub const __NR_llistxattr: u32 = 195;
464pub const __NR_flistxattr: u32 = 196;
465pub const __NR_removexattr: u32 = 197;
466pub const __NR_lremovexattr: u32 = 198;
467pub const __NR_fremovexattr: u32 = 199;
468pub const __NR_tkill: u32 = 200;
469pub const __NR_time: u32 = 201;
470pub const __NR_futex: u32 = 202;
471pub const __NR_sched_setaffinity: u32 = 203;
472pub const __NR_sched_getaffinity: u32 = 204;
473pub const __NR_set_thread_area: u32 = 205;
474pub const __NR_io_setup: u32 = 206;
475pub const __NR_io_destroy: u32 = 207;
476pub const __NR_io_getevents: u32 = 208;
477pub const __NR_io_submit: u32 = 209;
478pub const __NR_io_cancel: u32 = 210;
479pub const __NR_get_thread_area: u32 = 211;
480pub const __NR_lookup_dcookie: u32 = 212;
481pub const __NR_epoll_create: u32 = 213;
482pub const __NR_epoll_ctl_old: u32 = 214;
483pub const __NR_epoll_wait_old: u32 = 215;
484pub const __NR_remap_file_pages: u32 = 216;
485pub const __NR_getdents64: u32 = 217;
486pub const __NR_set_tid_address: u32 = 218;
487pub const __NR_restart_syscall: u32 = 219;
488pub const __NR_semtimedop: u32 = 220;
489pub const __NR_fadvise64: u32 = 221;
490pub const __NR_timer_create: u32 = 222;
491pub const __NR_timer_settime: u32 = 223;
492pub const __NR_timer_gettime: u32 = 224;
493pub const __NR_timer_getoverrun: u32 = 225;
494pub const __NR_timer_delete: u32 = 226;
495pub const __NR_clock_settime: u32 = 227;
496pub const __NR_clock_gettime: u32 = 228;
497pub const __NR_clock_getres: u32 = 229;
498pub const __NR_clock_nanosleep: u32 = 230;
499pub const __NR_exit_group: u32 = 231;
500pub const __NR_epoll_wait: u32 = 232;
501pub const __NR_epoll_ctl: u32 = 233;
502pub const __NR_tgkill: u32 = 234;
503pub const __NR_utimes: u32 = 235;
504pub const __NR_vserver: u32 = 236;
505pub const __NR_mbind: u32 = 237;
506pub const __NR_set_mempolicy: u32 = 238;
507pub const __NR_get_mempolicy: u32 = 239;
508pub const __NR_mq_open: u32 = 240;
509pub const __NR_mq_unlink: u32 = 241;
510pub const __NR_mq_timedsend: u32 = 242;
511pub const __NR_mq_timedreceive: u32 = 243;
512pub const __NR_mq_notify: u32 = 244;
513pub const __NR_mq_getsetattr: u32 = 245;
514pub const __NR_kexec_load: u32 = 246;
515pub const __NR_waitid: u32 = 247;
516pub const __NR_add_key: u32 = 248;
517pub const __NR_request_key: u32 = 249;
518pub const __NR_keyctl: u32 = 250;
519pub const __NR_ioprio_set: u32 = 251;
520pub const __NR_ioprio_get: u32 = 252;
521pub const __NR_inotify_init: u32 = 253;
522pub const __NR_inotify_add_watch: u32 = 254;
523pub const __NR_inotify_rm_watch: u32 = 255;
524pub const __NR_migrate_pages: u32 = 256;
525pub const __NR_openat: u32 = 257;
526pub const __NR_mkdirat: u32 = 258;
527pub const __NR_mknodat: u32 = 259;
528pub const __NR_fchownat: u32 = 260;
529pub const __NR_futimesat: u32 = 261;
530pub const __NR_newfstatat: u32 = 262;
531pub const __NR_unlinkat: u32 = 263;
532pub const __NR_renameat: u32 = 264;
533pub const __NR_linkat: u32 = 265;
534pub const __NR_symlinkat: u32 = 266;
535pub const __NR_readlinkat: u32 = 267;
536pub const __NR_fchmodat: u32 = 268;
537pub const __NR_faccessat: u32 = 269;
538pub const __NR_pselect6: u32 = 270;
539pub const __NR_ppoll: u32 = 271;
540pub const __NR_unshare: u32 = 272;
541pub const __NR_set_robust_list: u32 = 273;
542pub const __NR_get_robust_list: u32 = 274;
543pub const __NR_splice: u32 = 275;
544pub const __NR_tee: u32 = 276;
545pub const __NR_sync_file_range: u32 = 277;
546pub const __NR_vmsplice: u32 = 278;
547pub const __NR_move_pages: u32 = 279;
548pub const __NR_utimensat: u32 = 280;
549pub const __NR_epoll_pwait: u32 = 281;
550pub const __NR_signalfd: u32 = 282;
551pub const __NR_timerfd_create: u32 = 283;
552pub const __NR_eventfd: u32 = 284;
553pub const __NR_fallocate: u32 = 285;
554pub const __NR_timerfd_settime: u32 = 286;
555pub const __NR_timerfd_gettime: u32 = 287;
556pub const __NR_accept4: u32 = 288;
557pub const __NR_signalfd4: u32 = 289;
558pub const __NR_eventfd2: u32 = 290;
559pub const __NR_epoll_create1: u32 = 291;
560pub const __NR_dup3: u32 = 292;
561pub const __NR_pipe2: u32 = 293;
562pub const __NR_inotify_init1: u32 = 294;
563pub const __NR_preadv: u32 = 295;
564pub const __NR_pwritev: u32 = 296;
565pub const __NR_rt_tgsigqueueinfo: u32 = 297;
566pub const __NR_perf_event_open: u32 = 298;
567pub const __NR_recvmmsg: u32 = 299;
568pub const __NR_fanotify_init: u32 = 300;
569pub const __NR_fanotify_mark: u32 = 301;
570pub const __NR_prlimit64: u32 = 302;
571pub const __NR_name_to_handle_at: u32 = 303;
572pub const __NR_open_by_handle_at: u32 = 304;
573pub const __NR_clock_adjtime: u32 = 305;
574pub const __NR_syncfs: u32 = 306;
575pub const __NR_sendmmsg: u32 = 307;
576pub const __NR_setns: u32 = 308;
577pub const __NR_getcpu: u32 = 309;
578pub const __NR_process_vm_readv: u32 = 310;
579pub const __NR_process_vm_writev: u32 = 311;
580pub const __NR_kcmp: u32 = 312;
581pub const __NR_finit_module: u32 = 313;
582pub const __NR_sched_setattr: u32 = 314;
583pub const __NR_sched_getattr: u32 = 315;
584pub const __NR_renameat2: u32 = 316;
585pub const __NR_seccomp: u32 = 317;
586pub const __NR_getrandom: u32 = 318;
587pub const __NR_memfd_create: u32 = 319;
588pub const __NR_kexec_file_load: u32 = 320;
589pub const __NR_bpf: u32 = 321;
590pub const __NR_execveat: u32 = 322;
591pub const __NR_userfaultfd: u32 = 323;
592pub const __NR_membarrier: u32 = 324;
593pub const __NR_mlock2: u32 = 325;
594pub const __NR_copy_file_range: u32 = 326;
595pub const __NR_preadv2: u32 = 327;
596pub const __NR_pwritev2: u32 = 328;
597pub const __NR_pkey_mprotect: u32 = 329;
598pub const __NR_pkey_alloc: u32 = 330;
599pub const __NR_pkey_free: u32 = 331;
600pub const __NR_statx: u32 = 332;
601pub const __NR_io_pgetevents: u32 = 333;
602pub const __NR_rseq: u32 = 334;
603pub const __NR_pidfd_send_signal: u32 = 424;
604pub const __NR_io_uring_setup: u32 = 425;
605pub const __NR_io_uring_enter: u32 = 426;
606pub const __NR_io_uring_register: u32 = 427;
607pub const __NR_open_tree: u32 = 428;
608pub const __NR_move_mount: u32 = 429;
609pub const __NR_fsopen: u32 = 430;
610pub const __NR_fsconfig: u32 = 431;
611pub const __NR_fsmount: u32 = 432;
612pub const __NR_fspick: u32 = 433;
613pub const __NR_pidfd_open: u32 = 434;
614pub const __NR_clone3: u32 = 435;
615pub const __NR_close_range: u32 = 436;
616pub const __NR_openat2: u32 = 437;
617pub const __NR_pidfd_getfd: u32 = 438;
618pub const __NR_faccessat2: u32 = 439;
619pub const __NR_process_madvise: u32 = 440;
620pub const __NR_epoll_pwait2: u32 = 441;
621pub const __NR_mount_setattr: u32 = 442;
622pub const __NR_quotactl_fd: u32 = 443;
623pub const __NR_landlock_create_ruleset: u32 = 444;
624pub const __NR_landlock_add_rule: u32 = 445;
625pub const __NR_landlock_restrict_self: u32 = 446;
626pub const __NR_memfd_secret: u32 = 447;
627pub const __NR_process_mrelease: u32 = 448;
628pub const __NR_futex_waitv: u32 = 449;
629pub const __NR_set_mempolicy_home_node: u32 = 450;
630pub const __NR_cachestat: u32 = 451;
631pub const __NR_fchmodat2: u32 = 452;
632pub const __NR_map_shadow_stack: u32 = 453;
633pub const __NR_futex_wake: u32 = 454;
634pub const __NR_futex_wait: u32 = 455;
635pub const __NR_futex_requeue: u32 = 456;
636pub const __NR_statmount: u32 = 457;
637pub const __NR_listmount: u32 = 458;
638pub const __NR_lsm_get_self_attr: u32 = 459;
639pub const __NR_lsm_set_self_attr: u32 = 460;
640pub const __NR_lsm_list_modules: u32 = 461;
641pub type __s8 = ::std::os::raw::c_schar;
642pub type __u8 = ::std::os::raw::c_uchar;
643pub type __s16 = ::std::os::raw::c_short;
644pub type __u16 = ::std::os::raw::c_ushort;
645pub type __s32 = ::std::os::raw::c_int;
646pub type __u32 = ::std::os::raw::c_uint;
647pub type __s64 = ::std::os::raw::c_longlong;
648pub type __u64 = ::std::os::raw::c_ulonglong;
649#[repr(C)]
650#[derive(Debug, Default, Copy, Clone)]
651pub struct __kernel_fd_set {
652 pub fds_bits: [::std::os::raw::c_ulong; 16usize],
653}
654#[test]
655fn bindgen_test_layout___kernel_fd_set() {
656 const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
657 let ptr = UNINIT.as_ptr();
658 assert_eq!(
659 ::std::mem::size_of::<__kernel_fd_set>(),
660 128usize,
661 concat!("Size of: ", stringify!(__kernel_fd_set))
662 );
663 assert_eq!(
664 ::std::mem::align_of::<__kernel_fd_set>(),
665 8usize,
666 concat!("Alignment of ", stringify!(__kernel_fd_set))
667 );
668 assert_eq!(
669 unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
670 0usize,
671 concat!(
672 "Offset of field: ",
673 stringify!(__kernel_fd_set),
674 "::",
675 stringify!(fds_bits)
676 )
677 );
678}
679pub type __kernel_sighandler_t =
680 ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
681pub type __kernel_key_t = ::std::os::raw::c_int;
682pub type __kernel_mqd_t = ::std::os::raw::c_int;
683pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
684pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
685pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
686pub type __kernel_long_t = ::std::os::raw::c_long;
687pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
688pub type __kernel_ino_t = __kernel_ulong_t;
689pub type __kernel_mode_t = ::std::os::raw::c_uint;
690pub type __kernel_pid_t = ::std::os::raw::c_int;
691pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
692pub type __kernel_uid_t = ::std::os::raw::c_uint;
693pub type __kernel_gid_t = ::std::os::raw::c_uint;
694pub type __kernel_suseconds_t = __kernel_long_t;
695pub type __kernel_daddr_t = ::std::os::raw::c_int;
696pub type __kernel_uid32_t = ::std::os::raw::c_uint;
697pub type __kernel_gid32_t = ::std::os::raw::c_uint;
698pub type __kernel_size_t = __kernel_ulong_t;
699pub type __kernel_ssize_t = __kernel_long_t;
700pub type __kernel_ptrdiff_t = __kernel_long_t;
701#[repr(C)]
702#[derive(Debug, Default, Copy, Clone)]
703pub struct __kernel_fsid_t {
704 pub val: [::std::os::raw::c_int; 2usize],
705}
706#[test]
707fn bindgen_test_layout___kernel_fsid_t() {
708 const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
709 let ptr = UNINIT.as_ptr();
710 assert_eq!(
711 ::std::mem::size_of::<__kernel_fsid_t>(),
712 8usize,
713 concat!("Size of: ", stringify!(__kernel_fsid_t))
714 );
715 assert_eq!(
716 ::std::mem::align_of::<__kernel_fsid_t>(),
717 4usize,
718 concat!("Alignment of ", stringify!(__kernel_fsid_t))
719 );
720 assert_eq!(
721 unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
722 0usize,
723 concat!(
724 "Offset of field: ",
725 stringify!(__kernel_fsid_t),
726 "::",
727 stringify!(val)
728 )
729 );
730}
731pub type __kernel_off_t = __kernel_long_t;
732pub type __kernel_loff_t = ::std::os::raw::c_longlong;
733pub type __kernel_old_time_t = __kernel_long_t;
734pub type __kernel_time_t = __kernel_long_t;
735pub type __kernel_time64_t = ::std::os::raw::c_longlong;
736pub type __kernel_clock_t = __kernel_long_t;
737pub type __kernel_timer_t = ::std::os::raw::c_int;
738pub type __kernel_clockid_t = ::std::os::raw::c_int;
739pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
740pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
741pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
742pub type __s128 = i128;
743pub type __u128 = u128;
744pub type __le16 = __u16;
745pub type __be16 = __u16;
746pub type __le32 = __u32;
747pub type __be32 = __u32;
748pub type __le64 = __u64;
749pub type __be64 = __u64;
750pub type __sum16 = __u16;
751pub type __wsum = __u32;
752pub type __poll_t = ::std::os::raw::c_uint;
753pub const PERF_TYPE_HARDWARE: perf_type_id = 0;
754pub const PERF_TYPE_SOFTWARE: perf_type_id = 1;
755pub const PERF_TYPE_TRACEPOINT: perf_type_id = 2;
756pub const PERF_TYPE_HW_CACHE: perf_type_id = 3;
757pub const PERF_TYPE_RAW: perf_type_id = 4;
758pub const PERF_TYPE_BREAKPOINT: perf_type_id = 5;
759pub const PERF_TYPE_MAX: perf_type_id = 6;
760pub type perf_type_id = ::std::os::raw::c_uint;
761pub const PERF_COUNT_HW_CPU_CYCLES: perf_hw_id = 0;
762pub const PERF_COUNT_HW_INSTRUCTIONS: perf_hw_id = 1;
763pub const PERF_COUNT_HW_CACHE_REFERENCES: perf_hw_id = 2;
764pub const PERF_COUNT_HW_CACHE_MISSES: perf_hw_id = 3;
765pub const PERF_COUNT_HW_BRANCH_INSTRUCTIONS: perf_hw_id = 4;
766pub const PERF_COUNT_HW_BRANCH_MISSES: perf_hw_id = 5;
767pub const PERF_COUNT_HW_BUS_CYCLES: perf_hw_id = 6;
768pub const PERF_COUNT_HW_STALLED_CYCLES_FRONTEND: perf_hw_id = 7;
769pub const PERF_COUNT_HW_STALLED_CYCLES_BACKEND: perf_hw_id = 8;
770pub const PERF_COUNT_HW_REF_CPU_CYCLES: perf_hw_id = 9;
771pub const PERF_COUNT_HW_MAX: perf_hw_id = 10;
772pub type perf_hw_id = ::std::os::raw::c_uint;
773pub const PERF_COUNT_HW_CACHE_L1D: perf_hw_cache_id = 0;
774pub const PERF_COUNT_HW_CACHE_L1I: perf_hw_cache_id = 1;
775pub const PERF_COUNT_HW_CACHE_LL: perf_hw_cache_id = 2;
776pub const PERF_COUNT_HW_CACHE_DTLB: perf_hw_cache_id = 3;
777pub const PERF_COUNT_HW_CACHE_ITLB: perf_hw_cache_id = 4;
778pub const PERF_COUNT_HW_CACHE_BPU: perf_hw_cache_id = 5;
779pub const PERF_COUNT_HW_CACHE_NODE: perf_hw_cache_id = 6;
780pub const PERF_COUNT_HW_CACHE_MAX: perf_hw_cache_id = 7;
781pub type perf_hw_cache_id = ::std::os::raw::c_uint;
782pub const PERF_COUNT_HW_CACHE_OP_READ: perf_hw_cache_op_id = 0;
783pub const PERF_COUNT_HW_CACHE_OP_WRITE: perf_hw_cache_op_id = 1;
784pub const PERF_COUNT_HW_CACHE_OP_PREFETCH: perf_hw_cache_op_id = 2;
785pub const PERF_COUNT_HW_CACHE_OP_MAX: perf_hw_cache_op_id = 3;
786pub type perf_hw_cache_op_id = ::std::os::raw::c_uint;
787pub const PERF_COUNT_HW_CACHE_RESULT_ACCESS: perf_hw_cache_op_result_id = 0;
788pub const PERF_COUNT_HW_CACHE_RESULT_MISS: perf_hw_cache_op_result_id = 1;
789pub const PERF_COUNT_HW_CACHE_RESULT_MAX: perf_hw_cache_op_result_id = 2;
790pub type perf_hw_cache_op_result_id = ::std::os::raw::c_uint;
791pub const PERF_COUNT_SW_CPU_CLOCK: perf_sw_ids = 0;
792pub const PERF_COUNT_SW_TASK_CLOCK: perf_sw_ids = 1;
793pub const PERF_COUNT_SW_PAGE_FAULTS: perf_sw_ids = 2;
794pub const PERF_COUNT_SW_CONTEXT_SWITCHES: perf_sw_ids = 3;
795pub const PERF_COUNT_SW_CPU_MIGRATIONS: perf_sw_ids = 4;
796pub const PERF_COUNT_SW_PAGE_FAULTS_MIN: perf_sw_ids = 5;
797pub const PERF_COUNT_SW_PAGE_FAULTS_MAJ: perf_sw_ids = 6;
798pub const PERF_COUNT_SW_ALIGNMENT_FAULTS: perf_sw_ids = 7;
799pub const PERF_COUNT_SW_EMULATION_FAULTS: perf_sw_ids = 8;
800pub const PERF_COUNT_SW_DUMMY: perf_sw_ids = 9;
801pub const PERF_COUNT_SW_BPF_OUTPUT: perf_sw_ids = 10;
802pub const PERF_COUNT_SW_CGROUP_SWITCHES: perf_sw_ids = 11;
803pub const PERF_COUNT_SW_MAX: perf_sw_ids = 12;
804pub type perf_sw_ids = ::std::os::raw::c_uint;
805pub const PERF_SAMPLE_IP: perf_event_sample_format = 1;
806pub const PERF_SAMPLE_TID: perf_event_sample_format = 2;
807pub const PERF_SAMPLE_TIME: perf_event_sample_format = 4;
808pub const PERF_SAMPLE_ADDR: perf_event_sample_format = 8;
809pub const PERF_SAMPLE_READ: perf_event_sample_format = 16;
810pub const PERF_SAMPLE_CALLCHAIN: perf_event_sample_format = 32;
811pub const PERF_SAMPLE_ID: perf_event_sample_format = 64;
812pub const PERF_SAMPLE_CPU: perf_event_sample_format = 128;
813pub const PERF_SAMPLE_PERIOD: perf_event_sample_format = 256;
814pub const PERF_SAMPLE_STREAM_ID: perf_event_sample_format = 512;
815pub const PERF_SAMPLE_RAW: perf_event_sample_format = 1024;
816pub const PERF_SAMPLE_BRANCH_STACK: perf_event_sample_format = 2048;
817pub const PERF_SAMPLE_REGS_USER: perf_event_sample_format = 4096;
818pub const PERF_SAMPLE_STACK_USER: perf_event_sample_format = 8192;
819pub const PERF_SAMPLE_WEIGHT: perf_event_sample_format = 16384;
820pub const PERF_SAMPLE_DATA_SRC: perf_event_sample_format = 32768;
821pub const PERF_SAMPLE_IDENTIFIER: perf_event_sample_format = 65536;
822pub const PERF_SAMPLE_TRANSACTION: perf_event_sample_format = 131072;
823pub const PERF_SAMPLE_REGS_INTR: perf_event_sample_format = 262144;
824pub const PERF_SAMPLE_PHYS_ADDR: perf_event_sample_format = 524288;
825pub const PERF_SAMPLE_AUX: perf_event_sample_format = 1048576;
826pub const PERF_SAMPLE_CGROUP: perf_event_sample_format = 2097152;
827pub const PERF_SAMPLE_DATA_PAGE_SIZE: perf_event_sample_format = 4194304;
828pub const PERF_SAMPLE_CODE_PAGE_SIZE: perf_event_sample_format = 8388608;
829pub const PERF_SAMPLE_WEIGHT_STRUCT: perf_event_sample_format = 16777216;
830pub const PERF_SAMPLE_MAX: perf_event_sample_format = 33554432;
831pub type perf_event_sample_format = ::std::os::raw::c_uint;
832pub const PERF_SAMPLE_BRANCH_USER_SHIFT: perf_branch_sample_type_shift = 0;
833pub const PERF_SAMPLE_BRANCH_KERNEL_SHIFT: perf_branch_sample_type_shift = 1;
834pub const PERF_SAMPLE_BRANCH_HV_SHIFT: perf_branch_sample_type_shift = 2;
835pub const PERF_SAMPLE_BRANCH_ANY_SHIFT: perf_branch_sample_type_shift = 3;
836pub const PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT: perf_branch_sample_type_shift = 4;
837pub const PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT: perf_branch_sample_type_shift = 5;
838pub const PERF_SAMPLE_BRANCH_IND_CALL_SHIFT: perf_branch_sample_type_shift = 6;
839pub const PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT: perf_branch_sample_type_shift = 7;
840pub const PERF_SAMPLE_BRANCH_IN_TX_SHIFT: perf_branch_sample_type_shift = 8;
841pub const PERF_SAMPLE_BRANCH_NO_TX_SHIFT: perf_branch_sample_type_shift = 9;
842pub const PERF_SAMPLE_BRANCH_COND_SHIFT: perf_branch_sample_type_shift = 10;
843pub const PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT: perf_branch_sample_type_shift = 11;
844pub const PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT: perf_branch_sample_type_shift = 12;
845pub const PERF_SAMPLE_BRANCH_CALL_SHIFT: perf_branch_sample_type_shift = 13;
846pub const PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT: perf_branch_sample_type_shift = 14;
847pub const PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT: perf_branch_sample_type_shift = 15;
848pub const PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT: perf_branch_sample_type_shift = 16;
849pub const PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT: perf_branch_sample_type_shift = 17;
850pub const PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT: perf_branch_sample_type_shift = 18;
851pub const PERF_SAMPLE_BRANCH_COUNTERS_SHIFT: perf_branch_sample_type_shift = 19;
852pub const PERF_SAMPLE_BRANCH_MAX_SHIFT: perf_branch_sample_type_shift = 20;
853pub type perf_branch_sample_type_shift = ::std::os::raw::c_uint;
854pub const PERF_SAMPLE_BRANCH_USER: perf_branch_sample_type = 1;
855pub const PERF_SAMPLE_BRANCH_KERNEL: perf_branch_sample_type = 2;
856pub const PERF_SAMPLE_BRANCH_HV: perf_branch_sample_type = 4;
857pub const PERF_SAMPLE_BRANCH_ANY: perf_branch_sample_type = 8;
858pub const PERF_SAMPLE_BRANCH_ANY_CALL: perf_branch_sample_type = 16;
859pub const PERF_SAMPLE_BRANCH_ANY_RETURN: perf_branch_sample_type = 32;
860pub const PERF_SAMPLE_BRANCH_IND_CALL: perf_branch_sample_type = 64;
861pub const PERF_SAMPLE_BRANCH_ABORT_TX: perf_branch_sample_type = 128;
862pub const PERF_SAMPLE_BRANCH_IN_TX: perf_branch_sample_type = 256;
863pub const PERF_SAMPLE_BRANCH_NO_TX: perf_branch_sample_type = 512;
864pub const PERF_SAMPLE_BRANCH_COND: perf_branch_sample_type = 1024;
865pub const PERF_SAMPLE_BRANCH_CALL_STACK: perf_branch_sample_type = 2048;
866pub const PERF_SAMPLE_BRANCH_IND_JUMP: perf_branch_sample_type = 4096;
867pub const PERF_SAMPLE_BRANCH_CALL: perf_branch_sample_type = 8192;
868pub const PERF_SAMPLE_BRANCH_NO_FLAGS: perf_branch_sample_type = 16384;
869pub const PERF_SAMPLE_BRANCH_NO_CYCLES: perf_branch_sample_type = 32768;
870pub const PERF_SAMPLE_BRANCH_TYPE_SAVE: perf_branch_sample_type = 65536;
871pub const PERF_SAMPLE_BRANCH_HW_INDEX: perf_branch_sample_type = 131072;
872pub const PERF_SAMPLE_BRANCH_PRIV_SAVE: perf_branch_sample_type = 262144;
873pub const PERF_SAMPLE_BRANCH_COUNTERS: perf_branch_sample_type = 524288;
874pub const PERF_SAMPLE_BRANCH_MAX: perf_branch_sample_type = 1048576;
875pub type perf_branch_sample_type = ::std::os::raw::c_uint;
876pub const PERF_BR_UNKNOWN: _bindgen_ty_1 = 0;
877pub const PERF_BR_COND: _bindgen_ty_1 = 1;
878pub const PERF_BR_UNCOND: _bindgen_ty_1 = 2;
879pub const PERF_BR_IND: _bindgen_ty_1 = 3;
880pub const PERF_BR_CALL: _bindgen_ty_1 = 4;
881pub const PERF_BR_IND_CALL: _bindgen_ty_1 = 5;
882pub const PERF_BR_RET: _bindgen_ty_1 = 6;
883pub const PERF_BR_SYSCALL: _bindgen_ty_1 = 7;
884pub const PERF_BR_SYSRET: _bindgen_ty_1 = 8;
885pub const PERF_BR_COND_CALL: _bindgen_ty_1 = 9;
886pub const PERF_BR_COND_RET: _bindgen_ty_1 = 10;
887pub const PERF_BR_ERET: _bindgen_ty_1 = 11;
888pub const PERF_BR_IRQ: _bindgen_ty_1 = 12;
889pub const PERF_BR_SERROR: _bindgen_ty_1 = 13;
890pub const PERF_BR_NO_TX: _bindgen_ty_1 = 14;
891pub const PERF_BR_EXTEND_ABI: _bindgen_ty_1 = 15;
892pub const PERF_BR_MAX: _bindgen_ty_1 = 16;
893pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
894pub const PERF_BR_SPEC_NA: _bindgen_ty_2 = 0;
895pub const PERF_BR_SPEC_WRONG_PATH: _bindgen_ty_2 = 1;
896pub const PERF_BR_NON_SPEC_CORRECT_PATH: _bindgen_ty_2 = 2;
897pub const PERF_BR_SPEC_CORRECT_PATH: _bindgen_ty_2 = 3;
898pub const PERF_BR_SPEC_MAX: _bindgen_ty_2 = 4;
899pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
900pub const PERF_BR_NEW_FAULT_ALGN: _bindgen_ty_3 = 0;
901pub const PERF_BR_NEW_FAULT_DATA: _bindgen_ty_3 = 1;
902pub const PERF_BR_NEW_FAULT_INST: _bindgen_ty_3 = 2;
903pub const PERF_BR_NEW_ARCH_1: _bindgen_ty_3 = 3;
904pub const PERF_BR_NEW_ARCH_2: _bindgen_ty_3 = 4;
905pub const PERF_BR_NEW_ARCH_3: _bindgen_ty_3 = 5;
906pub const PERF_BR_NEW_ARCH_4: _bindgen_ty_3 = 6;
907pub const PERF_BR_NEW_ARCH_5: _bindgen_ty_3 = 7;
908pub const PERF_BR_NEW_MAX: _bindgen_ty_3 = 8;
909pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
910pub const PERF_BR_PRIV_UNKNOWN: _bindgen_ty_4 = 0;
911pub const PERF_BR_PRIV_USER: _bindgen_ty_4 = 1;
912pub const PERF_BR_PRIV_KERNEL: _bindgen_ty_4 = 2;
913pub const PERF_BR_PRIV_HV: _bindgen_ty_4 = 3;
914pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
915pub const PERF_SAMPLE_REGS_ABI_NONE: perf_sample_regs_abi = 0;
916pub const PERF_SAMPLE_REGS_ABI_32: perf_sample_regs_abi = 1;
917pub const PERF_SAMPLE_REGS_ABI_64: perf_sample_regs_abi = 2;
918pub type perf_sample_regs_abi = ::std::os::raw::c_uint;
919pub const PERF_TXN_ELISION: _bindgen_ty_5 = 1;
920pub const PERF_TXN_TRANSACTION: _bindgen_ty_5 = 2;
921pub const PERF_TXN_SYNC: _bindgen_ty_5 = 4;
922pub const PERF_TXN_ASYNC: _bindgen_ty_5 = 8;
923pub const PERF_TXN_RETRY: _bindgen_ty_5 = 16;
924pub const PERF_TXN_CONFLICT: _bindgen_ty_5 = 32;
925pub const PERF_TXN_CAPACITY_WRITE: _bindgen_ty_5 = 64;
926pub const PERF_TXN_CAPACITY_READ: _bindgen_ty_5 = 128;
927pub const PERF_TXN_MAX: _bindgen_ty_5 = 256;
928pub const PERF_TXN_ABORT_MASK: _bindgen_ty_5 = 18446744069414584320;
929pub const PERF_TXN_ABORT_SHIFT: _bindgen_ty_5 = 32;
930pub type _bindgen_ty_5 = ::std::os::raw::c_ulong;
931pub const PERF_FORMAT_TOTAL_TIME_ENABLED: perf_event_read_format = 1;
932pub const PERF_FORMAT_TOTAL_TIME_RUNNING: perf_event_read_format = 2;
933pub const PERF_FORMAT_ID: perf_event_read_format = 4;
934pub const PERF_FORMAT_GROUP: perf_event_read_format = 8;
935pub const PERF_FORMAT_LOST: perf_event_read_format = 16;
936pub const PERF_FORMAT_MAX: perf_event_read_format = 32;
937pub type perf_event_read_format = ::std::os::raw::c_uint;
938#[repr(C)]
939#[derive(Copy, Clone)]
940#[non_exhaustive]
941pub struct perf_event_attr {
942 pub type_: __u32,
943 pub size: __u32,
944 pub config: __u64,
945 pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
946 pub sample_type: __u64,
947 pub read_format: __u64,
948 pub _bitfield_align_1: [u32; 0],
949 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
950 pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
951 pub bp_type: __u32,
952 pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
953 pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
954 pub branch_sample_type: __u64,
955 pub sample_regs_user: __u64,
956 pub sample_stack_user: __u32,
957 pub clockid: __s32,
958 pub sample_regs_intr: __u64,
959 pub aux_watermark: __u32,
960 pub sample_max_stack: __u16,
961 pub __reserved_2: __u16,
962 pub aux_sample_size: __u32,
963 pub __reserved_3: __u32,
964 pub sig_data: __u64,
965 pub config3: __u64,
966}
967#[repr(C)]
968#[derive(Copy, Clone)]
969pub union perf_event_attr__bindgen_ty_1 {
970 pub sample_period: __u64,
971 pub sample_freq: __u64,
972}
973#[test]
974fn bindgen_test_layout_perf_event_attr__bindgen_ty_1() {
975 const UNINIT: ::std::mem::MaybeUninit<perf_event_attr__bindgen_ty_1> =
976 ::std::mem::MaybeUninit::uninit();
977 let ptr = UNINIT.as_ptr();
978 assert_eq!(
979 ::std::mem::size_of::<perf_event_attr__bindgen_ty_1>(),
980 8usize,
981 concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_1))
982 );
983 assert_eq!(
984 ::std::mem::align_of::<perf_event_attr__bindgen_ty_1>(),
985 8usize,
986 concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_1))
987 );
988 assert_eq!(
989 unsafe { ::std::ptr::addr_of!((*ptr).sample_period) as usize - ptr as usize },
990 0usize,
991 concat!(
992 "Offset of field: ",
993 stringify!(perf_event_attr__bindgen_ty_1),
994 "::",
995 stringify!(sample_period)
996 )
997 );
998 assert_eq!(
999 unsafe { ::std::ptr::addr_of!((*ptr).sample_freq) as usize - ptr as usize },
1000 0usize,
1001 concat!(
1002 "Offset of field: ",
1003 stringify!(perf_event_attr__bindgen_ty_1),
1004 "::",
1005 stringify!(sample_freq)
1006 )
1007 );
1008}
1009impl Default for perf_event_attr__bindgen_ty_1 {
1010 fn default() -> Self {
1011 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1012 unsafe {
1013 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1014 s.assume_init()
1015 }
1016 }
1017}
1018impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_1 {
1019 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1020 write!(f, "perf_event_attr__bindgen_ty_1 {{ union }}")
1021 }
1022}
1023#[repr(C)]
1024#[derive(Copy, Clone)]
1025pub union perf_event_attr__bindgen_ty_2 {
1026 pub wakeup_events: __u32,
1027 pub wakeup_watermark: __u32,
1028}
1029#[test]
1030fn bindgen_test_layout_perf_event_attr__bindgen_ty_2() {
1031 const UNINIT: ::std::mem::MaybeUninit<perf_event_attr__bindgen_ty_2> =
1032 ::std::mem::MaybeUninit::uninit();
1033 let ptr = UNINIT.as_ptr();
1034 assert_eq!(
1035 ::std::mem::size_of::<perf_event_attr__bindgen_ty_2>(),
1036 4usize,
1037 concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_2))
1038 );
1039 assert_eq!(
1040 ::std::mem::align_of::<perf_event_attr__bindgen_ty_2>(),
1041 4usize,
1042 concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_2))
1043 );
1044 assert_eq!(
1045 unsafe { ::std::ptr::addr_of!((*ptr).wakeup_events) as usize - ptr as usize },
1046 0usize,
1047 concat!(
1048 "Offset of field: ",
1049 stringify!(perf_event_attr__bindgen_ty_2),
1050 "::",
1051 stringify!(wakeup_events)
1052 )
1053 );
1054 assert_eq!(
1055 unsafe { ::std::ptr::addr_of!((*ptr).wakeup_watermark) as usize - ptr as usize },
1056 0usize,
1057 concat!(
1058 "Offset of field: ",
1059 stringify!(perf_event_attr__bindgen_ty_2),
1060 "::",
1061 stringify!(wakeup_watermark)
1062 )
1063 );
1064}
1065impl Default for perf_event_attr__bindgen_ty_2 {
1066 fn default() -> Self {
1067 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1068 unsafe {
1069 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1070 s.assume_init()
1071 }
1072 }
1073}
1074impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_2 {
1075 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1076 write!(f, "perf_event_attr__bindgen_ty_2 {{ union }}")
1077 }
1078}
1079#[repr(C)]
1080#[derive(Copy, Clone)]
1081pub union perf_event_attr__bindgen_ty_3 {
1082 pub bp_addr: __u64,
1083 pub kprobe_func: __u64,
1084 pub uprobe_path: __u64,
1085 pub config1: __u64,
1086}
1087#[test]
1088fn bindgen_test_layout_perf_event_attr__bindgen_ty_3() {
1089 const UNINIT: ::std::mem::MaybeUninit<perf_event_attr__bindgen_ty_3> =
1090 ::std::mem::MaybeUninit::uninit();
1091 let ptr = UNINIT.as_ptr();
1092 assert_eq!(
1093 ::std::mem::size_of::<perf_event_attr__bindgen_ty_3>(),
1094 8usize,
1095 concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_3))
1096 );
1097 assert_eq!(
1098 ::std::mem::align_of::<perf_event_attr__bindgen_ty_3>(),
1099 8usize,
1100 concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_3))
1101 );
1102 assert_eq!(
1103 unsafe { ::std::ptr::addr_of!((*ptr).bp_addr) as usize - ptr as usize },
1104 0usize,
1105 concat!(
1106 "Offset of field: ",
1107 stringify!(perf_event_attr__bindgen_ty_3),
1108 "::",
1109 stringify!(bp_addr)
1110 )
1111 );
1112 assert_eq!(
1113 unsafe { ::std::ptr::addr_of!((*ptr).kprobe_func) as usize - ptr as usize },
1114 0usize,
1115 concat!(
1116 "Offset of field: ",
1117 stringify!(perf_event_attr__bindgen_ty_3),
1118 "::",
1119 stringify!(kprobe_func)
1120 )
1121 );
1122 assert_eq!(
1123 unsafe { ::std::ptr::addr_of!((*ptr).uprobe_path) as usize - ptr as usize },
1124 0usize,
1125 concat!(
1126 "Offset of field: ",
1127 stringify!(perf_event_attr__bindgen_ty_3),
1128 "::",
1129 stringify!(uprobe_path)
1130 )
1131 );
1132 assert_eq!(
1133 unsafe { ::std::ptr::addr_of!((*ptr).config1) as usize - ptr as usize },
1134 0usize,
1135 concat!(
1136 "Offset of field: ",
1137 stringify!(perf_event_attr__bindgen_ty_3),
1138 "::",
1139 stringify!(config1)
1140 )
1141 );
1142}
1143impl Default for perf_event_attr__bindgen_ty_3 {
1144 fn default() -> Self {
1145 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1146 unsafe {
1147 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1148 s.assume_init()
1149 }
1150 }
1151}
1152impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_3 {
1153 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1154 write!(f, "perf_event_attr__bindgen_ty_3 {{ union }}")
1155 }
1156}
1157#[repr(C)]
1158#[derive(Copy, Clone)]
1159pub union perf_event_attr__bindgen_ty_4 {
1160 pub bp_len: __u64,
1161 pub kprobe_addr: __u64,
1162 pub probe_offset: __u64,
1163 pub config2: __u64,
1164}
1165#[test]
1166fn bindgen_test_layout_perf_event_attr__bindgen_ty_4() {
1167 const UNINIT: ::std::mem::MaybeUninit<perf_event_attr__bindgen_ty_4> =
1168 ::std::mem::MaybeUninit::uninit();
1169 let ptr = UNINIT.as_ptr();
1170 assert_eq!(
1171 ::std::mem::size_of::<perf_event_attr__bindgen_ty_4>(),
1172 8usize,
1173 concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_4))
1174 );
1175 assert_eq!(
1176 ::std::mem::align_of::<perf_event_attr__bindgen_ty_4>(),
1177 8usize,
1178 concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_4))
1179 );
1180 assert_eq!(
1181 unsafe { ::std::ptr::addr_of!((*ptr).bp_len) as usize - ptr as usize },
1182 0usize,
1183 concat!(
1184 "Offset of field: ",
1185 stringify!(perf_event_attr__bindgen_ty_4),
1186 "::",
1187 stringify!(bp_len)
1188 )
1189 );
1190 assert_eq!(
1191 unsafe { ::std::ptr::addr_of!((*ptr).kprobe_addr) as usize - ptr as usize },
1192 0usize,
1193 concat!(
1194 "Offset of field: ",
1195 stringify!(perf_event_attr__bindgen_ty_4),
1196 "::",
1197 stringify!(kprobe_addr)
1198 )
1199 );
1200 assert_eq!(
1201 unsafe { ::std::ptr::addr_of!((*ptr).probe_offset) as usize - ptr as usize },
1202 0usize,
1203 concat!(
1204 "Offset of field: ",
1205 stringify!(perf_event_attr__bindgen_ty_4),
1206 "::",
1207 stringify!(probe_offset)
1208 )
1209 );
1210 assert_eq!(
1211 unsafe { ::std::ptr::addr_of!((*ptr).config2) as usize - ptr as usize },
1212 0usize,
1213 concat!(
1214 "Offset of field: ",
1215 stringify!(perf_event_attr__bindgen_ty_4),
1216 "::",
1217 stringify!(config2)
1218 )
1219 );
1220}
1221impl Default for perf_event_attr__bindgen_ty_4 {
1222 fn default() -> Self {
1223 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1224 unsafe {
1225 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1226 s.assume_init()
1227 }
1228 }
1229}
1230impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_4 {
1231 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1232 write!(f, "perf_event_attr__bindgen_ty_4 {{ union }}")
1233 }
1234}
1235#[test]
1236fn bindgen_test_layout_perf_event_attr() {
1237 const UNINIT: ::std::mem::MaybeUninit<perf_event_attr> = ::std::mem::MaybeUninit::uninit();
1238 let ptr = UNINIT.as_ptr();
1239 assert_eq!(
1240 ::std::mem::size_of::<perf_event_attr>(),
1241 136usize,
1242 concat!("Size of: ", stringify!(perf_event_attr))
1243 );
1244 assert_eq!(
1245 ::std::mem::align_of::<perf_event_attr>(),
1246 8usize,
1247 concat!("Alignment of ", stringify!(perf_event_attr))
1248 );
1249 assert_eq!(
1250 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
1251 0usize,
1252 concat!(
1253 "Offset of field: ",
1254 stringify!(perf_event_attr),
1255 "::",
1256 stringify!(type_)
1257 )
1258 );
1259 assert_eq!(
1260 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1261 4usize,
1262 concat!(
1263 "Offset of field: ",
1264 stringify!(perf_event_attr),
1265 "::",
1266 stringify!(size)
1267 )
1268 );
1269 assert_eq!(
1270 unsafe { ::std::ptr::addr_of!((*ptr).config) as usize - ptr as usize },
1271 8usize,
1272 concat!(
1273 "Offset of field: ",
1274 stringify!(perf_event_attr),
1275 "::",
1276 stringify!(config)
1277 )
1278 );
1279 assert_eq!(
1280 unsafe { ::std::ptr::addr_of!((*ptr).sample_type) as usize - ptr as usize },
1281 24usize,
1282 concat!(
1283 "Offset of field: ",
1284 stringify!(perf_event_attr),
1285 "::",
1286 stringify!(sample_type)
1287 )
1288 );
1289 assert_eq!(
1290 unsafe { ::std::ptr::addr_of!((*ptr).read_format) as usize - ptr as usize },
1291 32usize,
1292 concat!(
1293 "Offset of field: ",
1294 stringify!(perf_event_attr),
1295 "::",
1296 stringify!(read_format)
1297 )
1298 );
1299 assert_eq!(
1300 unsafe { ::std::ptr::addr_of!((*ptr).bp_type) as usize - ptr as usize },
1301 52usize,
1302 concat!(
1303 "Offset of field: ",
1304 stringify!(perf_event_attr),
1305 "::",
1306 stringify!(bp_type)
1307 )
1308 );
1309 assert_eq!(
1310 unsafe { ::std::ptr::addr_of!((*ptr).branch_sample_type) as usize - ptr as usize },
1311 72usize,
1312 concat!(
1313 "Offset of field: ",
1314 stringify!(perf_event_attr),
1315 "::",
1316 stringify!(branch_sample_type)
1317 )
1318 );
1319 assert_eq!(
1320 unsafe { ::std::ptr::addr_of!((*ptr).sample_regs_user) as usize - ptr as usize },
1321 80usize,
1322 concat!(
1323 "Offset of field: ",
1324 stringify!(perf_event_attr),
1325 "::",
1326 stringify!(sample_regs_user)
1327 )
1328 );
1329 assert_eq!(
1330 unsafe { ::std::ptr::addr_of!((*ptr).sample_stack_user) as usize - ptr as usize },
1331 88usize,
1332 concat!(
1333 "Offset of field: ",
1334 stringify!(perf_event_attr),
1335 "::",
1336 stringify!(sample_stack_user)
1337 )
1338 );
1339 assert_eq!(
1340 unsafe { ::std::ptr::addr_of!((*ptr).clockid) as usize - ptr as usize },
1341 92usize,
1342 concat!(
1343 "Offset of field: ",
1344 stringify!(perf_event_attr),
1345 "::",
1346 stringify!(clockid)
1347 )
1348 );
1349 assert_eq!(
1350 unsafe { ::std::ptr::addr_of!((*ptr).sample_regs_intr) as usize - ptr as usize },
1351 96usize,
1352 concat!(
1353 "Offset of field: ",
1354 stringify!(perf_event_attr),
1355 "::",
1356 stringify!(sample_regs_intr)
1357 )
1358 );
1359 assert_eq!(
1360 unsafe { ::std::ptr::addr_of!((*ptr).aux_watermark) as usize - ptr as usize },
1361 104usize,
1362 concat!(
1363 "Offset of field: ",
1364 stringify!(perf_event_attr),
1365 "::",
1366 stringify!(aux_watermark)
1367 )
1368 );
1369 assert_eq!(
1370 unsafe { ::std::ptr::addr_of!((*ptr).sample_max_stack) as usize - ptr as usize },
1371 108usize,
1372 concat!(
1373 "Offset of field: ",
1374 stringify!(perf_event_attr),
1375 "::",
1376 stringify!(sample_max_stack)
1377 )
1378 );
1379 assert_eq!(
1380 unsafe { ::std::ptr::addr_of!((*ptr).__reserved_2) as usize - ptr as usize },
1381 110usize,
1382 concat!(
1383 "Offset of field: ",
1384 stringify!(perf_event_attr),
1385 "::",
1386 stringify!(__reserved_2)
1387 )
1388 );
1389 assert_eq!(
1390 unsafe { ::std::ptr::addr_of!((*ptr).aux_sample_size) as usize - ptr as usize },
1391 112usize,
1392 concat!(
1393 "Offset of field: ",
1394 stringify!(perf_event_attr),
1395 "::",
1396 stringify!(aux_sample_size)
1397 )
1398 );
1399 assert_eq!(
1400 unsafe { ::std::ptr::addr_of!((*ptr).__reserved_3) as usize - ptr as usize },
1401 116usize,
1402 concat!(
1403 "Offset of field: ",
1404 stringify!(perf_event_attr),
1405 "::",
1406 stringify!(__reserved_3)
1407 )
1408 );
1409 assert_eq!(
1410 unsafe { ::std::ptr::addr_of!((*ptr).sig_data) as usize - ptr as usize },
1411 120usize,
1412 concat!(
1413 "Offset of field: ",
1414 stringify!(perf_event_attr),
1415 "::",
1416 stringify!(sig_data)
1417 )
1418 );
1419 assert_eq!(
1420 unsafe { ::std::ptr::addr_of!((*ptr).config3) as usize - ptr as usize },
1421 128usize,
1422 concat!(
1423 "Offset of field: ",
1424 stringify!(perf_event_attr),
1425 "::",
1426 stringify!(config3)
1427 )
1428 );
1429}
1430impl Default for perf_event_attr {
1431 fn default() -> Self {
1432 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1433 unsafe {
1434 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1435 s.assume_init()
1436 }
1437 }
1438}
1439impl ::std::fmt::Debug for perf_event_attr {
1440 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1441 write ! (f , "perf_event_attr {{ type: {:?}, size: {:?}, config: {:?}, __bindgen_anon_1: {:?}, sample_type: {:?}, read_format: {:?}, disabled : {:?}, inherit : {:?}, pinned : {:?}, exclusive : {:?}, exclude_user : {:?}, exclude_kernel : {:?}, exclude_hv : {:?}, exclude_idle : {:?}, mmap : {:?}, comm : {:?}, freq : {:?}, inherit_stat : {:?}, enable_on_exec : {:?}, task : {:?}, watermark : {:?}, precise_ip : {:?}, mmap_data : {:?}, sample_id_all : {:?}, exclude_host : {:?}, exclude_guest : {:?}, exclude_callchain_kernel : {:?}, exclude_callchain_user : {:?}, mmap2 : {:?}, comm_exec : {:?}, use_clockid : {:?}, context_switch : {:?}, write_backward : {:?}, namespaces : {:?}, ksymbol : {:?}, bpf_event : {:?}, aux_output : {:?}, cgroup : {:?}, text_poke : {:?}, build_id : {:?}, inherit_thread : {:?}, remove_on_exec : {:?}, sigtrap : {:?}, __reserved_1 : {:?}, __bindgen_anon_2: {:?}, bp_type: {:?}, __bindgen_anon_3: {:?}, __bindgen_anon_4: {:?}, branch_sample_type: {:?}, sample_regs_user: {:?}, sample_stack_user: {:?}, clockid: {:?}, sample_regs_intr: {:?}, aux_watermark: {:?}, sample_max_stack: {:?}, __reserved_2: {:?}, aux_sample_size: {:?}, __reserved_3: {:?}, sig_data: {:?}, config3: {:?} }}" , self . type_ , self . size , self . config , self . __bindgen_anon_1 , self . sample_type , self . read_format , self . disabled () , self . inherit () , self . pinned () , self . exclusive () , self . exclude_user () , self . exclude_kernel () , self . exclude_hv () , self . exclude_idle () , self . mmap () , self . comm () , self . freq () , self . inherit_stat () , self . enable_on_exec () , self . task () , self . watermark () , self . precise_ip () , self . mmap_data () , self . sample_id_all () , self . exclude_host () , self . exclude_guest () , self . exclude_callchain_kernel () , self . exclude_callchain_user () , self . mmap2 () , self . comm_exec () , self . use_clockid () , self . context_switch () , self . write_backward () , self . namespaces () , self . ksymbol () , self . bpf_event () , self . aux_output () , self . cgroup () , self . text_poke () , self . build_id () , self . inherit_thread () , self . remove_on_exec () , self . sigtrap () , self . __reserved_1 () , self . __bindgen_anon_2 , self . bp_type , self . __bindgen_anon_3 , self . __bindgen_anon_4 , self . branch_sample_type , self . sample_regs_user , self . sample_stack_user , self . clockid , self . sample_regs_intr , self . aux_watermark , self . sample_max_stack , self . __reserved_2 , self . aux_sample_size , self . __reserved_3 , self . sig_data , self . config3)
1442 }
1443}
1444impl perf_event_attr {
1445 #[inline]
1446 pub fn disabled(&self) -> __u64 {
1447 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
1448 }
1449 #[inline]
1450 pub fn set_disabled(&mut self, val: __u64) {
1451 unsafe {
1452 let val: u64 = ::std::mem::transmute(val);
1453 self._bitfield_1.set(0usize, 1u8, val as u64)
1454 }
1455 }
1456 #[inline]
1457 pub fn inherit(&self) -> __u64 {
1458 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
1459 }
1460 #[inline]
1461 pub fn set_inherit(&mut self, val: __u64) {
1462 unsafe {
1463 let val: u64 = ::std::mem::transmute(val);
1464 self._bitfield_1.set(1usize, 1u8, val as u64)
1465 }
1466 }
1467 #[inline]
1468 pub fn pinned(&self) -> __u64 {
1469 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
1470 }
1471 #[inline]
1472 pub fn set_pinned(&mut self, val: __u64) {
1473 unsafe {
1474 let val: u64 = ::std::mem::transmute(val);
1475 self._bitfield_1.set(2usize, 1u8, val as u64)
1476 }
1477 }
1478 #[inline]
1479 pub fn exclusive(&self) -> __u64 {
1480 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
1481 }
1482 #[inline]
1483 pub fn set_exclusive(&mut self, val: __u64) {
1484 unsafe {
1485 let val: u64 = ::std::mem::transmute(val);
1486 self._bitfield_1.set(3usize, 1u8, val as u64)
1487 }
1488 }
1489 #[inline]
1490 pub fn exclude_user(&self) -> __u64 {
1491 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
1492 }
1493 #[inline]
1494 pub fn set_exclude_user(&mut self, val: __u64) {
1495 unsafe {
1496 let val: u64 = ::std::mem::transmute(val);
1497 self._bitfield_1.set(4usize, 1u8, val as u64)
1498 }
1499 }
1500 #[inline]
1501 pub fn exclude_kernel(&self) -> __u64 {
1502 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
1503 }
1504 #[inline]
1505 pub fn set_exclude_kernel(&mut self, val: __u64) {
1506 unsafe {
1507 let val: u64 = ::std::mem::transmute(val);
1508 self._bitfield_1.set(5usize, 1u8, val as u64)
1509 }
1510 }
1511 #[inline]
1512 pub fn exclude_hv(&self) -> __u64 {
1513 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
1514 }
1515 #[inline]
1516 pub fn set_exclude_hv(&mut self, val: __u64) {
1517 unsafe {
1518 let val: u64 = ::std::mem::transmute(val);
1519 self._bitfield_1.set(6usize, 1u8, val as u64)
1520 }
1521 }
1522 #[inline]
1523 pub fn exclude_idle(&self) -> __u64 {
1524 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
1525 }
1526 #[inline]
1527 pub fn set_exclude_idle(&mut self, val: __u64) {
1528 unsafe {
1529 let val: u64 = ::std::mem::transmute(val);
1530 self._bitfield_1.set(7usize, 1u8, val as u64)
1531 }
1532 }
1533 #[inline]
1534 pub fn mmap(&self) -> __u64 {
1535 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
1536 }
1537 #[inline]
1538 pub fn set_mmap(&mut self, val: __u64) {
1539 unsafe {
1540 let val: u64 = ::std::mem::transmute(val);
1541 self._bitfield_1.set(8usize, 1u8, val as u64)
1542 }
1543 }
1544 #[inline]
1545 pub fn comm(&self) -> __u64 {
1546 unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
1547 }
1548 #[inline]
1549 pub fn set_comm(&mut self, val: __u64) {
1550 unsafe {
1551 let val: u64 = ::std::mem::transmute(val);
1552 self._bitfield_1.set(9usize, 1u8, val as u64)
1553 }
1554 }
1555 #[inline]
1556 pub fn freq(&self) -> __u64 {
1557 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
1558 }
1559 #[inline]
1560 pub fn set_freq(&mut self, val: __u64) {
1561 unsafe {
1562 let val: u64 = ::std::mem::transmute(val);
1563 self._bitfield_1.set(10usize, 1u8, val as u64)
1564 }
1565 }
1566 #[inline]
1567 pub fn inherit_stat(&self) -> __u64 {
1568 unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
1569 }
1570 #[inline]
1571 pub fn set_inherit_stat(&mut self, val: __u64) {
1572 unsafe {
1573 let val: u64 = ::std::mem::transmute(val);
1574 self._bitfield_1.set(11usize, 1u8, val as u64)
1575 }
1576 }
1577 #[inline]
1578 pub fn enable_on_exec(&self) -> __u64 {
1579 unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
1580 }
1581 #[inline]
1582 pub fn set_enable_on_exec(&mut self, val: __u64) {
1583 unsafe {
1584 let val: u64 = ::std::mem::transmute(val);
1585 self._bitfield_1.set(12usize, 1u8, val as u64)
1586 }
1587 }
1588 #[inline]
1589 pub fn task(&self) -> __u64 {
1590 unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
1591 }
1592 #[inline]
1593 pub fn set_task(&mut self, val: __u64) {
1594 unsafe {
1595 let val: u64 = ::std::mem::transmute(val);
1596 self._bitfield_1.set(13usize, 1u8, val as u64)
1597 }
1598 }
1599 #[inline]
1600 pub fn watermark(&self) -> __u64 {
1601 unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
1602 }
1603 #[inline]
1604 pub fn set_watermark(&mut self, val: __u64) {
1605 unsafe {
1606 let val: u64 = ::std::mem::transmute(val);
1607 self._bitfield_1.set(14usize, 1u8, val as u64)
1608 }
1609 }
1610 #[inline]
1611 pub fn precise_ip(&self) -> __u64 {
1612 unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
1613 }
1614 #[inline]
1615 pub fn set_precise_ip(&mut self, val: __u64) {
1616 unsafe {
1617 let val: u64 = ::std::mem::transmute(val);
1618 self._bitfield_1.set(15usize, 2u8, val as u64)
1619 }
1620 }
1621 #[inline]
1622 pub fn mmap_data(&self) -> __u64 {
1623 unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
1624 }
1625 #[inline]
1626 pub fn set_mmap_data(&mut self, val: __u64) {
1627 unsafe {
1628 let val: u64 = ::std::mem::transmute(val);
1629 self._bitfield_1.set(17usize, 1u8, val as u64)
1630 }
1631 }
1632 #[inline]
1633 pub fn sample_id_all(&self) -> __u64 {
1634 unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
1635 }
1636 #[inline]
1637 pub fn set_sample_id_all(&mut self, val: __u64) {
1638 unsafe {
1639 let val: u64 = ::std::mem::transmute(val);
1640 self._bitfield_1.set(18usize, 1u8, val as u64)
1641 }
1642 }
1643 #[inline]
1644 pub fn exclude_host(&self) -> __u64 {
1645 unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
1646 }
1647 #[inline]
1648 pub fn set_exclude_host(&mut self, val: __u64) {
1649 unsafe {
1650 let val: u64 = ::std::mem::transmute(val);
1651 self._bitfield_1.set(19usize, 1u8, val as u64)
1652 }
1653 }
1654 #[inline]
1655 pub fn exclude_guest(&self) -> __u64 {
1656 unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
1657 }
1658 #[inline]
1659 pub fn set_exclude_guest(&mut self, val: __u64) {
1660 unsafe {
1661 let val: u64 = ::std::mem::transmute(val);
1662 self._bitfield_1.set(20usize, 1u8, val as u64)
1663 }
1664 }
1665 #[inline]
1666 pub fn exclude_callchain_kernel(&self) -> __u64 {
1667 unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
1668 }
1669 #[inline]
1670 pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
1671 unsafe {
1672 let val: u64 = ::std::mem::transmute(val);
1673 self._bitfield_1.set(21usize, 1u8, val as u64)
1674 }
1675 }
1676 #[inline]
1677 pub fn exclude_callchain_user(&self) -> __u64 {
1678 unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
1679 }
1680 #[inline]
1681 pub fn set_exclude_callchain_user(&mut self, val: __u64) {
1682 unsafe {
1683 let val: u64 = ::std::mem::transmute(val);
1684 self._bitfield_1.set(22usize, 1u8, val as u64)
1685 }
1686 }
1687 #[inline]
1688 pub fn mmap2(&self) -> __u64 {
1689 unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
1690 }
1691 #[inline]
1692 pub fn set_mmap2(&mut self, val: __u64) {
1693 unsafe {
1694 let val: u64 = ::std::mem::transmute(val);
1695 self._bitfield_1.set(23usize, 1u8, val as u64)
1696 }
1697 }
1698 #[inline]
1699 pub fn comm_exec(&self) -> __u64 {
1700 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
1701 }
1702 #[inline]
1703 pub fn set_comm_exec(&mut self, val: __u64) {
1704 unsafe {
1705 let val: u64 = ::std::mem::transmute(val);
1706 self._bitfield_1.set(24usize, 1u8, val as u64)
1707 }
1708 }
1709 #[inline]
1710 pub fn use_clockid(&self) -> __u64 {
1711 unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
1712 }
1713 #[inline]
1714 pub fn set_use_clockid(&mut self, val: __u64) {
1715 unsafe {
1716 let val: u64 = ::std::mem::transmute(val);
1717 self._bitfield_1.set(25usize, 1u8, val as u64)
1718 }
1719 }
1720 #[inline]
1721 pub fn context_switch(&self) -> __u64 {
1722 unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
1723 }
1724 #[inline]
1725 pub fn set_context_switch(&mut self, val: __u64) {
1726 unsafe {
1727 let val: u64 = ::std::mem::transmute(val);
1728 self._bitfield_1.set(26usize, 1u8, val as u64)
1729 }
1730 }
1731 #[inline]
1732 pub fn write_backward(&self) -> __u64 {
1733 unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
1734 }
1735 #[inline]
1736 pub fn set_write_backward(&mut self, val: __u64) {
1737 unsafe {
1738 let val: u64 = ::std::mem::transmute(val);
1739 self._bitfield_1.set(27usize, 1u8, val as u64)
1740 }
1741 }
1742 #[inline]
1743 pub fn namespaces(&self) -> __u64 {
1744 unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
1745 }
1746 #[inline]
1747 pub fn set_namespaces(&mut self, val: __u64) {
1748 unsafe {
1749 let val: u64 = ::std::mem::transmute(val);
1750 self._bitfield_1.set(28usize, 1u8, val as u64)
1751 }
1752 }
1753 #[inline]
1754 pub fn ksymbol(&self) -> __u64 {
1755 unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
1756 }
1757 #[inline]
1758 pub fn set_ksymbol(&mut self, val: __u64) {
1759 unsafe {
1760 let val: u64 = ::std::mem::transmute(val);
1761 self._bitfield_1.set(29usize, 1u8, val as u64)
1762 }
1763 }
1764 #[inline]
1765 pub fn bpf_event(&self) -> __u64 {
1766 unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
1767 }
1768 #[inline]
1769 pub fn set_bpf_event(&mut self, val: __u64) {
1770 unsafe {
1771 let val: u64 = ::std::mem::transmute(val);
1772 self._bitfield_1.set(30usize, 1u8, val as u64)
1773 }
1774 }
1775 #[inline]
1776 pub fn aux_output(&self) -> __u64 {
1777 unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
1778 }
1779 #[inline]
1780 pub fn set_aux_output(&mut self, val: __u64) {
1781 unsafe {
1782 let val: u64 = ::std::mem::transmute(val);
1783 self._bitfield_1.set(31usize, 1u8, val as u64)
1784 }
1785 }
1786 #[inline]
1787 pub fn cgroup(&self) -> __u64 {
1788 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
1789 }
1790 #[inline]
1791 pub fn set_cgroup(&mut self, val: __u64) {
1792 unsafe {
1793 let val: u64 = ::std::mem::transmute(val);
1794 self._bitfield_1.set(32usize, 1u8, val as u64)
1795 }
1796 }
1797 #[inline]
1798 pub fn text_poke(&self) -> __u64 {
1799 unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
1800 }
1801 #[inline]
1802 pub fn set_text_poke(&mut self, val: __u64) {
1803 unsafe {
1804 let val: u64 = ::std::mem::transmute(val);
1805 self._bitfield_1.set(33usize, 1u8, val as u64)
1806 }
1807 }
1808 #[inline]
1809 pub fn build_id(&self) -> __u64 {
1810 unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
1811 }
1812 #[inline]
1813 pub fn set_build_id(&mut self, val: __u64) {
1814 unsafe {
1815 let val: u64 = ::std::mem::transmute(val);
1816 self._bitfield_1.set(34usize, 1u8, val as u64)
1817 }
1818 }
1819 #[inline]
1820 pub fn inherit_thread(&self) -> __u64 {
1821 unsafe { ::std::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
1822 }
1823 #[inline]
1824 pub fn set_inherit_thread(&mut self, val: __u64) {
1825 unsafe {
1826 let val: u64 = ::std::mem::transmute(val);
1827 self._bitfield_1.set(35usize, 1u8, val as u64)
1828 }
1829 }
1830 #[inline]
1831 pub fn remove_on_exec(&self) -> __u64 {
1832 unsafe { ::std::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
1833 }
1834 #[inline]
1835 pub fn set_remove_on_exec(&mut self, val: __u64) {
1836 unsafe {
1837 let val: u64 = ::std::mem::transmute(val);
1838 self._bitfield_1.set(36usize, 1u8, val as u64)
1839 }
1840 }
1841 #[inline]
1842 pub fn sigtrap(&self) -> __u64 {
1843 unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
1844 }
1845 #[inline]
1846 pub fn set_sigtrap(&mut self, val: __u64) {
1847 unsafe {
1848 let val: u64 = ::std::mem::transmute(val);
1849 self._bitfield_1.set(37usize, 1u8, val as u64)
1850 }
1851 }
1852 #[inline]
1853 pub fn __reserved_1(&self) -> __u64 {
1854 unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) }
1855 }
1856 #[inline]
1857 pub fn set___reserved_1(&mut self, val: __u64) {
1858 unsafe {
1859 let val: u64 = ::std::mem::transmute(val);
1860 self._bitfield_1.set(38usize, 26u8, val as u64)
1861 }
1862 }
1863 #[inline]
1864 #[allow(dead_code)]
1865 pub(crate) fn new_bitfield_1(
1866 disabled: __u64,
1867 inherit: __u64,
1868 pinned: __u64,
1869 exclusive: __u64,
1870 exclude_user: __u64,
1871 exclude_kernel: __u64,
1872 exclude_hv: __u64,
1873 exclude_idle: __u64,
1874 mmap: __u64,
1875 comm: __u64,
1876 freq: __u64,
1877 inherit_stat: __u64,
1878 enable_on_exec: __u64,
1879 task: __u64,
1880 watermark: __u64,
1881 precise_ip: __u64,
1882 mmap_data: __u64,
1883 sample_id_all: __u64,
1884 exclude_host: __u64,
1885 exclude_guest: __u64,
1886 exclude_callchain_kernel: __u64,
1887 exclude_callchain_user: __u64,
1888 mmap2: __u64,
1889 comm_exec: __u64,
1890 use_clockid: __u64,
1891 context_switch: __u64,
1892 write_backward: __u64,
1893 namespaces: __u64,
1894 ksymbol: __u64,
1895 bpf_event: __u64,
1896 aux_output: __u64,
1897 cgroup: __u64,
1898 text_poke: __u64,
1899 build_id: __u64,
1900 inherit_thread: __u64,
1901 remove_on_exec: __u64,
1902 sigtrap: __u64,
1903 __reserved_1: __u64,
1904 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
1905 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1906 __bindgen_bitfield_unit.set(0usize, 1u8, {
1907 let disabled: u64 = unsafe { ::std::mem::transmute(disabled) };
1908 disabled as u64
1909 });
1910 __bindgen_bitfield_unit.set(1usize, 1u8, {
1911 let inherit: u64 = unsafe { ::std::mem::transmute(inherit) };
1912 inherit as u64
1913 });
1914 __bindgen_bitfield_unit.set(2usize, 1u8, {
1915 let pinned: u64 = unsafe { ::std::mem::transmute(pinned) };
1916 pinned as u64
1917 });
1918 __bindgen_bitfield_unit.set(3usize, 1u8, {
1919 let exclusive: u64 = unsafe { ::std::mem::transmute(exclusive) };
1920 exclusive as u64
1921 });
1922 __bindgen_bitfield_unit.set(4usize, 1u8, {
1923 let exclude_user: u64 = unsafe { ::std::mem::transmute(exclude_user) };
1924 exclude_user as u64
1925 });
1926 __bindgen_bitfield_unit.set(5usize, 1u8, {
1927 let exclude_kernel: u64 = unsafe { ::std::mem::transmute(exclude_kernel) };
1928 exclude_kernel as u64
1929 });
1930 __bindgen_bitfield_unit.set(6usize, 1u8, {
1931 let exclude_hv: u64 = unsafe { ::std::mem::transmute(exclude_hv) };
1932 exclude_hv as u64
1933 });
1934 __bindgen_bitfield_unit.set(7usize, 1u8, {
1935 let exclude_idle: u64 = unsafe { ::std::mem::transmute(exclude_idle) };
1936 exclude_idle as u64
1937 });
1938 __bindgen_bitfield_unit.set(8usize, 1u8, {
1939 let mmap: u64 = unsafe { ::std::mem::transmute(mmap) };
1940 mmap as u64
1941 });
1942 __bindgen_bitfield_unit.set(9usize, 1u8, {
1943 let comm: u64 = unsafe { ::std::mem::transmute(comm) };
1944 comm as u64
1945 });
1946 __bindgen_bitfield_unit.set(10usize, 1u8, {
1947 let freq: u64 = unsafe { ::std::mem::transmute(freq) };
1948 freq as u64
1949 });
1950 __bindgen_bitfield_unit.set(11usize, 1u8, {
1951 let inherit_stat: u64 = unsafe { ::std::mem::transmute(inherit_stat) };
1952 inherit_stat as u64
1953 });
1954 __bindgen_bitfield_unit.set(12usize, 1u8, {
1955 let enable_on_exec: u64 = unsafe { ::std::mem::transmute(enable_on_exec) };
1956 enable_on_exec as u64
1957 });
1958 __bindgen_bitfield_unit.set(13usize, 1u8, {
1959 let task: u64 = unsafe { ::std::mem::transmute(task) };
1960 task as u64
1961 });
1962 __bindgen_bitfield_unit.set(14usize, 1u8, {
1963 let watermark: u64 = unsafe { ::std::mem::transmute(watermark) };
1964 watermark as u64
1965 });
1966 __bindgen_bitfield_unit.set(15usize, 2u8, {
1967 let precise_ip: u64 = unsafe { ::std::mem::transmute(precise_ip) };
1968 precise_ip as u64
1969 });
1970 __bindgen_bitfield_unit.set(17usize, 1u8, {
1971 let mmap_data: u64 = unsafe { ::std::mem::transmute(mmap_data) };
1972 mmap_data as u64
1973 });
1974 __bindgen_bitfield_unit.set(18usize, 1u8, {
1975 let sample_id_all: u64 = unsafe { ::std::mem::transmute(sample_id_all) };
1976 sample_id_all as u64
1977 });
1978 __bindgen_bitfield_unit.set(19usize, 1u8, {
1979 let exclude_host: u64 = unsafe { ::std::mem::transmute(exclude_host) };
1980 exclude_host as u64
1981 });
1982 __bindgen_bitfield_unit.set(20usize, 1u8, {
1983 let exclude_guest: u64 = unsafe { ::std::mem::transmute(exclude_guest) };
1984 exclude_guest as u64
1985 });
1986 __bindgen_bitfield_unit.set(21usize, 1u8, {
1987 let exclude_callchain_kernel: u64 =
1988 unsafe { ::std::mem::transmute(exclude_callchain_kernel) };
1989 exclude_callchain_kernel as u64
1990 });
1991 __bindgen_bitfield_unit.set(22usize, 1u8, {
1992 let exclude_callchain_user: u64 =
1993 unsafe { ::std::mem::transmute(exclude_callchain_user) };
1994 exclude_callchain_user as u64
1995 });
1996 __bindgen_bitfield_unit.set(23usize, 1u8, {
1997 let mmap2: u64 = unsafe { ::std::mem::transmute(mmap2) };
1998 mmap2 as u64
1999 });
2000 __bindgen_bitfield_unit.set(24usize, 1u8, {
2001 let comm_exec: u64 = unsafe { ::std::mem::transmute(comm_exec) };
2002 comm_exec as u64
2003 });
2004 __bindgen_bitfield_unit.set(25usize, 1u8, {
2005 let use_clockid: u64 = unsafe { ::std::mem::transmute(use_clockid) };
2006 use_clockid as u64
2007 });
2008 __bindgen_bitfield_unit.set(26usize, 1u8, {
2009 let context_switch: u64 = unsafe { ::std::mem::transmute(context_switch) };
2010 context_switch as u64
2011 });
2012 __bindgen_bitfield_unit.set(27usize, 1u8, {
2013 let write_backward: u64 = unsafe { ::std::mem::transmute(write_backward) };
2014 write_backward as u64
2015 });
2016 __bindgen_bitfield_unit.set(28usize, 1u8, {
2017 let namespaces: u64 = unsafe { ::std::mem::transmute(namespaces) };
2018 namespaces as u64
2019 });
2020 __bindgen_bitfield_unit.set(29usize, 1u8, {
2021 let ksymbol: u64 = unsafe { ::std::mem::transmute(ksymbol) };
2022 ksymbol as u64
2023 });
2024 __bindgen_bitfield_unit.set(30usize, 1u8, {
2025 let bpf_event: u64 = unsafe { ::std::mem::transmute(bpf_event) };
2026 bpf_event as u64
2027 });
2028 __bindgen_bitfield_unit.set(31usize, 1u8, {
2029 let aux_output: u64 = unsafe { ::std::mem::transmute(aux_output) };
2030 aux_output as u64
2031 });
2032 __bindgen_bitfield_unit.set(32usize, 1u8, {
2033 let cgroup: u64 = unsafe { ::std::mem::transmute(cgroup) };
2034 cgroup as u64
2035 });
2036 __bindgen_bitfield_unit.set(33usize, 1u8, {
2037 let text_poke: u64 = unsafe { ::std::mem::transmute(text_poke) };
2038 text_poke as u64
2039 });
2040 __bindgen_bitfield_unit.set(34usize, 1u8, {
2041 let build_id: u64 = unsafe { ::std::mem::transmute(build_id) };
2042 build_id as u64
2043 });
2044 __bindgen_bitfield_unit.set(35usize, 1u8, {
2045 let inherit_thread: u64 = unsafe { ::std::mem::transmute(inherit_thread) };
2046 inherit_thread as u64
2047 });
2048 __bindgen_bitfield_unit.set(36usize, 1u8, {
2049 let remove_on_exec: u64 = unsafe { ::std::mem::transmute(remove_on_exec) };
2050 remove_on_exec as u64
2051 });
2052 __bindgen_bitfield_unit.set(37usize, 1u8, {
2053 let sigtrap: u64 = unsafe { ::std::mem::transmute(sigtrap) };
2054 sigtrap as u64
2055 });
2056 __bindgen_bitfield_unit.set(38usize, 26u8, {
2057 let __reserved_1: u64 = unsafe { ::std::mem::transmute(__reserved_1) };
2058 __reserved_1 as u64
2059 });
2060 __bindgen_bitfield_unit
2061 }
2062}
2063#[repr(C)]
2064#[derive(Debug, Default)]
2065pub struct perf_event_query_bpf {
2066 pub ids_len: __u32,
2067 pub prog_cnt: __u32,
2068 pub ids: __IncompleteArrayField<__u32>,
2069}
2070#[test]
2071fn bindgen_test_layout_perf_event_query_bpf() {
2072 const UNINIT: ::std::mem::MaybeUninit<perf_event_query_bpf> = ::std::mem::MaybeUninit::uninit();
2073 let ptr = UNINIT.as_ptr();
2074 assert_eq!(
2075 ::std::mem::size_of::<perf_event_query_bpf>(),
2076 8usize,
2077 concat!("Size of: ", stringify!(perf_event_query_bpf))
2078 );
2079 assert_eq!(
2080 ::std::mem::align_of::<perf_event_query_bpf>(),
2081 4usize,
2082 concat!("Alignment of ", stringify!(perf_event_query_bpf))
2083 );
2084 assert_eq!(
2085 unsafe { ::std::ptr::addr_of!((*ptr).ids_len) as usize - ptr as usize },
2086 0usize,
2087 concat!(
2088 "Offset of field: ",
2089 stringify!(perf_event_query_bpf),
2090 "::",
2091 stringify!(ids_len)
2092 )
2093 );
2094 assert_eq!(
2095 unsafe { ::std::ptr::addr_of!((*ptr).prog_cnt) as usize - ptr as usize },
2096 4usize,
2097 concat!(
2098 "Offset of field: ",
2099 stringify!(perf_event_query_bpf),
2100 "::",
2101 stringify!(prog_cnt)
2102 )
2103 );
2104 assert_eq!(
2105 unsafe { ::std::ptr::addr_of!((*ptr).ids) as usize - ptr as usize },
2106 8usize,
2107 concat!(
2108 "Offset of field: ",
2109 stringify!(perf_event_query_bpf),
2110 "::",
2111 stringify!(ids)
2112 )
2113 );
2114}
2115pub const PERF_IOC_FLAG_GROUP: perf_event_ioc_flags = 1;
2116pub type perf_event_ioc_flags = ::std::os::raw::c_uint;
2117#[repr(C)]
2118#[derive(Copy, Clone)]
2119#[non_exhaustive]
2120pub struct perf_event_mmap_page {
2121 pub version: __u32,
2122 pub compat_version: __u32,
2123 pub lock: __u32,
2124 pub index: __u32,
2125 pub offset: __s64,
2126 pub time_enabled: __u64,
2127 pub time_running: __u64,
2128 pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1,
2129 pub pmc_width: __u16,
2130 pub time_shift: __u16,
2131 pub time_mult: __u32,
2132 pub time_offset: __u64,
2133 pub time_zero: __u64,
2134 pub size: __u32,
2135 pub __reserved_1: __u32,
2136 pub time_cycles: __u64,
2137 pub time_mask: __u64,
2138 pub __reserved: [__u8; 928usize],
2139 pub data_head: __u64,
2140 pub data_tail: __u64,
2141 pub data_offset: __u64,
2142 pub data_size: __u64,
2143 pub aux_head: __u64,
2144 pub aux_tail: __u64,
2145 pub aux_offset: __u64,
2146 pub aux_size: __u64,
2147}
2148#[repr(C)]
2149#[derive(Copy, Clone)]
2150pub union perf_event_mmap_page__bindgen_ty_1 {
2151 pub capabilities: __u64,
2152 pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1,
2153}
2154#[repr(C)]
2155#[derive(Debug, Default, Copy, Clone)]
2156#[non_exhaustive]
2157pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2158 pub _bitfield_align_1: [u64; 0],
2159 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2160}
2161#[test]
2162fn bindgen_test_layout_perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1() {
2163 assert_eq!(
2164 ::std::mem::size_of::<perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1>(),
2165 8usize,
2166 concat!(
2167 "Size of: ",
2168 stringify!(perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1)
2169 )
2170 );
2171 assert_eq!(
2172 ::std::mem::align_of::<perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1>(),
2173 8usize,
2174 concat!(
2175 "Alignment of ",
2176 stringify!(perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1)
2177 )
2178 );
2179}
2180impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2181 #[inline]
2182 pub fn cap_bit0(&self) -> __u64 {
2183 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
2184 }
2185 #[inline]
2186 pub fn set_cap_bit0(&mut self, val: __u64) {
2187 unsafe {
2188 let val: u64 = ::std::mem::transmute(val);
2189 self._bitfield_1.set(0usize, 1u8, val as u64)
2190 }
2191 }
2192 #[inline]
2193 pub fn cap_bit0_is_deprecated(&self) -> __u64 {
2194 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
2195 }
2196 #[inline]
2197 pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) {
2198 unsafe {
2199 let val: u64 = ::std::mem::transmute(val);
2200 self._bitfield_1.set(1usize, 1u8, val as u64)
2201 }
2202 }
2203 #[inline]
2204 pub fn cap_user_rdpmc(&self) -> __u64 {
2205 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
2206 }
2207 #[inline]
2208 pub fn set_cap_user_rdpmc(&mut self, val: __u64) {
2209 unsafe {
2210 let val: u64 = ::std::mem::transmute(val);
2211 self._bitfield_1.set(2usize, 1u8, val as u64)
2212 }
2213 }
2214 #[inline]
2215 pub fn cap_user_time(&self) -> __u64 {
2216 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
2217 }
2218 #[inline]
2219 pub fn set_cap_user_time(&mut self, val: __u64) {
2220 unsafe {
2221 let val: u64 = ::std::mem::transmute(val);
2222 self._bitfield_1.set(3usize, 1u8, val as u64)
2223 }
2224 }
2225 #[inline]
2226 pub fn cap_user_time_zero(&self) -> __u64 {
2227 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
2228 }
2229 #[inline]
2230 pub fn set_cap_user_time_zero(&mut self, val: __u64) {
2231 unsafe {
2232 let val: u64 = ::std::mem::transmute(val);
2233 self._bitfield_1.set(4usize, 1u8, val as u64)
2234 }
2235 }
2236 #[inline]
2237 pub fn cap_user_time_short(&self) -> __u64 {
2238 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
2239 }
2240 #[inline]
2241 pub fn set_cap_user_time_short(&mut self, val: __u64) {
2242 unsafe {
2243 let val: u64 = ::std::mem::transmute(val);
2244 self._bitfield_1.set(5usize, 1u8, val as u64)
2245 }
2246 }
2247 #[inline]
2248 pub fn cap_____res(&self) -> __u64 {
2249 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 58u8) as u64) }
2250 }
2251 #[inline]
2252 pub fn set_cap_____res(&mut self, val: __u64) {
2253 unsafe {
2254 let val: u64 = ::std::mem::transmute(val);
2255 self._bitfield_1.set(6usize, 58u8, val as u64)
2256 }
2257 }
2258 #[inline]
2259 #[allow(dead_code)]
2260 pub(crate) fn new_bitfield_1(
2261 cap_bit0: __u64,
2262 cap_bit0_is_deprecated: __u64,
2263 cap_user_rdpmc: __u64,
2264 cap_user_time: __u64,
2265 cap_user_time_zero: __u64,
2266 cap_user_time_short: __u64,
2267 cap_____res: __u64,
2268 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2269 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2270 __bindgen_bitfield_unit.set(0usize, 1u8, {
2271 let cap_bit0: u64 = unsafe { ::std::mem::transmute(cap_bit0) };
2272 cap_bit0 as u64
2273 });
2274 __bindgen_bitfield_unit.set(1usize, 1u8, {
2275 let cap_bit0_is_deprecated: u64 =
2276 unsafe { ::std::mem::transmute(cap_bit0_is_deprecated) };
2277 cap_bit0_is_deprecated as u64
2278 });
2279 __bindgen_bitfield_unit.set(2usize, 1u8, {
2280 let cap_user_rdpmc: u64 = unsafe { ::std::mem::transmute(cap_user_rdpmc) };
2281 cap_user_rdpmc as u64
2282 });
2283 __bindgen_bitfield_unit.set(3usize, 1u8, {
2284 let cap_user_time: u64 = unsafe { ::std::mem::transmute(cap_user_time) };
2285 cap_user_time as u64
2286 });
2287 __bindgen_bitfield_unit.set(4usize, 1u8, {
2288 let cap_user_time_zero: u64 = unsafe { ::std::mem::transmute(cap_user_time_zero) };
2289 cap_user_time_zero as u64
2290 });
2291 __bindgen_bitfield_unit.set(5usize, 1u8, {
2292 let cap_user_time_short: u64 = unsafe { ::std::mem::transmute(cap_user_time_short) };
2293 cap_user_time_short as u64
2294 });
2295 __bindgen_bitfield_unit.set(6usize, 58u8, {
2296 let cap_____res: u64 = unsafe { ::std::mem::transmute(cap_____res) };
2297 cap_____res as u64
2298 });
2299 __bindgen_bitfield_unit
2300 }
2301}
2302#[test]
2303fn bindgen_test_layout_perf_event_mmap_page__bindgen_ty_1() {
2304 const UNINIT: ::std::mem::MaybeUninit<perf_event_mmap_page__bindgen_ty_1> =
2305 ::std::mem::MaybeUninit::uninit();
2306 let ptr = UNINIT.as_ptr();
2307 assert_eq!(
2308 ::std::mem::size_of::<perf_event_mmap_page__bindgen_ty_1>(),
2309 8usize,
2310 concat!("Size of: ", stringify!(perf_event_mmap_page__bindgen_ty_1))
2311 );
2312 assert_eq!(
2313 ::std::mem::align_of::<perf_event_mmap_page__bindgen_ty_1>(),
2314 8usize,
2315 concat!(
2316 "Alignment of ",
2317 stringify!(perf_event_mmap_page__bindgen_ty_1)
2318 )
2319 );
2320 assert_eq!(
2321 unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
2322 0usize,
2323 concat!(
2324 "Offset of field: ",
2325 stringify!(perf_event_mmap_page__bindgen_ty_1),
2326 "::",
2327 stringify!(capabilities)
2328 )
2329 );
2330}
2331impl Default for perf_event_mmap_page__bindgen_ty_1 {
2332 fn default() -> Self {
2333 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2334 unsafe {
2335 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2336 s.assume_init()
2337 }
2338 }
2339}
2340impl ::std::fmt::Debug for perf_event_mmap_page__bindgen_ty_1 {
2341 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2342 write!(f, "perf_event_mmap_page__bindgen_ty_1 {{ union }}")
2343 }
2344}
2345#[test]
2346fn bindgen_test_layout_perf_event_mmap_page() {
2347 const UNINIT: ::std::mem::MaybeUninit<perf_event_mmap_page> = ::std::mem::MaybeUninit::uninit();
2348 let ptr = UNINIT.as_ptr();
2349 assert_eq!(
2350 ::std::mem::size_of::<perf_event_mmap_page>(),
2351 1088usize,
2352 concat!("Size of: ", stringify!(perf_event_mmap_page))
2353 );
2354 assert_eq!(
2355 ::std::mem::align_of::<perf_event_mmap_page>(),
2356 8usize,
2357 concat!("Alignment of ", stringify!(perf_event_mmap_page))
2358 );
2359 assert_eq!(
2360 unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2361 0usize,
2362 concat!(
2363 "Offset of field: ",
2364 stringify!(perf_event_mmap_page),
2365 "::",
2366 stringify!(version)
2367 )
2368 );
2369 assert_eq!(
2370 unsafe { ::std::ptr::addr_of!((*ptr).compat_version) as usize - ptr as usize },
2371 4usize,
2372 concat!(
2373 "Offset of field: ",
2374 stringify!(perf_event_mmap_page),
2375 "::",
2376 stringify!(compat_version)
2377 )
2378 );
2379 assert_eq!(
2380 unsafe { ::std::ptr::addr_of!((*ptr).lock) as usize - ptr as usize },
2381 8usize,
2382 concat!(
2383 "Offset of field: ",
2384 stringify!(perf_event_mmap_page),
2385 "::",
2386 stringify!(lock)
2387 )
2388 );
2389 assert_eq!(
2390 unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
2391 12usize,
2392 concat!(
2393 "Offset of field: ",
2394 stringify!(perf_event_mmap_page),
2395 "::",
2396 stringify!(index)
2397 )
2398 );
2399 assert_eq!(
2400 unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
2401 16usize,
2402 concat!(
2403 "Offset of field: ",
2404 stringify!(perf_event_mmap_page),
2405 "::",
2406 stringify!(offset)
2407 )
2408 );
2409 assert_eq!(
2410 unsafe { ::std::ptr::addr_of!((*ptr).time_enabled) as usize - ptr as usize },
2411 24usize,
2412 concat!(
2413 "Offset of field: ",
2414 stringify!(perf_event_mmap_page),
2415 "::",
2416 stringify!(time_enabled)
2417 )
2418 );
2419 assert_eq!(
2420 unsafe { ::std::ptr::addr_of!((*ptr).time_running) as usize - ptr as usize },
2421 32usize,
2422 concat!(
2423 "Offset of field: ",
2424 stringify!(perf_event_mmap_page),
2425 "::",
2426 stringify!(time_running)
2427 )
2428 );
2429 assert_eq!(
2430 unsafe { ::std::ptr::addr_of!((*ptr).pmc_width) as usize - ptr as usize },
2431 48usize,
2432 concat!(
2433 "Offset of field: ",
2434 stringify!(perf_event_mmap_page),
2435 "::",
2436 stringify!(pmc_width)
2437 )
2438 );
2439 assert_eq!(
2440 unsafe { ::std::ptr::addr_of!((*ptr).time_shift) as usize - ptr as usize },
2441 50usize,
2442 concat!(
2443 "Offset of field: ",
2444 stringify!(perf_event_mmap_page),
2445 "::",
2446 stringify!(time_shift)
2447 )
2448 );
2449 assert_eq!(
2450 unsafe { ::std::ptr::addr_of!((*ptr).time_mult) as usize - ptr as usize },
2451 52usize,
2452 concat!(
2453 "Offset of field: ",
2454 stringify!(perf_event_mmap_page),
2455 "::",
2456 stringify!(time_mult)
2457 )
2458 );
2459 assert_eq!(
2460 unsafe { ::std::ptr::addr_of!((*ptr).time_offset) as usize - ptr as usize },
2461 56usize,
2462 concat!(
2463 "Offset of field: ",
2464 stringify!(perf_event_mmap_page),
2465 "::",
2466 stringify!(time_offset)
2467 )
2468 );
2469 assert_eq!(
2470 unsafe { ::std::ptr::addr_of!((*ptr).time_zero) as usize - ptr as usize },
2471 64usize,
2472 concat!(
2473 "Offset of field: ",
2474 stringify!(perf_event_mmap_page),
2475 "::",
2476 stringify!(time_zero)
2477 )
2478 );
2479 assert_eq!(
2480 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
2481 72usize,
2482 concat!(
2483 "Offset of field: ",
2484 stringify!(perf_event_mmap_page),
2485 "::",
2486 stringify!(size)
2487 )
2488 );
2489 assert_eq!(
2490 unsafe { ::std::ptr::addr_of!((*ptr).__reserved_1) as usize - ptr as usize },
2491 76usize,
2492 concat!(
2493 "Offset of field: ",
2494 stringify!(perf_event_mmap_page),
2495 "::",
2496 stringify!(__reserved_1)
2497 )
2498 );
2499 assert_eq!(
2500 unsafe { ::std::ptr::addr_of!((*ptr).time_cycles) as usize - ptr as usize },
2501 80usize,
2502 concat!(
2503 "Offset of field: ",
2504 stringify!(perf_event_mmap_page),
2505 "::",
2506 stringify!(time_cycles)
2507 )
2508 );
2509 assert_eq!(
2510 unsafe { ::std::ptr::addr_of!((*ptr).time_mask) as usize - ptr as usize },
2511 88usize,
2512 concat!(
2513 "Offset of field: ",
2514 stringify!(perf_event_mmap_page),
2515 "::",
2516 stringify!(time_mask)
2517 )
2518 );
2519 assert_eq!(
2520 unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
2521 96usize,
2522 concat!(
2523 "Offset of field: ",
2524 stringify!(perf_event_mmap_page),
2525 "::",
2526 stringify!(__reserved)
2527 )
2528 );
2529 assert_eq!(
2530 unsafe { ::std::ptr::addr_of!((*ptr).data_head) as usize - ptr as usize },
2531 1024usize,
2532 concat!(
2533 "Offset of field: ",
2534 stringify!(perf_event_mmap_page),
2535 "::",
2536 stringify!(data_head)
2537 )
2538 );
2539 assert_eq!(
2540 unsafe { ::std::ptr::addr_of!((*ptr).data_tail) as usize - ptr as usize },
2541 1032usize,
2542 concat!(
2543 "Offset of field: ",
2544 stringify!(perf_event_mmap_page),
2545 "::",
2546 stringify!(data_tail)
2547 )
2548 );
2549 assert_eq!(
2550 unsafe { ::std::ptr::addr_of!((*ptr).data_offset) as usize - ptr as usize },
2551 1040usize,
2552 concat!(
2553 "Offset of field: ",
2554 stringify!(perf_event_mmap_page),
2555 "::",
2556 stringify!(data_offset)
2557 )
2558 );
2559 assert_eq!(
2560 unsafe { ::std::ptr::addr_of!((*ptr).data_size) as usize - ptr as usize },
2561 1048usize,
2562 concat!(
2563 "Offset of field: ",
2564 stringify!(perf_event_mmap_page),
2565 "::",
2566 stringify!(data_size)
2567 )
2568 );
2569 assert_eq!(
2570 unsafe { ::std::ptr::addr_of!((*ptr).aux_head) as usize - ptr as usize },
2571 1056usize,
2572 concat!(
2573 "Offset of field: ",
2574 stringify!(perf_event_mmap_page),
2575 "::",
2576 stringify!(aux_head)
2577 )
2578 );
2579 assert_eq!(
2580 unsafe { ::std::ptr::addr_of!((*ptr).aux_tail) as usize - ptr as usize },
2581 1064usize,
2582 concat!(
2583 "Offset of field: ",
2584 stringify!(perf_event_mmap_page),
2585 "::",
2586 stringify!(aux_tail)
2587 )
2588 );
2589 assert_eq!(
2590 unsafe { ::std::ptr::addr_of!((*ptr).aux_offset) as usize - ptr as usize },
2591 1072usize,
2592 concat!(
2593 "Offset of field: ",
2594 stringify!(perf_event_mmap_page),
2595 "::",
2596 stringify!(aux_offset)
2597 )
2598 );
2599 assert_eq!(
2600 unsafe { ::std::ptr::addr_of!((*ptr).aux_size) as usize - ptr as usize },
2601 1080usize,
2602 concat!(
2603 "Offset of field: ",
2604 stringify!(perf_event_mmap_page),
2605 "::",
2606 stringify!(aux_size)
2607 )
2608 );
2609}
2610impl Default for perf_event_mmap_page {
2611 fn default() -> Self {
2612 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2613 unsafe {
2614 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2615 s.assume_init()
2616 }
2617 }
2618}
2619impl ::std::fmt::Debug for perf_event_mmap_page {
2620 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2621 write ! (f , "perf_event_mmap_page {{ version: {:?}, compat_version: {:?}, lock: {:?}, index: {:?}, offset: {:?}, time_enabled: {:?}, time_running: {:?}, __bindgen_anon_1: {:?}, pmc_width: {:?}, time_shift: {:?}, time_mult: {:?}, time_offset: {:?}, time_zero: {:?}, size: {:?}, __reserved_1: {:?}, time_cycles: {:?}, time_mask: {:?}, __reserved: {:?}, data_head: {:?}, data_tail: {:?}, data_offset: {:?}, data_size: {:?}, aux_head: {:?}, aux_tail: {:?}, aux_offset: {:?}, aux_size: {:?} }}" , self . version , self . compat_version , self . lock , self . index , self . offset , self . time_enabled , self . time_running , self . __bindgen_anon_1 , self . pmc_width , self . time_shift , self . time_mult , self . time_offset , self . time_zero , self . size , self . __reserved_1 , self . time_cycles , self . time_mask , self . __reserved , self . data_head , self . data_tail , self . data_offset , self . data_size , self . aux_head , self . aux_tail , self . aux_offset , self . aux_size)
2622 }
2623}
2624#[repr(C)]
2625#[derive(Debug, Default, Copy, Clone)]
2626pub struct perf_event_header {
2627 pub type_: __u32,
2628 pub misc: __u16,
2629 pub size: __u16,
2630}
2631#[test]
2632fn bindgen_test_layout_perf_event_header() {
2633 const UNINIT: ::std::mem::MaybeUninit<perf_event_header> = ::std::mem::MaybeUninit::uninit();
2634 let ptr = UNINIT.as_ptr();
2635 assert_eq!(
2636 ::std::mem::size_of::<perf_event_header>(),
2637 8usize,
2638 concat!("Size of: ", stringify!(perf_event_header))
2639 );
2640 assert_eq!(
2641 ::std::mem::align_of::<perf_event_header>(),
2642 4usize,
2643 concat!("Alignment of ", stringify!(perf_event_header))
2644 );
2645 assert_eq!(
2646 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
2647 0usize,
2648 concat!(
2649 "Offset of field: ",
2650 stringify!(perf_event_header),
2651 "::",
2652 stringify!(type_)
2653 )
2654 );
2655 assert_eq!(
2656 unsafe { ::std::ptr::addr_of!((*ptr).misc) as usize - ptr as usize },
2657 4usize,
2658 concat!(
2659 "Offset of field: ",
2660 stringify!(perf_event_header),
2661 "::",
2662 stringify!(misc)
2663 )
2664 );
2665 assert_eq!(
2666 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
2667 6usize,
2668 concat!(
2669 "Offset of field: ",
2670 stringify!(perf_event_header),
2671 "::",
2672 stringify!(size)
2673 )
2674 );
2675}
2676#[repr(C)]
2677#[derive(Debug, Default, Copy, Clone)]
2678pub struct perf_ns_link_info {
2679 pub dev: __u64,
2680 pub ino: __u64,
2681}
2682#[test]
2683fn bindgen_test_layout_perf_ns_link_info() {
2684 const UNINIT: ::std::mem::MaybeUninit<perf_ns_link_info> = ::std::mem::MaybeUninit::uninit();
2685 let ptr = UNINIT.as_ptr();
2686 assert_eq!(
2687 ::std::mem::size_of::<perf_ns_link_info>(),
2688 16usize,
2689 concat!("Size of: ", stringify!(perf_ns_link_info))
2690 );
2691 assert_eq!(
2692 ::std::mem::align_of::<perf_ns_link_info>(),
2693 8usize,
2694 concat!("Alignment of ", stringify!(perf_ns_link_info))
2695 );
2696 assert_eq!(
2697 unsafe { ::std::ptr::addr_of!((*ptr).dev) as usize - ptr as usize },
2698 0usize,
2699 concat!(
2700 "Offset of field: ",
2701 stringify!(perf_ns_link_info),
2702 "::",
2703 stringify!(dev)
2704 )
2705 );
2706 assert_eq!(
2707 unsafe { ::std::ptr::addr_of!((*ptr).ino) as usize - ptr as usize },
2708 8usize,
2709 concat!(
2710 "Offset of field: ",
2711 stringify!(perf_ns_link_info),
2712 "::",
2713 stringify!(ino)
2714 )
2715 );
2716}
2717pub const NET_NS_INDEX: _bindgen_ty_6 = 0;
2718pub const UTS_NS_INDEX: _bindgen_ty_6 = 1;
2719pub const IPC_NS_INDEX: _bindgen_ty_6 = 2;
2720pub const PID_NS_INDEX: _bindgen_ty_6 = 3;
2721pub const USER_NS_INDEX: _bindgen_ty_6 = 4;
2722pub const MNT_NS_INDEX: _bindgen_ty_6 = 5;
2723pub const CGROUP_NS_INDEX: _bindgen_ty_6 = 6;
2724pub const NR_NAMESPACES: _bindgen_ty_6 = 7;
2725pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
2726pub const PERF_RECORD_MMAP: perf_event_type = 1;
2727pub const PERF_RECORD_LOST: perf_event_type = 2;
2728pub const PERF_RECORD_COMM: perf_event_type = 3;
2729pub const PERF_RECORD_EXIT: perf_event_type = 4;
2730pub const PERF_RECORD_THROTTLE: perf_event_type = 5;
2731pub const PERF_RECORD_UNTHROTTLE: perf_event_type = 6;
2732pub const PERF_RECORD_FORK: perf_event_type = 7;
2733pub const PERF_RECORD_READ: perf_event_type = 8;
2734pub const PERF_RECORD_SAMPLE: perf_event_type = 9;
2735pub const PERF_RECORD_MMAP2: perf_event_type = 10;
2736pub const PERF_RECORD_AUX: perf_event_type = 11;
2737pub const PERF_RECORD_ITRACE_START: perf_event_type = 12;
2738pub const PERF_RECORD_LOST_SAMPLES: perf_event_type = 13;
2739pub const PERF_RECORD_SWITCH: perf_event_type = 14;
2740pub const PERF_RECORD_SWITCH_CPU_WIDE: perf_event_type = 15;
2741pub const PERF_RECORD_NAMESPACES: perf_event_type = 16;
2742pub const PERF_RECORD_KSYMBOL: perf_event_type = 17;
2743pub const PERF_RECORD_BPF_EVENT: perf_event_type = 18;
2744pub const PERF_RECORD_CGROUP: perf_event_type = 19;
2745pub const PERF_RECORD_TEXT_POKE: perf_event_type = 20;
2746pub const PERF_RECORD_AUX_OUTPUT_HW_ID: perf_event_type = 21;
2747pub const PERF_RECORD_MAX: perf_event_type = 22;
2748pub type perf_event_type = ::std::os::raw::c_uint;
2749pub const PERF_RECORD_KSYMBOL_TYPE_UNKNOWN: perf_record_ksymbol_type = 0;
2750pub const PERF_RECORD_KSYMBOL_TYPE_BPF: perf_record_ksymbol_type = 1;
2751pub const PERF_RECORD_KSYMBOL_TYPE_OOL: perf_record_ksymbol_type = 2;
2752pub const PERF_RECORD_KSYMBOL_TYPE_MAX: perf_record_ksymbol_type = 3;
2753pub type perf_record_ksymbol_type = ::std::os::raw::c_uint;
2754pub const PERF_BPF_EVENT_UNKNOWN: perf_bpf_event_type = 0;
2755pub const PERF_BPF_EVENT_PROG_LOAD: perf_bpf_event_type = 1;
2756pub const PERF_BPF_EVENT_PROG_UNLOAD: perf_bpf_event_type = 2;
2757pub const PERF_BPF_EVENT_MAX: perf_bpf_event_type = 3;
2758pub type perf_bpf_event_type = ::std::os::raw::c_uint;
2759pub const PERF_CONTEXT_HV: perf_callchain_context = 18446744073709551584;
2760pub const PERF_CONTEXT_KERNEL: perf_callchain_context = 18446744073709551488;
2761pub const PERF_CONTEXT_USER: perf_callchain_context = 18446744073709551104;
2762pub const PERF_CONTEXT_GUEST: perf_callchain_context = 18446744073709549568;
2763pub const PERF_CONTEXT_GUEST_KERNEL: perf_callchain_context = 18446744073709549440;
2764pub const PERF_CONTEXT_GUEST_USER: perf_callchain_context = 18446744073709549056;
2765pub const PERF_CONTEXT_MAX: perf_callchain_context = 18446744073709547521;
2766pub type perf_callchain_context = ::std::os::raw::c_ulong;
2767#[repr(C)]
2768#[derive(Copy, Clone)]
2769pub union perf_mem_data_src {
2770 pub val: __u64,
2771 pub __bindgen_anon_1: perf_mem_data_src__bindgen_ty_1,
2772}
2773#[repr(C)]
2774#[repr(align(8))]
2775#[derive(Debug, Default, Copy, Clone)]
2776pub struct perf_mem_data_src__bindgen_ty_1 {
2777 pub _bitfield_align_1: [u32; 0],
2778 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2779}
2780#[test]
2781fn bindgen_test_layout_perf_mem_data_src__bindgen_ty_1() {
2782 assert_eq!(
2783 ::std::mem::size_of::<perf_mem_data_src__bindgen_ty_1>(),
2784 8usize,
2785 concat!("Size of: ", stringify!(perf_mem_data_src__bindgen_ty_1))
2786 );
2787 assert_eq!(
2788 ::std::mem::align_of::<perf_mem_data_src__bindgen_ty_1>(),
2789 8usize,
2790 concat!("Alignment of ", stringify!(perf_mem_data_src__bindgen_ty_1))
2791 );
2792}
2793impl perf_mem_data_src__bindgen_ty_1 {
2794 #[inline]
2795 pub fn mem_op(&self) -> __u64 {
2796 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u64) }
2797 }
2798 #[inline]
2799 pub fn set_mem_op(&mut self, val: __u64) {
2800 unsafe {
2801 let val: u64 = ::std::mem::transmute(val);
2802 self._bitfield_1.set(0usize, 5u8, val as u64)
2803 }
2804 }
2805 #[inline]
2806 pub fn mem_lvl(&self) -> __u64 {
2807 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 14u8) as u64) }
2808 }
2809 #[inline]
2810 pub fn set_mem_lvl(&mut self, val: __u64) {
2811 unsafe {
2812 let val: u64 = ::std::mem::transmute(val);
2813 self._bitfield_1.set(5usize, 14u8, val as u64)
2814 }
2815 }
2816 #[inline]
2817 pub fn mem_snoop(&self) -> __u64 {
2818 unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 5u8) as u64) }
2819 }
2820 #[inline]
2821 pub fn set_mem_snoop(&mut self, val: __u64) {
2822 unsafe {
2823 let val: u64 = ::std::mem::transmute(val);
2824 self._bitfield_1.set(19usize, 5u8, val as u64)
2825 }
2826 }
2827 #[inline]
2828 pub fn mem_lock(&self) -> __u64 {
2829 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
2830 }
2831 #[inline]
2832 pub fn set_mem_lock(&mut self, val: __u64) {
2833 unsafe {
2834 let val: u64 = ::std::mem::transmute(val);
2835 self._bitfield_1.set(24usize, 2u8, val as u64)
2836 }
2837 }
2838 #[inline]
2839 pub fn mem_dtlb(&self) -> __u64 {
2840 unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 7u8) as u64) }
2841 }
2842 #[inline]
2843 pub fn set_mem_dtlb(&mut self, val: __u64) {
2844 unsafe {
2845 let val: u64 = ::std::mem::transmute(val);
2846 self._bitfield_1.set(26usize, 7u8, val as u64)
2847 }
2848 }
2849 #[inline]
2850 pub fn mem_lvl_num(&self) -> __u64 {
2851 unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 4u8) as u64) }
2852 }
2853 #[inline]
2854 pub fn set_mem_lvl_num(&mut self, val: __u64) {
2855 unsafe {
2856 let val: u64 = ::std::mem::transmute(val);
2857 self._bitfield_1.set(33usize, 4u8, val as u64)
2858 }
2859 }
2860 #[inline]
2861 pub fn mem_remote(&self) -> __u64 {
2862 unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
2863 }
2864 #[inline]
2865 pub fn set_mem_remote(&mut self, val: __u64) {
2866 unsafe {
2867 let val: u64 = ::std::mem::transmute(val);
2868 self._bitfield_1.set(37usize, 1u8, val as u64)
2869 }
2870 }
2871 #[inline]
2872 pub fn mem_snoopx(&self) -> __u64 {
2873 unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 2u8) as u64) }
2874 }
2875 #[inline]
2876 pub fn set_mem_snoopx(&mut self, val: __u64) {
2877 unsafe {
2878 let val: u64 = ::std::mem::transmute(val);
2879 self._bitfield_1.set(38usize, 2u8, val as u64)
2880 }
2881 }
2882 #[inline]
2883 pub fn mem_blk(&self) -> __u64 {
2884 unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 3u8) as u64) }
2885 }
2886 #[inline]
2887 pub fn set_mem_blk(&mut self, val: __u64) {
2888 unsafe {
2889 let val: u64 = ::std::mem::transmute(val);
2890 self._bitfield_1.set(40usize, 3u8, val as u64)
2891 }
2892 }
2893 #[inline]
2894 pub fn mem_hops(&self) -> __u64 {
2895 unsafe { ::std::mem::transmute(self._bitfield_1.get(43usize, 3u8) as u64) }
2896 }
2897 #[inline]
2898 pub fn set_mem_hops(&mut self, val: __u64) {
2899 unsafe {
2900 let val: u64 = ::std::mem::transmute(val);
2901 self._bitfield_1.set(43usize, 3u8, val as u64)
2902 }
2903 }
2904 #[inline]
2905 pub fn mem_rsvd(&self) -> __u64 {
2906 unsafe { ::std::mem::transmute(self._bitfield_1.get(46usize, 18u8) as u64) }
2907 }
2908 #[inline]
2909 pub fn set_mem_rsvd(&mut self, val: __u64) {
2910 unsafe {
2911 let val: u64 = ::std::mem::transmute(val);
2912 self._bitfield_1.set(46usize, 18u8, val as u64)
2913 }
2914 }
2915 #[inline]
2916 #[allow(dead_code)]
2917 pub(crate) fn new_bitfield_1(
2918 mem_op: __u64,
2919 mem_lvl: __u64,
2920 mem_snoop: __u64,
2921 mem_lock: __u64,
2922 mem_dtlb: __u64,
2923 mem_lvl_num: __u64,
2924 mem_remote: __u64,
2925 mem_snoopx: __u64,
2926 mem_blk: __u64,
2927 mem_hops: __u64,
2928 mem_rsvd: __u64,
2929 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2930 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2931 __bindgen_bitfield_unit.set(0usize, 5u8, {
2932 let mem_op: u64 = unsafe { ::std::mem::transmute(mem_op) };
2933 mem_op as u64
2934 });
2935 __bindgen_bitfield_unit.set(5usize, 14u8, {
2936 let mem_lvl: u64 = unsafe { ::std::mem::transmute(mem_lvl) };
2937 mem_lvl as u64
2938 });
2939 __bindgen_bitfield_unit.set(19usize, 5u8, {
2940 let mem_snoop: u64 = unsafe { ::std::mem::transmute(mem_snoop) };
2941 mem_snoop as u64
2942 });
2943 __bindgen_bitfield_unit.set(24usize, 2u8, {
2944 let mem_lock: u64 = unsafe { ::std::mem::transmute(mem_lock) };
2945 mem_lock as u64
2946 });
2947 __bindgen_bitfield_unit.set(26usize, 7u8, {
2948 let mem_dtlb: u64 = unsafe { ::std::mem::transmute(mem_dtlb) };
2949 mem_dtlb as u64
2950 });
2951 __bindgen_bitfield_unit.set(33usize, 4u8, {
2952 let mem_lvl_num: u64 = unsafe { ::std::mem::transmute(mem_lvl_num) };
2953 mem_lvl_num as u64
2954 });
2955 __bindgen_bitfield_unit.set(37usize, 1u8, {
2956 let mem_remote: u64 = unsafe { ::std::mem::transmute(mem_remote) };
2957 mem_remote as u64
2958 });
2959 __bindgen_bitfield_unit.set(38usize, 2u8, {
2960 let mem_snoopx: u64 = unsafe { ::std::mem::transmute(mem_snoopx) };
2961 mem_snoopx as u64
2962 });
2963 __bindgen_bitfield_unit.set(40usize, 3u8, {
2964 let mem_blk: u64 = unsafe { ::std::mem::transmute(mem_blk) };
2965 mem_blk as u64
2966 });
2967 __bindgen_bitfield_unit.set(43usize, 3u8, {
2968 let mem_hops: u64 = unsafe { ::std::mem::transmute(mem_hops) };
2969 mem_hops as u64
2970 });
2971 __bindgen_bitfield_unit.set(46usize, 18u8, {
2972 let mem_rsvd: u64 = unsafe { ::std::mem::transmute(mem_rsvd) };
2973 mem_rsvd as u64
2974 });
2975 __bindgen_bitfield_unit
2976 }
2977}
2978#[test]
2979fn bindgen_test_layout_perf_mem_data_src() {
2980 const UNINIT: ::std::mem::MaybeUninit<perf_mem_data_src> = ::std::mem::MaybeUninit::uninit();
2981 let ptr = UNINIT.as_ptr();
2982 assert_eq!(
2983 ::std::mem::size_of::<perf_mem_data_src>(),
2984 8usize,
2985 concat!("Size of: ", stringify!(perf_mem_data_src))
2986 );
2987 assert_eq!(
2988 ::std::mem::align_of::<perf_mem_data_src>(),
2989 8usize,
2990 concat!("Alignment of ", stringify!(perf_mem_data_src))
2991 );
2992 assert_eq!(
2993 unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
2994 0usize,
2995 concat!(
2996 "Offset of field: ",
2997 stringify!(perf_mem_data_src),
2998 "::",
2999 stringify!(val)
3000 )
3001 );
3002}
3003impl Default for perf_mem_data_src {
3004 fn default() -> Self {
3005 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3006 unsafe {
3007 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3008 s.assume_init()
3009 }
3010 }
3011}
3012impl ::std::fmt::Debug for perf_mem_data_src {
3013 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3014 write!(f, "perf_mem_data_src {{ union }}")
3015 }
3016}
3017#[repr(C)]
3018#[derive(Debug, Default, Copy, Clone)]
3019pub struct perf_branch_entry {
3020 pub from: __u64,
3021 pub to: __u64,
3022 pub _bitfield_align_1: [u32; 0],
3023 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
3024}
3025#[test]
3026fn bindgen_test_layout_perf_branch_entry() {
3027 const UNINIT: ::std::mem::MaybeUninit<perf_branch_entry> = ::std::mem::MaybeUninit::uninit();
3028 let ptr = UNINIT.as_ptr();
3029 assert_eq!(
3030 ::std::mem::size_of::<perf_branch_entry>(),
3031 24usize,
3032 concat!("Size of: ", stringify!(perf_branch_entry))
3033 );
3034 assert_eq!(
3035 ::std::mem::align_of::<perf_branch_entry>(),
3036 8usize,
3037 concat!("Alignment of ", stringify!(perf_branch_entry))
3038 );
3039 assert_eq!(
3040 unsafe { ::std::ptr::addr_of!((*ptr).from) as usize - ptr as usize },
3041 0usize,
3042 concat!(
3043 "Offset of field: ",
3044 stringify!(perf_branch_entry),
3045 "::",
3046 stringify!(from)
3047 )
3048 );
3049 assert_eq!(
3050 unsafe { ::std::ptr::addr_of!((*ptr).to) as usize - ptr as usize },
3051 8usize,
3052 concat!(
3053 "Offset of field: ",
3054 stringify!(perf_branch_entry),
3055 "::",
3056 stringify!(to)
3057 )
3058 );
3059}
3060impl perf_branch_entry {
3061 #[inline]
3062 pub fn mispred(&self) -> __u64 {
3063 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
3064 }
3065 #[inline]
3066 pub fn set_mispred(&mut self, val: __u64) {
3067 unsafe {
3068 let val: u64 = ::std::mem::transmute(val);
3069 self._bitfield_1.set(0usize, 1u8, val as u64)
3070 }
3071 }
3072 #[inline]
3073 pub fn predicted(&self) -> __u64 {
3074 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
3075 }
3076 #[inline]
3077 pub fn set_predicted(&mut self, val: __u64) {
3078 unsafe {
3079 let val: u64 = ::std::mem::transmute(val);
3080 self._bitfield_1.set(1usize, 1u8, val as u64)
3081 }
3082 }
3083 #[inline]
3084 pub fn in_tx(&self) -> __u64 {
3085 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
3086 }
3087 #[inline]
3088 pub fn set_in_tx(&mut self, val: __u64) {
3089 unsafe {
3090 let val: u64 = ::std::mem::transmute(val);
3091 self._bitfield_1.set(2usize, 1u8, val as u64)
3092 }
3093 }
3094 #[inline]
3095 pub fn abort(&self) -> __u64 {
3096 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
3097 }
3098 #[inline]
3099 pub fn set_abort(&mut self, val: __u64) {
3100 unsafe {
3101 let val: u64 = ::std::mem::transmute(val);
3102 self._bitfield_1.set(3usize, 1u8, val as u64)
3103 }
3104 }
3105 #[inline]
3106 pub fn cycles(&self) -> __u64 {
3107 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 16u8) as u64) }
3108 }
3109 #[inline]
3110 pub fn set_cycles(&mut self, val: __u64) {
3111 unsafe {
3112 let val: u64 = ::std::mem::transmute(val);
3113 self._bitfield_1.set(4usize, 16u8, val as u64)
3114 }
3115 }
3116 #[inline]
3117 pub fn type_(&self) -> __u64 {
3118 unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u64) }
3119 }
3120 #[inline]
3121 pub fn set_type(&mut self, val: __u64) {
3122 unsafe {
3123 let val: u64 = ::std::mem::transmute(val);
3124 self._bitfield_1.set(20usize, 4u8, val as u64)
3125 }
3126 }
3127 #[inline]
3128 pub fn spec(&self) -> __u64 {
3129 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
3130 }
3131 #[inline]
3132 pub fn set_spec(&mut self, val: __u64) {
3133 unsafe {
3134 let val: u64 = ::std::mem::transmute(val);
3135 self._bitfield_1.set(24usize, 2u8, val as u64)
3136 }
3137 }
3138 #[inline]
3139 pub fn new_type(&self) -> __u64 {
3140 unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 4u8) as u64) }
3141 }
3142 #[inline]
3143 pub fn set_new_type(&mut self, val: __u64) {
3144 unsafe {
3145 let val: u64 = ::std::mem::transmute(val);
3146 self._bitfield_1.set(26usize, 4u8, val as u64)
3147 }
3148 }
3149 #[inline]
3150 pub fn priv_(&self) -> __u64 {
3151 unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 3u8) as u64) }
3152 }
3153 #[inline]
3154 pub fn set_priv(&mut self, val: __u64) {
3155 unsafe {
3156 let val: u64 = ::std::mem::transmute(val);
3157 self._bitfield_1.set(30usize, 3u8, val as u64)
3158 }
3159 }
3160 #[inline]
3161 pub fn reserved(&self) -> __u64 {
3162 unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 31u8) as u64) }
3163 }
3164 #[inline]
3165 pub fn set_reserved(&mut self, val: __u64) {
3166 unsafe {
3167 let val: u64 = ::std::mem::transmute(val);
3168 self._bitfield_1.set(33usize, 31u8, val as u64)
3169 }
3170 }
3171 #[inline]
3172 #[allow(dead_code)]
3173 pub(crate) fn new_bitfield_1(
3174 mispred: __u64,
3175 predicted: __u64,
3176 in_tx: __u64,
3177 abort: __u64,
3178 cycles: __u64,
3179 type_: __u64,
3180 spec: __u64,
3181 new_type: __u64,
3182 priv_: __u64,
3183 reserved: __u64,
3184 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
3185 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
3186 __bindgen_bitfield_unit.set(0usize, 1u8, {
3187 let mispred: u64 = unsafe { ::std::mem::transmute(mispred) };
3188 mispred as u64
3189 });
3190 __bindgen_bitfield_unit.set(1usize, 1u8, {
3191 let predicted: u64 = unsafe { ::std::mem::transmute(predicted) };
3192 predicted as u64
3193 });
3194 __bindgen_bitfield_unit.set(2usize, 1u8, {
3195 let in_tx: u64 = unsafe { ::std::mem::transmute(in_tx) };
3196 in_tx as u64
3197 });
3198 __bindgen_bitfield_unit.set(3usize, 1u8, {
3199 let abort: u64 = unsafe { ::std::mem::transmute(abort) };
3200 abort as u64
3201 });
3202 __bindgen_bitfield_unit.set(4usize, 16u8, {
3203 let cycles: u64 = unsafe { ::std::mem::transmute(cycles) };
3204 cycles as u64
3205 });
3206 __bindgen_bitfield_unit.set(20usize, 4u8, {
3207 let type_: u64 = unsafe { ::std::mem::transmute(type_) };
3208 type_ as u64
3209 });
3210 __bindgen_bitfield_unit.set(24usize, 2u8, {
3211 let spec: u64 = unsafe { ::std::mem::transmute(spec) };
3212 spec as u64
3213 });
3214 __bindgen_bitfield_unit.set(26usize, 4u8, {
3215 let new_type: u64 = unsafe { ::std::mem::transmute(new_type) };
3216 new_type as u64
3217 });
3218 __bindgen_bitfield_unit.set(30usize, 3u8, {
3219 let priv_: u64 = unsafe { ::std::mem::transmute(priv_) };
3220 priv_ as u64
3221 });
3222 __bindgen_bitfield_unit.set(33usize, 31u8, {
3223 let reserved: u64 = unsafe { ::std::mem::transmute(reserved) };
3224 reserved as u64
3225 });
3226 __bindgen_bitfield_unit
3227 }
3228}
3229#[repr(C)]
3230#[derive(Copy, Clone)]
3231pub union perf_sample_weight {
3232 pub full: __u64,
3233 pub __bindgen_anon_1: perf_sample_weight__bindgen_ty_1,
3234}
3235#[repr(C)]
3236#[derive(Debug, Default, Copy, Clone)]
3237pub struct perf_sample_weight__bindgen_ty_1 {
3238 pub var1_dw: __u32,
3239 pub var2_w: __u16,
3240 pub var3_w: __u16,
3241}
3242#[test]
3243fn bindgen_test_layout_perf_sample_weight__bindgen_ty_1() {
3244 const UNINIT: ::std::mem::MaybeUninit<perf_sample_weight__bindgen_ty_1> =
3245 ::std::mem::MaybeUninit::uninit();
3246 let ptr = UNINIT.as_ptr();
3247 assert_eq!(
3248 ::std::mem::size_of::<perf_sample_weight__bindgen_ty_1>(),
3249 8usize,
3250 concat!("Size of: ", stringify!(perf_sample_weight__bindgen_ty_1))
3251 );
3252 assert_eq!(
3253 ::std::mem::align_of::<perf_sample_weight__bindgen_ty_1>(),
3254 4usize,
3255 concat!(
3256 "Alignment of ",
3257 stringify!(perf_sample_weight__bindgen_ty_1)
3258 )
3259 );
3260 assert_eq!(
3261 unsafe { ::std::ptr::addr_of!((*ptr).var1_dw) as usize - ptr as usize },
3262 0usize,
3263 concat!(
3264 "Offset of field: ",
3265 stringify!(perf_sample_weight__bindgen_ty_1),
3266 "::",
3267 stringify!(var1_dw)
3268 )
3269 );
3270 assert_eq!(
3271 unsafe { ::std::ptr::addr_of!((*ptr).var2_w) as usize - ptr as usize },
3272 4usize,
3273 concat!(
3274 "Offset of field: ",
3275 stringify!(perf_sample_weight__bindgen_ty_1),
3276 "::",
3277 stringify!(var2_w)
3278 )
3279 );
3280 assert_eq!(
3281 unsafe { ::std::ptr::addr_of!((*ptr).var3_w) as usize - ptr as usize },
3282 6usize,
3283 concat!(
3284 "Offset of field: ",
3285 stringify!(perf_sample_weight__bindgen_ty_1),
3286 "::",
3287 stringify!(var3_w)
3288 )
3289 );
3290}
3291#[test]
3292fn bindgen_test_layout_perf_sample_weight() {
3293 const UNINIT: ::std::mem::MaybeUninit<perf_sample_weight> = ::std::mem::MaybeUninit::uninit();
3294 let ptr = UNINIT.as_ptr();
3295 assert_eq!(
3296 ::std::mem::size_of::<perf_sample_weight>(),
3297 8usize,
3298 concat!("Size of: ", stringify!(perf_sample_weight))
3299 );
3300 assert_eq!(
3301 ::std::mem::align_of::<perf_sample_weight>(),
3302 8usize,
3303 concat!("Alignment of ", stringify!(perf_sample_weight))
3304 );
3305 assert_eq!(
3306 unsafe { ::std::ptr::addr_of!((*ptr).full) as usize - ptr as usize },
3307 0usize,
3308 concat!(
3309 "Offset of field: ",
3310 stringify!(perf_sample_weight),
3311 "::",
3312 stringify!(full)
3313 )
3314 );
3315}
3316impl Default for perf_sample_weight {
3317 fn default() -> Self {
3318 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3319 unsafe {
3320 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3321 s.assume_init()
3322 }
3323 }
3324}
3325impl ::std::fmt::Debug for perf_sample_weight {
3326 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3327 write!(f, "perf_sample_weight {{ union }}")
3328 }
3329}
3330pub const HW_BREAKPOINT_LEN_1: _bindgen_ty_7 = 1;
3331pub const HW_BREAKPOINT_LEN_2: _bindgen_ty_7 = 2;
3332pub const HW_BREAKPOINT_LEN_3: _bindgen_ty_7 = 3;
3333pub const HW_BREAKPOINT_LEN_4: _bindgen_ty_7 = 4;
3334pub const HW_BREAKPOINT_LEN_5: _bindgen_ty_7 = 5;
3335pub const HW_BREAKPOINT_LEN_6: _bindgen_ty_7 = 6;
3336pub const HW_BREAKPOINT_LEN_7: _bindgen_ty_7 = 7;
3337pub const HW_BREAKPOINT_LEN_8: _bindgen_ty_7 = 8;
3338pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
3339pub const HW_BREAKPOINT_EMPTY: _bindgen_ty_8 = 0;
3340pub const HW_BREAKPOINT_R: _bindgen_ty_8 = 1;
3341pub const HW_BREAKPOINT_W: _bindgen_ty_8 = 2;
3342pub const HW_BREAKPOINT_RW: _bindgen_ty_8 = 3;
3343pub const HW_BREAKPOINT_X: _bindgen_ty_8 = 4;
3344pub const HW_BREAKPOINT_INVALID: _bindgen_ty_8 = 7;
3345pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
3346pub const PERF_REG_X86_AX: perf_event_x86_regs = 0;
3347pub const PERF_REG_X86_BX: perf_event_x86_regs = 1;
3348pub const PERF_REG_X86_CX: perf_event_x86_regs = 2;
3349pub const PERF_REG_X86_DX: perf_event_x86_regs = 3;
3350pub const PERF_REG_X86_SI: perf_event_x86_regs = 4;
3351pub const PERF_REG_X86_DI: perf_event_x86_regs = 5;
3352pub const PERF_REG_X86_BP: perf_event_x86_regs = 6;
3353pub const PERF_REG_X86_SP: perf_event_x86_regs = 7;
3354pub const PERF_REG_X86_IP: perf_event_x86_regs = 8;
3355pub const PERF_REG_X86_FLAGS: perf_event_x86_regs = 9;
3356pub const PERF_REG_X86_CS: perf_event_x86_regs = 10;
3357pub const PERF_REG_X86_SS: perf_event_x86_regs = 11;
3358pub const PERF_REG_X86_DS: perf_event_x86_regs = 12;
3359pub const PERF_REG_X86_ES: perf_event_x86_regs = 13;
3360pub const PERF_REG_X86_FS: perf_event_x86_regs = 14;
3361pub const PERF_REG_X86_GS: perf_event_x86_regs = 15;
3362pub const PERF_REG_X86_R8: perf_event_x86_regs = 16;
3363pub const PERF_REG_X86_R9: perf_event_x86_regs = 17;
3364pub const PERF_REG_X86_R10: perf_event_x86_regs = 18;
3365pub const PERF_REG_X86_R11: perf_event_x86_regs = 19;
3366pub const PERF_REG_X86_R12: perf_event_x86_regs = 20;
3367pub const PERF_REG_X86_R13: perf_event_x86_regs = 21;
3368pub const PERF_REG_X86_R14: perf_event_x86_regs = 22;
3369pub const PERF_REG_X86_R15: perf_event_x86_regs = 23;
3370pub const PERF_REG_X86_32_MAX: perf_event_x86_regs = 16;
3371pub const PERF_REG_X86_64_MAX: perf_event_x86_regs = 24;
3372pub const PERF_REG_X86_XMM0: perf_event_x86_regs = 32;
3373pub const PERF_REG_X86_XMM1: perf_event_x86_regs = 34;
3374pub const PERF_REG_X86_XMM2: perf_event_x86_regs = 36;
3375pub const PERF_REG_X86_XMM3: perf_event_x86_regs = 38;
3376pub const PERF_REG_X86_XMM4: perf_event_x86_regs = 40;
3377pub const PERF_REG_X86_XMM5: perf_event_x86_regs = 42;
3378pub const PERF_REG_X86_XMM6: perf_event_x86_regs = 44;
3379pub const PERF_REG_X86_XMM7: perf_event_x86_regs = 46;
3380pub const PERF_REG_X86_XMM8: perf_event_x86_regs = 48;
3381pub const PERF_REG_X86_XMM9: perf_event_x86_regs = 50;
3382pub const PERF_REG_X86_XMM10: perf_event_x86_regs = 52;
3383pub const PERF_REG_X86_XMM11: perf_event_x86_regs = 54;
3384pub const PERF_REG_X86_XMM12: perf_event_x86_regs = 56;
3385pub const PERF_REG_X86_XMM13: perf_event_x86_regs = 58;
3386pub const PERF_REG_X86_XMM14: perf_event_x86_regs = 60;
3387pub const PERF_REG_X86_XMM15: perf_event_x86_regs = 62;
3388pub const PERF_REG_X86_XMM_MAX: perf_event_x86_regs = 64;
3389pub type perf_event_x86_regs = ::std::os::raw::c_uint;
3390pub const ENABLE: perf_event_ioctls = 9216;
3391pub const DISABLE: perf_event_ioctls = 9217;
3392pub const REFRESH: perf_event_ioctls = 9218;
3393pub const RESET: perf_event_ioctls = 9219;
3394pub const PERIOD: perf_event_ioctls = 1074275332;
3395pub const SET_OUTPUT: perf_event_ioctls = 9221;
3396pub const SET_FILTER: perf_event_ioctls = 1074275334;
3397pub const ID: perf_event_ioctls = 2148017159;
3398pub const SET_BPF: perf_event_ioctls = 1074013192;
3399pub const PAUSE_OUTPUT: perf_event_ioctls = 1074013193;
3400pub const QUERY_BPF: perf_event_ioctls = 3221758986;
3401pub const MODIFY_ATTRIBUTES: perf_event_ioctls = 1074275339;
3402pub type perf_event_ioctls = ::std::os::raw::c_uint;