1 use crate::backend::c;
2 use bitflags::bitflags;
3 
4 bitflags! {
5     /// `O_*` constants for use with [`shm_open`].
6     ///
7     /// [`shm_open`]: crate:shm::shm_open
8     #[repr(transparent)]
9     #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
10     pub struct ShmOFlags: u32 {
11         /// `O_CREAT`
12         #[doc(alias = "CREAT")]
13         const CREATE = bitcast!(c::O_CREAT);
14 
15         /// `O_EXCL`
16         const EXCL = bitcast!(c::O_EXCL);
17 
18         /// `O_RDONLY`
19         const RDONLY = bitcast!(c::O_RDONLY);
20 
21         /// `O_RDWR`
22         const RDWR = bitcast!(c::O_RDWR);
23 
24         /// `O_TRUNC`
25         const TRUNC = bitcast!(c::O_TRUNC);
26 
27         /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags>
28         const _ = !0;
29     }
30 }
31