linux-syscalls 0.4.0

A library to easily invoke linux system calls.
Documentation
use super::{aux_t, AuxValue, Sealed};

crate::bitflags! {
    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
    pub enum Features: usize {
        SWP = 1 << 0,
        HALF = 1 << 1,
        THUMB = 1 << 2,
        B26 = 1 << 3,
        FAST_MULT = 1 << 4,
        FPA = 1 << 5,
        VFP = 1 << 6,
        EDSP = 1 << 7,
        JAVA = 1 << 8,
        IWMMXT = 1 << 9,
        CRUNCH = 1 << 10,
        THUMBEE = 1 << 11,
        NEON = 1 << 12,
        #[allow(non_upper_case_globals)]
        VFPv3 = 1 << 13,
        #[allow(non_upper_case_globals)]
        VFPv3D16 = 1 << 14,
        TLS = 1 << 15,
        #[allow(non_upper_case_globals)]
        VFPv4 = 1 << 16,
        IDIVA = 1 << 17,
        IDIVT = 1 << 18,
        VFPD32 = 1 << 19,
        IDIV = Self::IDIVA.bits() | Self::IDIVT.bits(),
        LPAE = 1 << 20,
        EVTSTRM = 1 << 21,
        FPHP = 1 << 22,
        ASIMDHP = 1 << 23,
        ASIMDDP = 1 << 24,
        ASIMDFHM = 1 << 25,
        ASIMDBF16 = 1 << 26,
        I8MM = 1 << 27,
    }

    impl Sealed for Features {}
    impl AuxValue for Features {
        fn from(value: aux_t) -> Self {
            (value as usize).into()
        }
    }
}

crate::bitflags! {
    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
    pub enum Features2: usize {
        AES = 1 << 0,
        PMULL = 1 << 1,
        SHA1 = 1 << 2,
        SHA2 = 1 << 3,
        CRC32 = 1 << 4,
        SB = 1 << 5,
        SSBS = 1 << 6,
    }

    impl Sealed for Features2 {}
    impl AuxValue for Features2 {
        fn from(value: aux_t) -> Self {
            (value as usize).into()
        }
    }
}