iptr-perf-pt-reader 0.1.0

Perf.data parser for Intel PT data
Documentation
#[inline(always)]
pub fn read_u16(data: &[u8], pos: usize) -> Option<u16> {
    let data = data.get(pos..)?;
    let chunk = data.first_chunk::<2>()?;
    Some(u16::from_ne_bytes(*chunk))
}

#[inline(always)]
pub fn read_u32(data: &[u8], pos: usize) -> Option<u32> {
    let data = data.get(pos..)?;
    let chunk = data.first_chunk::<4>()?;
    Some(u32::from_ne_bytes(*chunk))
}

#[inline(always)]
pub fn read_u64(data: &[u8], pos: usize) -> Option<u64> {
    let data = data.get(pos..)?;
    let chunk = data.first_chunk::<8>()?;
    Some(u64::from_ne_bytes(*chunk))
}