]>
git.proxmox.com Git - rustc.git/blob - vendor/rustix/src/imp/linux_raw/thread/futex.rs
2 /// Flags for use with [`futex`].
4 /// [`futex`]: crate::thread::futex
5 pub struct FutexFlags
: u32 {
6 /// `FUTEX_PRIVATE_FLAG`
7 const PRIVATE
= linux_raw_sys
::general
::FUTEX_PRIVATE_FLAG
;
8 /// `FUTEX_CLOCK_REALTIME`
9 const CLOCK_REALTIME
= linux_raw_sys
::general
::FUTEX_CLOCK_REALTIME
;
13 /// Operations for use with [`futex`].
15 /// [`futex`]: crate::thread::futex
16 #[derive(Debug, Copy, Clone, Eq, PartialEq)]
18 pub enum FutexOperation
{
20 Wait
= linux_raw_sys
::general
::FUTEX_WAIT
,
22 Wake
= linux_raw_sys
::general
::FUTEX_WAKE
,
24 Fd
= linux_raw_sys
::general
::FUTEX_FD
,
26 Requeue
= linux_raw_sys
::general
::FUTEX_REQUEUE
,
27 /// `FUTEX_CMP_REQUEUE`
28 CmpRequeue
= linux_raw_sys
::general
::FUTEX_CMP_REQUEUE
,
30 WakeOp
= linux_raw_sys
::general
::FUTEX_WAKE_OP
,
32 LockPi
= linux_raw_sys
::general
::FUTEX_LOCK_PI
,
34 UnlockPi
= linux_raw_sys
::general
::FUTEX_UNLOCK_PI
,
35 /// `FUTEX_TRYLOCK_PI`
36 TrylockPi
= linux_raw_sys
::general
::FUTEX_TRYLOCK_PI
,
37 /// `FUTEX_WAIT_BITSET`
38 WaitBitset
= linux_raw_sys
::general
::FUTEX_WAIT_BITSET
,