1 | use crate::backend::c; |
2 | use bitflags::bitflags; |
3 | |
4 | bitflags! { |
5 | /// `FD_*` constants for use with [`fcntl_getfd`] and [`fcntl_setfd`]. |
6 | /// |
7 | /// [`fcntl_getfd`]: crate::io::fcntl_getfd |
8 | /// [`fcntl_setfd`]: crate::io::fcntl_setfd |
9 | #[repr (transparent)] |
10 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] |
11 | pub struct FdFlags: c::c_uint { |
12 | /// `FD_CLOEXEC` |
13 | const CLOEXEC = linux_raw_sys::general::FD_CLOEXEC; |
14 | |
15 | /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> |
16 | const _ = !0; |
17 | } |
18 | } |
19 | |
20 | bitflags! { |
21 | /// `RWF_*` constants for use with [`preadv2`] and [`pwritev2`]. |
22 | /// |
23 | /// [`preadv2`]: crate::io::preadv2 |
24 | /// [`pwritev2`]: crate::io::pwritev |
25 | #[repr (transparent)] |
26 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] |
27 | pub struct ReadWriteFlags: c::c_uint { |
28 | /// `RWF_DSYNC` (since Linux 4.7) |
29 | const DSYNC = linux_raw_sys::general::RWF_DSYNC; |
30 | /// `RWF_HIPRI` (since Linux 4.6) |
31 | const HIPRI = linux_raw_sys::general::RWF_HIPRI; |
32 | /// `RWF_SYNC` (since Linux 4.7) |
33 | const SYNC = linux_raw_sys::general::RWF_SYNC; |
34 | /// `RWF_NOWAIT` (since Linux 4.14) |
35 | const NOWAIT = linux_raw_sys::general::RWF_NOWAIT; |
36 | /// `RWF_APPEND` (since Linux 4.16) |
37 | const APPEND = linux_raw_sys::general::RWF_APPEND; |
38 | |
39 | /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> |
40 | const _ = !0; |
41 | } |
42 | } |
43 | |
44 | bitflags! { |
45 | /// `O_*` constants for use with [`dup2`]. |
46 | /// |
47 | /// [`dup2`]: crate::io::dup2 |
48 | #[repr (transparent)] |
49 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] |
50 | pub struct DupFlags: c::c_uint { |
51 | /// `O_CLOEXEC` |
52 | const CLOEXEC = linux_raw_sys::general::O_CLOEXEC; |
53 | |
54 | /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> |
55 | const _ = !0; |
56 | } |
57 | } |
58 | |