#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val {
*byte |= mask;
} else {
*byte &= !mask;
}
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
}
pub const PFM_PLM0: i32 = 1;
pub const PFM_PLM1: i32 = 2;
pub const PFM_PLM2: i32 = 4;
pub const PFM_PLM3: i32 = 8;
pub const PFM_PLMH: i32 = 16;
pub const PFM_PMU_INFO_ABI0: i32 = 56;
pub const PFM_EVENT_INFO_ABI0: i32 = 64;
pub const PFM_ATTR_INFO_ABI0: i32 = 64;
pub const PFM_RAW_ENCODE_ABI0: i32 = 32;
pub const PFM_SUCCESS: i32 = 0;
pub const PFM_ERR_NOTSUPP: i32 = -1;
pub const PFM_ERR_INVAL: i32 = -2;
pub const PFM_ERR_NOINIT: i32 = -3;
pub const PFM_ERR_NOTFOUND: i32 = -4;
pub const PFM_ERR_FEATCOMB: i32 = -5;
pub const PFM_ERR_UMASK: i32 = -6;
pub const PFM_ERR_NOMEM: i32 = -7;
pub const PFM_ERR_ATTR: i32 = -8;
pub const PFM_ERR_ATTR_VAL: i32 = -9;
pub const PFM_ERR_ATTR_SET: i32 = -10;
pub const PFM_ERR_TOOMANY: i32 = -11;
pub const PFM_ERR_TOOSMALL: i32 = -12;
pub const PFM_PERF_ENCODE_ABI0: i32 = 40;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type size_t = ::std::os::raw::c_ulong;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
_unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
pub _flags: ::std::os::raw::c_int,
pub _IO_read_ptr: *mut ::std::os::raw::c_char,
pub _IO_read_end: *mut ::std::os::raw::c_char,
pub _IO_read_base: *mut ::std::os::raw::c_char,
pub _IO_write_base: *mut ::std::os::raw::c_char,
pub _IO_write_ptr: *mut ::std::os::raw::c_char,
pub _IO_write_end: *mut ::std::os::raw::c_char,
pub _IO_buf_base: *mut ::std::os::raw::c_char,
pub _IO_buf_end: *mut ::std::os::raw::c_char,
pub _IO_save_base: *mut ::std::os::raw::c_char,
pub _IO_backup_base: *mut ::std::os::raw::c_char,
pub _IO_save_end: *mut ::std::os::raw::c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: ::std::os::raw::c_int,
pub _flags2: ::std::os::raw::c_int,
pub _old_offset: __off_t,
pub _cur_column: ::std::os::raw::c_ushort,
pub _vtable_offset: ::std::os::raw::c_schar,
pub _shortbuf: [::std::os::raw::c_char; 1usize],
pub _lock: *mut _IO_lock_t,
pub _offset: __off64_t,
pub _codecvt: *mut _IO_codecvt,
pub _wide_data: *mut _IO_wide_data,
pub _freeres_list: *mut _IO_FILE,
pub _freeres_buf: *mut ::std::os::raw::c_void,
pub __pad5: size_t,
pub _mode: ::std::os::raw::c_int,
pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[test]
fn bindgen_test_layout__IO_FILE() {
assert_eq!(
::std::mem::size_of::<_IO_FILE>(),
216usize,
concat!("Size of: ", stringify!(_IO_FILE))
);
assert_eq!(
::std::mem::align_of::<_IO_FILE>(),
8usize,
concat!("Alignment of ", stringify!(_IO_FILE))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_backup_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_markers)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_chain)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_fileno)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_old_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_cur_column)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
130usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_vtable_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
131usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_shortbuf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_lock)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_codecvt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_wide_data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_list)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_buf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(__pad5)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_mode)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
196usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_unused2)
)
);
}
pub const pfm_pmu_t_PFM_PMU_NONE: pfm_pmu_t = 0;
pub const pfm_pmu_t_PFM_PMU_GEN_IA64: pfm_pmu_t = 1;
pub const pfm_pmu_t_PFM_PMU_ITANIUM: pfm_pmu_t = 2;
pub const pfm_pmu_t_PFM_PMU_ITANIUM2: pfm_pmu_t = 3;
pub const pfm_pmu_t_PFM_PMU_MONTECITO: pfm_pmu_t = 4;
pub const pfm_pmu_t_PFM_PMU_AMD64: pfm_pmu_t = 5;
pub const pfm_pmu_t_PFM_PMU_I386_P6: pfm_pmu_t = 6;
pub const pfm_pmu_t_PFM_PMU_INTEL_NETBURST: pfm_pmu_t = 7;
pub const pfm_pmu_t_PFM_PMU_INTEL_NETBURST_P: pfm_pmu_t = 8;
pub const pfm_pmu_t_PFM_PMU_COREDUO: pfm_pmu_t = 9;
pub const pfm_pmu_t_PFM_PMU_I386_PM: pfm_pmu_t = 10;
pub const pfm_pmu_t_PFM_PMU_INTEL_CORE: pfm_pmu_t = 11;
pub const pfm_pmu_t_PFM_PMU_INTEL_PPRO: pfm_pmu_t = 12;
pub const pfm_pmu_t_PFM_PMU_INTEL_PII: pfm_pmu_t = 13;
pub const pfm_pmu_t_PFM_PMU_INTEL_ATOM: pfm_pmu_t = 14;
pub const pfm_pmu_t_PFM_PMU_INTEL_NHM: pfm_pmu_t = 15;
pub const pfm_pmu_t_PFM_PMU_INTEL_NHM_EX: pfm_pmu_t = 16;
pub const pfm_pmu_t_PFM_PMU_INTEL_NHM_UNC: pfm_pmu_t = 17;
pub const pfm_pmu_t_PFM_PMU_INTEL_X86_ARCH: pfm_pmu_t = 18;
pub const pfm_pmu_t_PFM_PMU_MIPS_20KC: pfm_pmu_t = 19;
pub const pfm_pmu_t_PFM_PMU_MIPS_24K: pfm_pmu_t = 20;
pub const pfm_pmu_t_PFM_PMU_MIPS_25KF: pfm_pmu_t = 21;
pub const pfm_pmu_t_PFM_PMU_MIPS_34K: pfm_pmu_t = 22;
pub const pfm_pmu_t_PFM_PMU_MIPS_5KC: pfm_pmu_t = 23;
pub const pfm_pmu_t_PFM_PMU_MIPS_74K: pfm_pmu_t = 24;
pub const pfm_pmu_t_PFM_PMU_MIPS_R10000: pfm_pmu_t = 25;
pub const pfm_pmu_t_PFM_PMU_MIPS_R12000: pfm_pmu_t = 26;
pub const pfm_pmu_t_PFM_PMU_MIPS_RM7000: pfm_pmu_t = 27;
pub const pfm_pmu_t_PFM_PMU_MIPS_RM9000: pfm_pmu_t = 28;
pub const pfm_pmu_t_PFM_PMU_MIPS_SB1: pfm_pmu_t = 29;
pub const pfm_pmu_t_PFM_PMU_MIPS_VR5432: pfm_pmu_t = 30;
pub const pfm_pmu_t_PFM_PMU_MIPS_VR5500: pfm_pmu_t = 31;
pub const pfm_pmu_t_PFM_PMU_MIPS_ICE9A: pfm_pmu_t = 32;
pub const pfm_pmu_t_PFM_PMU_MIPS_ICE9B: pfm_pmu_t = 33;
pub const pfm_pmu_t_PFM_PMU_POWERPC: pfm_pmu_t = 34;
pub const pfm_pmu_t_PFM_PMU_CELL: pfm_pmu_t = 35;
pub const pfm_pmu_t_PFM_PMU_SPARC_ULTRA12: pfm_pmu_t = 36;
pub const pfm_pmu_t_PFM_PMU_SPARC_ULTRA3: pfm_pmu_t = 37;
pub const pfm_pmu_t_PFM_PMU_SPARC_ULTRA3I: pfm_pmu_t = 38;
pub const pfm_pmu_t_PFM_PMU_SPARC_ULTRA3PLUS: pfm_pmu_t = 39;
pub const pfm_pmu_t_PFM_PMU_SPARC_ULTRA4PLUS: pfm_pmu_t = 40;
pub const pfm_pmu_t_PFM_PMU_SPARC_NIAGARA1: pfm_pmu_t = 41;
pub const pfm_pmu_t_PFM_PMU_SPARC_NIAGARA2: pfm_pmu_t = 42;
pub const pfm_pmu_t_PFM_PMU_PPC970: pfm_pmu_t = 43;
pub const pfm_pmu_t_PFM_PMU_PPC970MP: pfm_pmu_t = 44;
pub const pfm_pmu_t_PFM_PMU_POWER3: pfm_pmu_t = 45;
pub const pfm_pmu_t_PFM_PMU_POWER4: pfm_pmu_t = 46;
pub const pfm_pmu_t_PFM_PMU_POWER5: pfm_pmu_t = 47;
pub const pfm_pmu_t_PFM_PMU_POWER5p: pfm_pmu_t = 48;
pub const pfm_pmu_t_PFM_PMU_POWER6: pfm_pmu_t = 49;
pub const pfm_pmu_t_PFM_PMU_POWER7: pfm_pmu_t = 50;
pub const pfm_pmu_t_PFM_PMU_PERF_EVENT: pfm_pmu_t = 51;
pub const pfm_pmu_t_PFM_PMU_INTEL_WSM: pfm_pmu_t = 52;
pub const pfm_pmu_t_PFM_PMU_INTEL_WSM_DP: pfm_pmu_t = 53;
pub const pfm_pmu_t_PFM_PMU_INTEL_WSM_UNC: pfm_pmu_t = 54;
pub const pfm_pmu_t_PFM_PMU_AMD64_K7: pfm_pmu_t = 55;
pub const pfm_pmu_t_PFM_PMU_AMD64_K8_REVB: pfm_pmu_t = 56;
pub const pfm_pmu_t_PFM_PMU_AMD64_K8_REVC: pfm_pmu_t = 57;
pub const pfm_pmu_t_PFM_PMU_AMD64_K8_REVD: pfm_pmu_t = 58;
pub const pfm_pmu_t_PFM_PMU_AMD64_K8_REVE: pfm_pmu_t = 59;
pub const pfm_pmu_t_PFM_PMU_AMD64_K8_REVF: pfm_pmu_t = 60;
pub const pfm_pmu_t_PFM_PMU_AMD64_K8_REVG: pfm_pmu_t = 61;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM10H_BARCELONA: pfm_pmu_t = 62;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM10H_SHANGHAI: pfm_pmu_t = 63;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM10H_ISTANBUL: pfm_pmu_t = 64;
pub const pfm_pmu_t_PFM_PMU_ARM_CORTEX_A8: pfm_pmu_t = 65;
pub const pfm_pmu_t_PFM_PMU_ARM_CORTEX_A9: pfm_pmu_t = 66;
pub const pfm_pmu_t_PFM_PMU_TORRENT: pfm_pmu_t = 67;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNB: pfm_pmu_t = 68;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM14H_BOBCAT: pfm_pmu_t = 69;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM15H_INTERLAGOS: pfm_pmu_t = 70;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNB_EP: pfm_pmu_t = 71;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM12H_LLANO: pfm_pmu_t = 72;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM11H_TURION: pfm_pmu_t = 73;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVB: pfm_pmu_t = 74;
pub const pfm_pmu_t_PFM_PMU_ARM_CORTEX_A15: pfm_pmu_t = 75;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNB_UNC_CB0: pfm_pmu_t = 76;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNB_UNC_CB1: pfm_pmu_t = 77;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNB_UNC_CB2: pfm_pmu_t = 78;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNB_UNC_CB3: pfm_pmu_t = 79;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB0: pfm_pmu_t = 80;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB1: pfm_pmu_t = 81;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB2: pfm_pmu_t = 82;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB3: pfm_pmu_t = 83;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB4: pfm_pmu_t = 84;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB5: pfm_pmu_t = 85;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB6: pfm_pmu_t = 86;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_CB7: pfm_pmu_t = 87;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_HA: pfm_pmu_t = 88;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_IMC0: pfm_pmu_t = 89;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_IMC1: pfm_pmu_t = 90;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_IMC2: pfm_pmu_t = 91;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_IMC3: pfm_pmu_t = 92;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_PCU: pfm_pmu_t = 93;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_QPI0: pfm_pmu_t = 94;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_QPI1: pfm_pmu_t = 95;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_UBOX: pfm_pmu_t = 96;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_R2PCIE: pfm_pmu_t = 97;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_R3QPI0: pfm_pmu_t = 98;
pub const pfm_pmu_t_PFM_PMU_INTEL_SNBEP_UNC_R3QPI1: pfm_pmu_t = 99;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNC: pfm_pmu_t = 100;
pub const pfm_pmu_t_PFM_PMU_S390X_CPUM_CF: pfm_pmu_t = 101;
pub const pfm_pmu_t_PFM_PMU_ARM_1176: pfm_pmu_t = 102;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVB_EP: pfm_pmu_t = 103;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSW: pfm_pmu_t = 104;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVB_UNC_CB0: pfm_pmu_t = 105;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVB_UNC_CB1: pfm_pmu_t = 106;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVB_UNC_CB2: pfm_pmu_t = 107;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVB_UNC_CB3: pfm_pmu_t = 108;
pub const pfm_pmu_t_PFM_PMU_POWER8: pfm_pmu_t = 109;
pub const pfm_pmu_t_PFM_PMU_INTEL_RAPL: pfm_pmu_t = 110;
pub const pfm_pmu_t_PFM_PMU_INTEL_SLM: pfm_pmu_t = 111;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM15H_NB: pfm_pmu_t = 112;
pub const pfm_pmu_t_PFM_PMU_ARM_QCOM_KRAIT: pfm_pmu_t = 113;
pub const pfm_pmu_t_PFM_PMU_PERF_EVENT_RAW: pfm_pmu_t = 114;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB0: pfm_pmu_t = 115;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB1: pfm_pmu_t = 116;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB2: pfm_pmu_t = 117;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB3: pfm_pmu_t = 118;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB4: pfm_pmu_t = 119;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB5: pfm_pmu_t = 120;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB6: pfm_pmu_t = 121;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB7: pfm_pmu_t = 122;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB8: pfm_pmu_t = 123;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB9: pfm_pmu_t = 124;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB10: pfm_pmu_t = 125;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB11: pfm_pmu_t = 126;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB12: pfm_pmu_t = 127;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB13: pfm_pmu_t = 128;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_CB14: pfm_pmu_t = 129;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_HA0: pfm_pmu_t = 130;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_HA1: pfm_pmu_t = 131;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC0: pfm_pmu_t = 132;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC1: pfm_pmu_t = 133;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC2: pfm_pmu_t = 134;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC3: pfm_pmu_t = 135;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC4: pfm_pmu_t = 136;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC5: pfm_pmu_t = 137;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC6: pfm_pmu_t = 138;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IMC7: pfm_pmu_t = 139;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_PCU: pfm_pmu_t = 140;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_QPI0: pfm_pmu_t = 141;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_QPI1: pfm_pmu_t = 142;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_QPI2: pfm_pmu_t = 143;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_UBOX: pfm_pmu_t = 144;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_R2PCIE: pfm_pmu_t = 145;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_R3QPI0: pfm_pmu_t = 146;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_R3QPI1: pfm_pmu_t = 147;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_R3QPI2: pfm_pmu_t = 148;
pub const pfm_pmu_t_PFM_PMU_INTEL_IVBEP_UNC_IRP: pfm_pmu_t = 149;
pub const pfm_pmu_t_PFM_PMU_S390X_CPUM_SF: pfm_pmu_t = 150;
pub const pfm_pmu_t_PFM_PMU_ARM_CORTEX_A57: pfm_pmu_t = 151;
pub const pfm_pmu_t_PFM_PMU_ARM_CORTEX_A53: pfm_pmu_t = 152;
pub const pfm_pmu_t_PFM_PMU_ARM_CORTEX_A7: pfm_pmu_t = 153;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSW_EP: pfm_pmu_t = 154;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDW: pfm_pmu_t = 155;
pub const pfm_pmu_t_PFM_PMU_ARM_XGENE: pfm_pmu_t = 156;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB0: pfm_pmu_t = 157;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB1: pfm_pmu_t = 158;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB2: pfm_pmu_t = 159;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB3: pfm_pmu_t = 160;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB4: pfm_pmu_t = 161;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB5: pfm_pmu_t = 162;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB6: pfm_pmu_t = 163;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB7: pfm_pmu_t = 164;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB8: pfm_pmu_t = 165;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB9: pfm_pmu_t = 166;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB10: pfm_pmu_t = 167;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB11: pfm_pmu_t = 168;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB12: pfm_pmu_t = 169;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB13: pfm_pmu_t = 170;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB14: pfm_pmu_t = 171;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB15: pfm_pmu_t = 172;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB16: pfm_pmu_t = 173;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_CB17: pfm_pmu_t = 174;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_HA0: pfm_pmu_t = 175;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_HA1: pfm_pmu_t = 176;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC0: pfm_pmu_t = 177;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC1: pfm_pmu_t = 178;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC2: pfm_pmu_t = 179;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC3: pfm_pmu_t = 180;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC4: pfm_pmu_t = 181;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC5: pfm_pmu_t = 182;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC6: pfm_pmu_t = 183;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IMC7: pfm_pmu_t = 184;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_PCU: pfm_pmu_t = 185;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_QPI0: pfm_pmu_t = 186;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_QPI1: pfm_pmu_t = 187;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_UBOX: pfm_pmu_t = 188;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_R2PCIE: pfm_pmu_t = 189;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_R3QPI0: pfm_pmu_t = 190;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_R3QPI1: pfm_pmu_t = 191;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_R3QPI2: pfm_pmu_t = 192;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_IRP: pfm_pmu_t = 193;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_SB0: pfm_pmu_t = 194;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_SB1: pfm_pmu_t = 195;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_SB2: pfm_pmu_t = 196;
pub const pfm_pmu_t_PFM_PMU_INTEL_HSWEP_UNC_SB3: pfm_pmu_t = 197;
pub const pfm_pmu_t_PFM_PMU_POWERPC_NEST_MCS_READ_BW: pfm_pmu_t = 198;
pub const pfm_pmu_t_PFM_PMU_POWERPC_NEST_MCS_WRITE_BW: pfm_pmu_t = 199;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKL: pfm_pmu_t = 200;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDW_EP: pfm_pmu_t = 201;
pub const pfm_pmu_t_PFM_PMU_INTEL_GLM: pfm_pmu_t = 202;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL: pfm_pmu_t = 203;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC0: pfm_pmu_t = 204;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC1: pfm_pmu_t = 205;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC2: pfm_pmu_t = 206;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC3: pfm_pmu_t = 207;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC4: pfm_pmu_t = 208;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC5: pfm_pmu_t = 209;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC_UCLK0: pfm_pmu_t = 210;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_IMC_UCLK1: pfm_pmu_t = 211;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK0: pfm_pmu_t = 212;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK1: pfm_pmu_t = 213;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK2: pfm_pmu_t = 214;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK3: pfm_pmu_t = 215;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK4: pfm_pmu_t = 216;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK5: pfm_pmu_t = 217;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK6: pfm_pmu_t = 218;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_ECLK7: pfm_pmu_t = 219;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK0: pfm_pmu_t = 220;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK1: pfm_pmu_t = 221;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK2: pfm_pmu_t = 222;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK3: pfm_pmu_t = 223;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK4: pfm_pmu_t = 224;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK5: pfm_pmu_t = 225;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK6: pfm_pmu_t = 226;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_EDC_UCLK7: pfm_pmu_t = 227;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA0: pfm_pmu_t = 228;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA1: pfm_pmu_t = 229;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA2: pfm_pmu_t = 230;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA3: pfm_pmu_t = 231;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA4: pfm_pmu_t = 232;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA5: pfm_pmu_t = 233;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA6: pfm_pmu_t = 234;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA7: pfm_pmu_t = 235;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA8: pfm_pmu_t = 236;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA9: pfm_pmu_t = 237;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA10: pfm_pmu_t = 238;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA11: pfm_pmu_t = 239;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA12: pfm_pmu_t = 240;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA13: pfm_pmu_t = 241;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA14: pfm_pmu_t = 242;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA15: pfm_pmu_t = 243;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA16: pfm_pmu_t = 244;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA17: pfm_pmu_t = 245;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA18: pfm_pmu_t = 246;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA19: pfm_pmu_t = 247;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA20: pfm_pmu_t = 248;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA21: pfm_pmu_t = 249;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA22: pfm_pmu_t = 250;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA23: pfm_pmu_t = 251;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA24: pfm_pmu_t = 252;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA25: pfm_pmu_t = 253;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA26: pfm_pmu_t = 254;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA27: pfm_pmu_t = 255;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA28: pfm_pmu_t = 256;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA29: pfm_pmu_t = 257;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA30: pfm_pmu_t = 258;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA31: pfm_pmu_t = 259;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA32: pfm_pmu_t = 260;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA33: pfm_pmu_t = 261;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA34: pfm_pmu_t = 262;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA35: pfm_pmu_t = 263;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA36: pfm_pmu_t = 264;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_CHA37: pfm_pmu_t = 265;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_UBOX: pfm_pmu_t = 266;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNL_UNC_M2PCIE: pfm_pmu_t = 267;
pub const pfm_pmu_t_PFM_PMU_POWER9: pfm_pmu_t = 268;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB0: pfm_pmu_t = 269;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB1: pfm_pmu_t = 270;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB2: pfm_pmu_t = 271;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB3: pfm_pmu_t = 272;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB4: pfm_pmu_t = 273;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB5: pfm_pmu_t = 274;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB6: pfm_pmu_t = 275;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB7: pfm_pmu_t = 276;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB8: pfm_pmu_t = 277;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB9: pfm_pmu_t = 278;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB10: pfm_pmu_t = 279;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB11: pfm_pmu_t = 280;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB12: pfm_pmu_t = 281;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB13: pfm_pmu_t = 282;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB14: pfm_pmu_t = 283;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB15: pfm_pmu_t = 284;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB16: pfm_pmu_t = 285;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB17: pfm_pmu_t = 286;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB18: pfm_pmu_t = 287;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB19: pfm_pmu_t = 288;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB20: pfm_pmu_t = 289;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB21: pfm_pmu_t = 290;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB22: pfm_pmu_t = 291;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_CB23: pfm_pmu_t = 292;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_HA0: pfm_pmu_t = 293;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_HA1: pfm_pmu_t = 294;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC0: pfm_pmu_t = 295;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC1: pfm_pmu_t = 296;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC2: pfm_pmu_t = 297;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC3: pfm_pmu_t = 298;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC4: pfm_pmu_t = 299;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC5: pfm_pmu_t = 300;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC6: pfm_pmu_t = 301;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IMC7: pfm_pmu_t = 302;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_PCU: pfm_pmu_t = 303;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_QPI0: pfm_pmu_t = 304;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_QPI1: pfm_pmu_t = 305;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_QPI2: pfm_pmu_t = 306;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_UBOX: pfm_pmu_t = 307;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_R2PCIE: pfm_pmu_t = 308;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_R3QPI0: pfm_pmu_t = 309;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_R3QPI1: pfm_pmu_t = 310;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_R3QPI2: pfm_pmu_t = 311;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_IRP: pfm_pmu_t = 312;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_SB0: pfm_pmu_t = 313;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_SB1: pfm_pmu_t = 314;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_SB2: pfm_pmu_t = 315;
pub const pfm_pmu_t_PFM_PMU_INTEL_BDX_UNC_SB3: pfm_pmu_t = 316;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM17H: pfm_pmu_t = 317;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM16H: pfm_pmu_t = 318;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX: pfm_pmu_t = 319;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA0: pfm_pmu_t = 320;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA1: pfm_pmu_t = 321;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA2: pfm_pmu_t = 322;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA3: pfm_pmu_t = 323;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA4: pfm_pmu_t = 324;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA5: pfm_pmu_t = 325;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA6: pfm_pmu_t = 326;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA7: pfm_pmu_t = 327;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA8: pfm_pmu_t = 328;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA9: pfm_pmu_t = 329;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA10: pfm_pmu_t = 330;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA11: pfm_pmu_t = 331;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA12: pfm_pmu_t = 332;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA13: pfm_pmu_t = 333;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA14: pfm_pmu_t = 334;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA15: pfm_pmu_t = 335;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA16: pfm_pmu_t = 336;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA17: pfm_pmu_t = 337;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA18: pfm_pmu_t = 338;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA19: pfm_pmu_t = 339;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA20: pfm_pmu_t = 340;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA21: pfm_pmu_t = 341;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA22: pfm_pmu_t = 342;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA23: pfm_pmu_t = 343;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA24: pfm_pmu_t = 344;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA25: pfm_pmu_t = 345;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA26: pfm_pmu_t = 346;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_CHA27: pfm_pmu_t = 347;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IIO0: pfm_pmu_t = 348;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IIO1: pfm_pmu_t = 349;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IIO2: pfm_pmu_t = 350;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IIO3: pfm_pmu_t = 351;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IIO4: pfm_pmu_t = 352;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IIO5: pfm_pmu_t = 353;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IMC0: pfm_pmu_t = 354;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IMC1: pfm_pmu_t = 355;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IMC2: pfm_pmu_t = 356;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IMC3: pfm_pmu_t = 357;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IMC4: pfm_pmu_t = 358;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IMC5: pfm_pmu_t = 359;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_IRP: pfm_pmu_t = 360;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_M2M0: pfm_pmu_t = 361;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_M2M1: pfm_pmu_t = 362;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_M3UPI0: pfm_pmu_t = 363;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_M3UPI1: pfm_pmu_t = 364;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_M3UPI2: pfm_pmu_t = 365;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_PCU: pfm_pmu_t = 366;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_UBOX: pfm_pmu_t = 367;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_UPI0: pfm_pmu_t = 368;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_UPI1: pfm_pmu_t = 369;
pub const pfm_pmu_t_PFM_PMU_INTEL_SKX_UNC_UPI2: pfm_pmu_t = 370;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM: pfm_pmu_t = 371;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC0: pfm_pmu_t = 372;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC1: pfm_pmu_t = 373;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC2: pfm_pmu_t = 374;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC3: pfm_pmu_t = 375;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC4: pfm_pmu_t = 376;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC5: pfm_pmu_t = 377;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC_UCLK0: pfm_pmu_t = 378;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_IMC_UCLK1: pfm_pmu_t = 379;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK0: pfm_pmu_t = 380;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK1: pfm_pmu_t = 381;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK2: pfm_pmu_t = 382;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK3: pfm_pmu_t = 383;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK4: pfm_pmu_t = 384;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK5: pfm_pmu_t = 385;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK6: pfm_pmu_t = 386;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_ECLK7: pfm_pmu_t = 387;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK0: pfm_pmu_t = 388;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK1: pfm_pmu_t = 389;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK2: pfm_pmu_t = 390;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK3: pfm_pmu_t = 391;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK4: pfm_pmu_t = 392;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK5: pfm_pmu_t = 393;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK6: pfm_pmu_t = 394;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_EDC_UCLK7: pfm_pmu_t = 395;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA0: pfm_pmu_t = 396;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA1: pfm_pmu_t = 397;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA2: pfm_pmu_t = 398;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA3: pfm_pmu_t = 399;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA4: pfm_pmu_t = 400;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA5: pfm_pmu_t = 401;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA6: pfm_pmu_t = 402;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA7: pfm_pmu_t = 403;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA8: pfm_pmu_t = 404;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA9: pfm_pmu_t = 405;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA10: pfm_pmu_t = 406;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA11: pfm_pmu_t = 407;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA12: pfm_pmu_t = 408;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA13: pfm_pmu_t = 409;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA14: pfm_pmu_t = 410;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA15: pfm_pmu_t = 411;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA16: pfm_pmu_t = 412;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA17: pfm_pmu_t = 413;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA18: pfm_pmu_t = 414;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA19: pfm_pmu_t = 415;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA20: pfm_pmu_t = 416;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA21: pfm_pmu_t = 417;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA22: pfm_pmu_t = 418;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA23: pfm_pmu_t = 419;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA24: pfm_pmu_t = 420;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA25: pfm_pmu_t = 421;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA26: pfm_pmu_t = 422;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA27: pfm_pmu_t = 423;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA28: pfm_pmu_t = 424;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA29: pfm_pmu_t = 425;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA30: pfm_pmu_t = 426;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA31: pfm_pmu_t = 427;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA32: pfm_pmu_t = 428;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA33: pfm_pmu_t = 429;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA34: pfm_pmu_t = 430;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA35: pfm_pmu_t = 431;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA36: pfm_pmu_t = 432;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_CHA37: pfm_pmu_t = 433;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_UBOX: pfm_pmu_t = 434;
pub const pfm_pmu_t_PFM_PMU_INTEL_KNM_UNC_M2PCIE: pfm_pmu_t = 435;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2: pfm_pmu_t = 436;
pub const pfm_pmu_t_PFM_PMU_INTEL_CLX: pfm_pmu_t = 437;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2_DMC0: pfm_pmu_t = 438;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2_DMC1: pfm_pmu_t = 439;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2_LLC0: pfm_pmu_t = 440;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2_LLC1: pfm_pmu_t = 441;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2_CCPI0: pfm_pmu_t = 442;
pub const pfm_pmu_t_PFM_PMU_ARM_THUNDERX2_CCPI1: pfm_pmu_t = 443;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM17H_ZEN1: pfm_pmu_t = 444;
pub const pfm_pmu_t_PFM_PMU_AMD64_FAM17H_ZEN2: pfm_pmu_t = 445;
pub const pfm_pmu_t_PFM_PMU_INTEL_TMT: pfm_pmu_t = 446;
pub const pfm_pmu_t_PFM_PMU_INTEL_ICL: pfm_pmu_t = 447;
pub const pfm_pmu_t_PFM_PMU_ARM_A64FX: pfm_pmu_t = 448;
pub const pfm_pmu_t_PFM_PMU_ARM_N1: pfm_pmu_t = 449;
pub const pfm_pmu_t_PFM_PMU_MAX: pfm_pmu_t = 450;
pub type pfm_pmu_t = ::std::os::raw::c_uint;
pub const pfm_pmu_type_t_PFM_PMU_TYPE_UNKNOWN: pfm_pmu_type_t = 0;
pub const pfm_pmu_type_t_PFM_PMU_TYPE_CORE: pfm_pmu_type_t = 1;
pub const pfm_pmu_type_t_PFM_PMU_TYPE_UNCORE: pfm_pmu_type_t = 2;
pub const pfm_pmu_type_t_PFM_PMU_TYPE_OS_GENERIC: pfm_pmu_type_t = 3;
pub const pfm_pmu_type_t_PFM_PMU_TYPE_MAX: pfm_pmu_type_t = 4;
pub type pfm_pmu_type_t = ::std::os::raw::c_uint;
pub const pfm_attr_t_PFM_ATTR_NONE: pfm_attr_t = 0;
pub const pfm_attr_t_PFM_ATTR_UMASK: pfm_attr_t = 1;
pub const pfm_attr_t_PFM_ATTR_MOD_BOOL: pfm_attr_t = 2;
pub const pfm_attr_t_PFM_ATTR_MOD_INTEGER: pfm_attr_t = 3;
pub const pfm_attr_t_PFM_ATTR_RAW_UMASK: pfm_attr_t = 4;
pub const pfm_attr_t_PFM_ATTR_MAX: pfm_attr_t = 5;
pub type pfm_attr_t = ::std::os::raw::c_uint;
pub const pfm_dtype_t_PFM_DTYPE_UNKNOWN: pfm_dtype_t = 0;
pub const pfm_dtype_t_PFM_DTYPE_UINT64: pfm_dtype_t = 1;
pub const pfm_dtype_t_PFM_DTYPE_INT64: pfm_dtype_t = 2;
pub const pfm_dtype_t_PFM_DTYPE_DOUBLE: pfm_dtype_t = 3;
pub const pfm_dtype_t_PFM_DTYPE_FIXED: pfm_dtype_t = 4;
pub const pfm_dtype_t_PFM_DTYPE_RATIO: pfm_dtype_t = 5;
pub const pfm_dtype_t_PFM_DTYPE_CHAR8: pfm_dtype_t = 6;
pub const pfm_dtype_t_PFM_DTYPE_MAX: pfm_dtype_t = 7;
pub type pfm_dtype_t = ::std::os::raw::c_uint;
pub const pfm_attr_ctrl_t_PFM_ATTR_CTRL_UNKNOWN: pfm_attr_ctrl_t = 0;
pub const pfm_attr_ctrl_t_PFM_ATTR_CTRL_PMU: pfm_attr_ctrl_t = 1;
pub const pfm_attr_ctrl_t_PFM_ATTR_CTRL_PERF_EVENT: pfm_attr_ctrl_t = 2;
pub const pfm_attr_ctrl_t_PFM_ATTR_CTRL_MAX: pfm_attr_ctrl_t = 3;
pub type pfm_attr_ctrl_t = ::std::os::raw::c_uint;
pub const pfm_os_t_PFM_OS_NONE: pfm_os_t = 0;
pub const pfm_os_t_PFM_OS_PERF_EVENT: pfm_os_t = 1;
pub const pfm_os_t_PFM_OS_PERF_EVENT_EXT: pfm_os_t = 2;
pub const pfm_os_t_PFM_OS_MAX: pfm_os_t = 3;
pub type pfm_os_t = ::std::os::raw::c_uint;
pub type pfm_err_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pfm_pmu_info_t {
pub name: *const ::std::os::raw::c_char,
pub desc: *const ::std::os::raw::c_char,
pub size: size_t,
pub pmu: pfm_pmu_t,
pub type_: pfm_pmu_type_t,
pub nevents: ::std::os::raw::c_int,
pub first_event: ::std::os::raw::c_int,
pub max_encoding: ::std::os::raw::c_int,
pub num_cntrs: ::std::os::raw::c_int,
pub num_fixed_cntrs: ::std::os::raw::c_int,
pub __bindgen_anon_1: pfm_pmu_info_t__bindgen_ty_1,
}
#[repr(C)]
#[repr(align(4))]
#[derive(Debug, Copy, Clone)]
pub struct pfm_pmu_info_t__bindgen_ty_1 {
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
}
#[test]
fn bindgen_test_layout_pfm_pmu_info_t__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<pfm_pmu_info_t__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(pfm_pmu_info_t__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<pfm_pmu_info_t__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(pfm_pmu_info_t__bindgen_ty_1))
);
}
impl pfm_pmu_info_t__bindgen_ty_1 {
#[inline]
pub fn is_present(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_is_present(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn is_dfl(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
pub fn set_is_dfl(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn reserved_bits(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
}
#[inline]
pub fn set_reserved_bits(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 30u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
is_present: ::std::os::raw::c_uint,
is_dfl: ::std::os::raw::c_uint,
reserved_bits: ::std::os::raw::c_uint,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let is_present: u32 = unsafe { ::std::mem::transmute(is_present) };
is_present as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let is_dfl: u32 = unsafe { ::std::mem::transmute(is_dfl) };
is_dfl as u64
});
__bindgen_bitfield_unit.set(2usize, 30u8, {
let reserved_bits: u32 = unsafe { ::std::mem::transmute(reserved_bits) };
reserved_bits as u64
});
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_pfm_pmu_info_t() {
assert_eq!(
::std::mem::size_of::<pfm_pmu_info_t>(),
56usize,
concat!("Size of: ", stringify!(pfm_pmu_info_t))
);
assert_eq!(
::std::mem::align_of::<pfm_pmu_info_t>(),
8usize,
concat!("Alignment of ", stringify!(pfm_pmu_info_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).name as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).desc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(desc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).size as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).pmu as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(pmu)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).type_ as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).nevents as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(nevents)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).first_event as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(first_event)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).max_encoding as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(max_encoding)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).num_cntrs as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(num_cntrs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_info_t>())).num_fixed_cntrs as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_info_t),
"::",
stringify!(num_fixed_cntrs)
)
);
}
pub const pfm_event_info_spec_t_PFM_EVENT_INFO_SPEC_NA: pfm_event_info_spec_t = 0;
pub const pfm_event_info_spec_t_PFM_EVENT_INFO_SPEC_TRUE: pfm_event_info_spec_t = 1;
pub const pfm_event_info_spec_t_PFM_EVENT_INFO_SPEC_FALSE: pfm_event_info_spec_t = 2;
pub type pfm_event_info_spec_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pfm_event_info_t {
pub name: *const ::std::os::raw::c_char,
pub desc: *const ::std::os::raw::c_char,
pub equiv: *const ::std::os::raw::c_char,
pub size: size_t,
pub code: u64,
pub pmu: pfm_pmu_t,
pub dtype: pfm_dtype_t,
pub idx: ::std::os::raw::c_int,
pub nattrs: ::std::os::raw::c_int,
pub reserved: ::std::os::raw::c_int,
pub __bindgen_anon_1: pfm_event_info_t__bindgen_ty_1,
}
#[repr(C)]
#[repr(align(4))]
#[derive(Debug, Copy, Clone)]
pub struct pfm_event_info_t__bindgen_ty_1 {
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
}
#[test]
fn bindgen_test_layout_pfm_event_info_t__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<pfm_event_info_t__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(pfm_event_info_t__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<pfm_event_info_t__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(pfm_event_info_t__bindgen_ty_1))
);
}
impl pfm_event_info_t__bindgen_ty_1 {
#[inline]
pub fn is_precise(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_is_precise(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn is_speculative(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u32) }
}
#[inline]
pub fn set_is_speculative(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 2u8, val as u64)
}
}
#[inline]
pub fn support_hw_smpl(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
pub fn set_support_hw_smpl(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn reserved_bits(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
}
#[inline]
pub fn set_reserved_bits(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 28u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
is_precise: ::std::os::raw::c_uint,
is_speculative: ::std::os::raw::c_uint,
support_hw_smpl: ::std::os::raw::c_uint,
reserved_bits: ::std::os::raw::c_uint,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let is_precise: u32 = unsafe { ::std::mem::transmute(is_precise) };
is_precise as u64
});
__bindgen_bitfield_unit.set(1usize, 2u8, {
let is_speculative: u32 = unsafe { ::std::mem::transmute(is_speculative) };
is_speculative as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let support_hw_smpl: u32 = unsafe { ::std::mem::transmute(support_hw_smpl) };
support_hw_smpl as u64
});
__bindgen_bitfield_unit.set(4usize, 28u8, {
let reserved_bits: u32 = unsafe { ::std::mem::transmute(reserved_bits) };
reserved_bits as u64
});
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_pfm_event_info_t() {
assert_eq!(
::std::mem::size_of::<pfm_event_info_t>(),
64usize,
concat!("Size of: ", stringify!(pfm_event_info_t))
);
assert_eq!(
::std::mem::align_of::<pfm_event_info_t>(),
8usize,
concat!("Alignment of ", stringify!(pfm_event_info_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).name as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).desc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(desc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).equiv as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(equiv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).size as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).code as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(code)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).pmu as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(pmu)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).dtype as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(dtype)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).idx as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(idx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).nattrs as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(nattrs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_info_t>())).reserved as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_info_t),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct pfm_event_attr_info_t {
pub name: *const ::std::os::raw::c_char,
pub desc: *const ::std::os::raw::c_char,
pub equiv: *const ::std::os::raw::c_char,
pub size: size_t,
pub code: u64,
pub type_: pfm_attr_t,
pub idx: ::std::os::raw::c_int,
pub ctrl: pfm_attr_ctrl_t,
pub __bindgen_anon_1: pfm_event_attr_info_t__bindgen_ty_1,
pub __bindgen_anon_2: pfm_event_attr_info_t__bindgen_ty_2,
}
#[repr(C)]
#[repr(align(4))]
#[derive(Debug, Copy, Clone)]
pub struct pfm_event_attr_info_t__bindgen_ty_1 {
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
}
#[test]
fn bindgen_test_layout_pfm_event_attr_info_t__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<pfm_event_attr_info_t__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(pfm_event_attr_info_t__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<pfm_event_attr_info_t__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(pfm_event_attr_info_t__bindgen_ty_1)
)
);
}
impl pfm_event_attr_info_t__bindgen_ty_1 {
#[inline]
pub fn is_dfl(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_is_dfl(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn is_precise(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
pub fn set_is_precise(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn is_speculative(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u32) }
}
#[inline]
pub fn set_is_speculative(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 2u8, val as u64)
}
}
#[inline]
pub fn support_hw_smpl(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
}
#[inline]
pub fn set_support_hw_smpl(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn reserved_bits(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) }
}
#[inline]
pub fn set_reserved_bits(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(5usize, 27u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
is_dfl: ::std::os::raw::c_uint,
is_precise: ::std::os::raw::c_uint,
is_speculative: ::std::os::raw::c_uint,
support_hw_smpl: ::std::os::raw::c_uint,
reserved_bits: ::std::os::raw::c_uint,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let is_dfl: u32 = unsafe { ::std::mem::transmute(is_dfl) };
is_dfl as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let is_precise: u32 = unsafe { ::std::mem::transmute(is_precise) };
is_precise as u64
});
__bindgen_bitfield_unit.set(2usize, 2u8, {
let is_speculative: u32 = unsafe { ::std::mem::transmute(is_speculative) };
is_speculative as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let support_hw_smpl: u32 = unsafe { ::std::mem::transmute(support_hw_smpl) };
support_hw_smpl as u64
});
__bindgen_bitfield_unit.set(5usize, 27u8, {
let reserved_bits: u32 = unsafe { ::std::mem::transmute(reserved_bits) };
reserved_bits as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pfm_event_attr_info_t__bindgen_ty_2 {
pub dfl_val64: u64,
pub dfl_str: *const ::std::os::raw::c_char,
pub dfl_bool: ::std::os::raw::c_int,
pub dfl_int: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_pfm_event_attr_info_t__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<pfm_event_attr_info_t__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(pfm_event_attr_info_t__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<pfm_event_attr_info_t__bindgen_ty_2>(),
8usize,
concat!(
"Alignment of ",
stringify!(pfm_event_attr_info_t__bindgen_ty_2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<pfm_event_attr_info_t__bindgen_ty_2>())).dfl_val64 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t__bindgen_ty_2),
"::",
stringify!(dfl_val64)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<pfm_event_attr_info_t__bindgen_ty_2>())).dfl_str as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t__bindgen_ty_2),
"::",
stringify!(dfl_str)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<pfm_event_attr_info_t__bindgen_ty_2>())).dfl_bool as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t__bindgen_ty_2),
"::",
stringify!(dfl_bool)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<pfm_event_attr_info_t__bindgen_ty_2>())).dfl_int as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t__bindgen_ty_2),
"::",
stringify!(dfl_int)
)
);
}
#[test]
fn bindgen_test_layout_pfm_event_attr_info_t() {
assert_eq!(
::std::mem::size_of::<pfm_event_attr_info_t>(),
64usize,
concat!("Size of: ", stringify!(pfm_event_attr_info_t))
);
assert_eq!(
::std::mem::align_of::<pfm_event_attr_info_t>(),
8usize,
concat!("Alignment of ", stringify!(pfm_event_attr_info_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).name as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).desc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(desc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).equiv as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(equiv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).size as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).code as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(code)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).type_ as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).idx as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(idx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_event_attr_info_t>())).ctrl as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(pfm_event_attr_info_t),
"::",
stringify!(ctrl)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pfm_pmu_encode_arg_t {
pub codes: *mut u64,
pub fstr: *mut *mut ::std::os::raw::c_char,
pub size: size_t,
pub count: ::std::os::raw::c_int,
pub idx: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_pfm_pmu_encode_arg_t() {
assert_eq!(
::std::mem::size_of::<pfm_pmu_encode_arg_t>(),
32usize,
concat!("Size of: ", stringify!(pfm_pmu_encode_arg_t))
);
assert_eq!(
::std::mem::align_of::<pfm_pmu_encode_arg_t>(),
8usize,
concat!("Alignment of ", stringify!(pfm_pmu_encode_arg_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_encode_arg_t>())).codes as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_encode_arg_t),
"::",
stringify!(codes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_encode_arg_t>())).fstr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_encode_arg_t),
"::",
stringify!(fstr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_encode_arg_t>())).size as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_encode_arg_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_encode_arg_t>())).count as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_encode_arg_t),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_pmu_encode_arg_t>())).idx as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(pfm_pmu_encode_arg_t),
"::",
stringify!(idx)
)
);
}
extern "C" {
pub fn pfm_initialize() -> pfm_err_t;
}
extern "C" {
pub fn pfm_terminate();
}
extern "C" {
pub fn pfm_strerror(code: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn pfm_get_version() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pfm_get_pmu_info(pmu: pfm_pmu_t, output: *mut pfm_pmu_info_t) -> pfm_err_t;
}
extern "C" {
pub fn pfm_get_event_next(idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pfm_find_event(str_: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pfm_get_event_info(
idx: ::std::os::raw::c_int,
os: pfm_os_t,
output: *mut pfm_event_info_t,
) -> pfm_err_t;
}
extern "C" {
pub fn pfm_get_os_event_encoding(
str_: *const ::std::os::raw::c_char,
dfl_plm: ::std::os::raw::c_int,
os: pfm_os_t,
args: *mut ::std::os::raw::c_void,
) -> pfm_err_t;
}
extern "C" {
pub fn pfm_get_event_attr_info(
eidx: ::std::os::raw::c_int,
aidx: ::std::os::raw::c_int,
os: pfm_os_t,
output: *mut pfm_event_attr_info_t,
) -> pfm_err_t;
}
extern "C" {
pub fn pfm_pmu_validate(pmu_id: pfm_pmu_t, fp: *mut FILE) -> pfm_err_t;
}
extern "C" {
pub fn pfm_get_event_encoding(
str_: *const ::std::os::raw::c_char,
dfl_plm: ::std::os::raw::c_int,
fstr: *mut *mut ::std::os::raw::c_char,
idx: *mut ::std::os::raw::c_int,
codes: *mut *mut u64,
count: *mut ::std::os::raw::c_int,
) -> pfm_err_t;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct perf_event_attr {
pub type_: u32,
pub size: u32,
pub config: u64,
pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
pub sample_type: u64,
pub read_format: u64,
pub _bitfield_align_1: [u64; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
pub bp_type: u32,
pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
pub branch_sample_type: u64,
pub sample_regs_user: u64,
pub sample_stack_user: u32,
pub clockid: i32,
pub sample_regs_intr: u64,
pub aux_watermark: u32,
pub __reserved_2: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union perf_event_attr__bindgen_ty_1 {
pub sample_period: u64,
pub sample_freq: u64,
}
#[test]
fn bindgen_test_layout_perf_event_attr__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<perf_event_attr__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<perf_event_attr__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_1>())).sample_period as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_1),
"::",
stringify!(sample_period)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_1>())).sample_freq as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_1),
"::",
stringify!(sample_freq)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union perf_event_attr__bindgen_ty_2 {
pub wakeup_events: u32,
pub wakeup_watermark: u32,
}
#[test]
fn bindgen_test_layout_perf_event_attr__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<perf_event_attr__bindgen_ty_2>(),
4usize,
concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<perf_event_attr__bindgen_ty_2>(),
4usize,
concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_2>())).wakeup_events as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_2),
"::",
stringify!(wakeup_events)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_2>())).wakeup_watermark as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_2),
"::",
stringify!(wakeup_watermark)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union perf_event_attr__bindgen_ty_3 {
pub bp_addr: u64,
pub config1: u64,
}
#[test]
fn bindgen_test_layout_perf_event_attr__bindgen_ty_3() {
assert_eq!(
::std::mem::size_of::<perf_event_attr__bindgen_ty_3>(),
8usize,
concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_3))
);
assert_eq!(
::std::mem::align_of::<perf_event_attr__bindgen_ty_3>(),
8usize,
concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_3))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_3>())).bp_addr as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_3),
"::",
stringify!(bp_addr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_3>())).config1 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_3),
"::",
stringify!(config1)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union perf_event_attr__bindgen_ty_4 {
pub bp_len: u64,
pub config2: u64,
}
#[test]
fn bindgen_test_layout_perf_event_attr__bindgen_ty_4() {
assert_eq!(
::std::mem::size_of::<perf_event_attr__bindgen_ty_4>(),
8usize,
concat!("Size of: ", stringify!(perf_event_attr__bindgen_ty_4))
);
assert_eq!(
::std::mem::align_of::<perf_event_attr__bindgen_ty_4>(),
8usize,
concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_4))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_4>())).bp_len as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_4),
"::",
stringify!(bp_len)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr__bindgen_ty_4>())).config2 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr__bindgen_ty_4),
"::",
stringify!(config2)
)
);
}
#[test]
fn bindgen_test_layout_perf_event_attr() {
assert_eq!(
::std::mem::size_of::<perf_event_attr>(),
112usize,
concat!("Size of: ", stringify!(perf_event_attr))
);
assert_eq!(
::std::mem::align_of::<perf_event_attr>(),
8usize,
concat!("Alignment of ", stringify!(perf_event_attr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).type_ as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).size as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).config as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(config)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).sample_type as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(sample_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).read_format as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(read_format)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).bp_type as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(bp_type)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr>())).branch_sample_type as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(branch_sample_type)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr>())).sample_regs_user as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(sample_regs_user)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr>())).sample_stack_user as *const _ as usize
},
88usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(sample_stack_user)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).clockid as *const _ as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(clockid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<perf_event_attr>())).sample_regs_intr as *const _ as usize
},
96usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(sample_regs_intr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).aux_watermark as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(aux_watermark)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<perf_event_attr>())).__reserved_2 as *const _ as usize },
108usize,
concat!(
"Offset of field: ",
stringify!(perf_event_attr),
"::",
stringify!(__reserved_2)
)
);
}
impl perf_event_attr {
#[inline]
pub fn disabled(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
}
#[inline]
pub fn set_disabled(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn inherit(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
}
#[inline]
pub fn set_inherit(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn pinned(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
}
#[inline]
pub fn set_pinned(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclusive(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclusive(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_user(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_user(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_kernel(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_kernel(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(5usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_hv(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_hv(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(6usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_idle(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_idle(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(7usize, 1u8, val as u64)
}
}
#[inline]
pub fn mmap(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
}
#[inline]
pub fn set_mmap(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(8usize, 1u8, val as u64)
}
}
#[inline]
pub fn comm(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
}
#[inline]
pub fn set_comm(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(9usize, 1u8, val as u64)
}
}
#[inline]
pub fn freq(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
}
#[inline]
pub fn set_freq(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(10usize, 1u8, val as u64)
}
}
#[inline]
pub fn inherit_stat(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
}
#[inline]
pub fn set_inherit_stat(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(11usize, 1u8, val as u64)
}
}
#[inline]
pub fn enable_on_exec(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
}
#[inline]
pub fn set_enable_on_exec(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(12usize, 1u8, val as u64)
}
}
#[inline]
pub fn task(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
}
#[inline]
pub fn set_task(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(13usize, 1u8, val as u64)
}
}
#[inline]
pub fn watermark(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
}
#[inline]
pub fn set_watermark(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(14usize, 1u8, val as u64)
}
}
#[inline]
pub fn precise_ip(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
}
#[inline]
pub fn set_precise_ip(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(15usize, 2u8, val as u64)
}
}
#[inline]
pub fn mmap_data(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
}
#[inline]
pub fn set_mmap_data(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(17usize, 1u8, val as u64)
}
}
#[inline]
pub fn sample_id_all(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
}
#[inline]
pub fn set_sample_id_all(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(18usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_host(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_host(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(19usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_guest(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_guest(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(20usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_callchain_kernel(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_callchain_kernel(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(21usize, 1u8, val as u64)
}
}
#[inline]
pub fn exclude_callchain_user(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
}
#[inline]
pub fn set_exclude_callchain_user(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(22usize, 1u8, val as u64)
}
}
#[inline]
pub fn mmap2(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
}
#[inline]
pub fn set_mmap2(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(23usize, 1u8, val as u64)
}
}
#[inline]
pub fn comm_exec(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
}
#[inline]
pub fn set_comm_exec(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(24usize, 1u8, val as u64)
}
}
#[inline]
pub fn use_clockid(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
}
#[inline]
pub fn set_use_clockid(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(25usize, 1u8, val as u64)
}
}
#[inline]
pub fn context_switch(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
}
#[inline]
pub fn set_context_switch(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(26usize, 1u8, val as u64)
}
}
#[inline]
pub fn write_backward(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
}
#[inline]
pub fn set_write_backward(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(27usize, 1u8, val as u64)
}
}
#[inline]
pub fn namespaces(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
}
#[inline]
pub fn set_namespaces(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(28usize, 1u8, val as u64)
}
}
#[inline]
pub fn __reserved_1(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 35u8) as u64) }
}
#[inline]
pub fn set___reserved_1(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(29usize, 35u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
disabled: u64,
inherit: u64,
pinned: u64,
exclusive: u64,
exclude_user: u64,
exclude_kernel: u64,
exclude_hv: u64,
exclude_idle: u64,
mmap: u64,
comm: u64,
freq: u64,
inherit_stat: u64,
enable_on_exec: u64,
task: u64,
watermark: u64,
precise_ip: u64,
mmap_data: u64,
sample_id_all: u64,
exclude_host: u64,
exclude_guest: u64,
exclude_callchain_kernel: u64,
exclude_callchain_user: u64,
mmap2: u64,
comm_exec: u64,
use_clockid: u64,
context_switch: u64,
write_backward: u64,
namespaces: u64,
__reserved_1: u64,
) -> __BindgenBitfieldUnit<[u8; 8usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let disabled: u64 = unsafe { ::std::mem::transmute(disabled) };
disabled as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let inherit: u64 = unsafe { ::std::mem::transmute(inherit) };
inherit as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let pinned: u64 = unsafe { ::std::mem::transmute(pinned) };
pinned as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let exclusive: u64 = unsafe { ::std::mem::transmute(exclusive) };
exclusive as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let exclude_user: u64 = unsafe { ::std::mem::transmute(exclude_user) };
exclude_user as u64
});
__bindgen_bitfield_unit.set(5usize, 1u8, {
let exclude_kernel: u64 = unsafe { ::std::mem::transmute(exclude_kernel) };
exclude_kernel as u64
});
__bindgen_bitfield_unit.set(6usize, 1u8, {
let exclude_hv: u64 = unsafe { ::std::mem::transmute(exclude_hv) };
exclude_hv as u64
});
__bindgen_bitfield_unit.set(7usize, 1u8, {
let exclude_idle: u64 = unsafe { ::std::mem::transmute(exclude_idle) };
exclude_idle as u64
});
__bindgen_bitfield_unit.set(8usize, 1u8, {
let mmap: u64 = unsafe { ::std::mem::transmute(mmap) };
mmap as u64
});
__bindgen_bitfield_unit.set(9usize, 1u8, {
let comm: u64 = unsafe { ::std::mem::transmute(comm) };
comm as u64
});
__bindgen_bitfield_unit.set(10usize, 1u8, {
let freq: u64 = unsafe { ::std::mem::transmute(freq) };
freq as u64
});
__bindgen_bitfield_unit.set(11usize, 1u8, {
let inherit_stat: u64 = unsafe { ::std::mem::transmute(inherit_stat) };
inherit_stat as u64
});
__bindgen_bitfield_unit.set(12usize, 1u8, {
let enable_on_exec: u64 = unsafe { ::std::mem::transmute(enable_on_exec) };
enable_on_exec as u64
});
__bindgen_bitfield_unit.set(13usize, 1u8, {
let task: u64 = unsafe { ::std::mem::transmute(task) };
task as u64
});
__bindgen_bitfield_unit.set(14usize, 1u8, {
let watermark: u64 = unsafe { ::std::mem::transmute(watermark) };
watermark as u64
});
__bindgen_bitfield_unit.set(15usize, 2u8, {
let precise_ip: u64 = unsafe { ::std::mem::transmute(precise_ip) };
precise_ip as u64
});
__bindgen_bitfield_unit.set(17usize, 1u8, {
let mmap_data: u64 = unsafe { ::std::mem::transmute(mmap_data) };
mmap_data as u64
});
__bindgen_bitfield_unit.set(18usize, 1u8, {
let sample_id_all: u64 = unsafe { ::std::mem::transmute(sample_id_all) };
sample_id_all as u64
});
__bindgen_bitfield_unit.set(19usize, 1u8, {
let exclude_host: u64 = unsafe { ::std::mem::transmute(exclude_host) };
exclude_host as u64
});
__bindgen_bitfield_unit.set(20usize, 1u8, {
let exclude_guest: u64 = unsafe { ::std::mem::transmute(exclude_guest) };
exclude_guest as u64
});
__bindgen_bitfield_unit.set(21usize, 1u8, {
let exclude_callchain_kernel: u64 =
unsafe { ::std::mem::transmute(exclude_callchain_kernel) };
exclude_callchain_kernel as u64
});
__bindgen_bitfield_unit.set(22usize, 1u8, {
let exclude_callchain_user: u64 =
unsafe { ::std::mem::transmute(exclude_callchain_user) };
exclude_callchain_user as u64
});
__bindgen_bitfield_unit.set(23usize, 1u8, {
let mmap2: u64 = unsafe { ::std::mem::transmute(mmap2) };
mmap2 as u64
});
__bindgen_bitfield_unit.set(24usize, 1u8, {
let comm_exec: u64 = unsafe { ::std::mem::transmute(comm_exec) };
comm_exec as u64
});
__bindgen_bitfield_unit.set(25usize, 1u8, {
let use_clockid: u64 = unsafe { ::std::mem::transmute(use_clockid) };
use_clockid as u64
});
__bindgen_bitfield_unit.set(26usize, 1u8, {
let context_switch: u64 = unsafe { ::std::mem::transmute(context_switch) };
context_switch as u64
});
__bindgen_bitfield_unit.set(27usize, 1u8, {
let write_backward: u64 = unsafe { ::std::mem::transmute(write_backward) };
write_backward as u64
});
__bindgen_bitfield_unit.set(28usize, 1u8, {
let namespaces: u64 = unsafe { ::std::mem::transmute(namespaces) };
namespaces as u64
});
__bindgen_bitfield_unit.set(29usize, 35u8, {
let __reserved_1: u64 = unsafe { ::std::mem::transmute(__reserved_1) };
__reserved_1 as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pfm_perf_encode_arg_t {
pub attr: *mut perf_event_attr,
pub fstr: *mut *mut ::std::os::raw::c_char,
pub size: size_t,
pub idx: ::std::os::raw::c_int,
pub cpu: ::std::os::raw::c_int,
pub flags: ::std::os::raw::c_int,
pub pad0: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_pfm_perf_encode_arg_t() {
assert_eq!(
::std::mem::size_of::<pfm_perf_encode_arg_t>(),
40usize,
concat!("Size of: ", stringify!(pfm_perf_encode_arg_t))
);
assert_eq!(
::std::mem::align_of::<pfm_perf_encode_arg_t>(),
8usize,
concat!("Alignment of ", stringify!(pfm_perf_encode_arg_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).attr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(attr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).fstr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(fstr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).size as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).idx as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(idx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).cpu as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(cpu)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).flags as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pfm_perf_encode_arg_t>())).pad0 as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(pfm_perf_encode_arg_t),
"::",
stringify!(pad0)
)
);
}
extern "C" {
pub fn pfm_get_perf_event_encoding(
str_: *const ::std::os::raw::c_char,
dfl_plm: ::std::os::raw::c_int,
output: *mut perf_event_attr,
fstr: *mut *mut ::std::os::raw::c_char,
idx: *mut ::std::os::raw::c_int,
) -> pfm_err_t;
}