• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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