bitflags::bitflags! {
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub struct Flags: u32 {
const PRIVATE = linux_raw_sys::general::FUTEX_PRIVATE_FLAG;
const CLOCK_REALTIME = linux_raw_sys::general::FUTEX_CLOCK_REALTIME;
const _ = !0;
}
}
bitflags::bitflags! {
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub struct WaitFlags: u32 {
const SIZE_U8 = linux_raw_sys::general::FUTEX2_SIZE_U8;
const SIZE_U16 = linux_raw_sys::general::FUTEX2_SIZE_U16;
const SIZE_U32 = linux_raw_sys::general::FUTEX2_SIZE_U32;
const SIZE_U64 = linux_raw_sys::general::FUTEX2_SIZE_U64;
const SIZE_MASK = linux_raw_sys::general::FUTEX2_SIZE_MASK;
const NUMA = linux_raw_sys::general::FUTEX2_NUMA;
const PRIVATE = linux_raw_sys::general::FUTEX2_PRIVATE;
const _ = !0;
}
}
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
#[repr(u32)]
pub(crate) enum Operation {
Wait = linux_raw_sys::general::FUTEX_WAIT,
Wake = linux_raw_sys::general::FUTEX_WAKE,
Fd = linux_raw_sys::general::FUTEX_FD,
Requeue = linux_raw_sys::general::FUTEX_REQUEUE,
CmpRequeue = linux_raw_sys::general::FUTEX_CMP_REQUEUE,
WakeOp = linux_raw_sys::general::FUTEX_WAKE_OP,
LockPi = linux_raw_sys::general::FUTEX_LOCK_PI,
UnlockPi = linux_raw_sys::general::FUTEX_UNLOCK_PI,
TrylockPi = linux_raw_sys::general::FUTEX_TRYLOCK_PI,
WaitBitset = linux_raw_sys::general::FUTEX_WAIT_BITSET,
WakeBitset = linux_raw_sys::general::FUTEX_WAKE_BITSET,
WaitRequeuePi = linux_raw_sys::general::FUTEX_WAIT_REQUEUE_PI,
CmpRequeuePi = linux_raw_sys::general::FUTEX_CMP_REQUEUE_PI,
LockPi2 = linux_raw_sys::general::FUTEX_LOCK_PI2,
}
pub const WAITERS: u32 = linux_raw_sys::general::FUTEX_WAITERS;
pub const OWNER_DIED: u32 = linux_raw_sys::general::FUTEX_OWNER_DIED;