linux_api/
wait.rs
1use num_enum::IntoPrimitive;
2use num_enum::TryFromPrimitive;
3
4use crate::bindings;
5use crate::const_conversions;
6
7bitflags::bitflags! {
8 #[repr(transparent)]
9 #[derive(Copy, Clone, Debug, Default, Eq, PartialEq)]
10 pub struct WaitFlags: i32 {
11 const WNOHANG = const_conversions::i32_from_u32(bindings::LINUX_WNOHANG);
12 const WUNTRACED = const_conversions::i32_from_u32(bindings::LINUX_WUNTRACED);
13 const WEXITED = const_conversions::i32_from_u32(bindings::LINUX_WEXITED );
14 const WCONTINUED = const_conversions::i32_from_u32(bindings::LINUX_WCONTINUED );
15 const WNOWAIT = const_conversions::i32_from_u32(bindings::LINUX_WNOWAIT );
16 const WSTOPPED = const_conversions::i32_from_u32(bindings::LINUX_WSTOPPED);
17
18 const __WNOTHREAD = const_conversions::i32_from_u32(bindings::LINUX___WNOTHREAD);
19 const __WALL = const_conversions::i32_from_u32(bindings::LINUX___WALL );
20 const __WCLONE = const_conversions::i32_from_u32_allowing_wraparound(bindings::LINUX___WCLONE );
21 }
22}
23
24#[allow(non_camel_case_types)]
25#[repr(i32)]
26#[derive(Copy, Clone, Debug, Eq, PartialEq, TryFromPrimitive, IntoPrimitive)]
27pub enum WaitId {
28 P_ALL = const_conversions::i32_from_u32(bindings::LINUX_P_ALL),
29 P_PID = const_conversions::i32_from_u32(bindings::LINUX_P_PID),
30 P_PGID = const_conversions::i32_from_u32(bindings::LINUX_P_PGID),
31 P_PIDFD = const_conversions::i32_from_u32(bindings::LINUX_P_PIDFD),
32}