userspace/target/operating_system/linux/syscall/open/flags.rs
1// #[rustfmt::skip]
2// ample::enum_flag!(Flag, usize, "Map Flags",[
3// [0o0; RDONLY; RDONLY; "Shared"; "Shared"],
4// [0o1; WRONLY; WRONLY; "Private"; "Private"],
5// [0o2; RDWR; RDWR; "SharedValidate"; "SharedValidate"],
6// [0o100; CREAT; CREAT; "Fixed"; "Fixed"],
7// [0o200; EXCL; EXCL; "Anonymous"; "Anonymous"],
8// [0o400; NOCTTY; NOCTTY; "GrowsDown"; "GrowsDown"],
9// [0o1000; TRUNC; TRUNC; "DenyWrite"; "DenyWrite"],
10// [0o2000; APPEND; APPEND; "Executable"; "Executable"],
11// [0o4000; NONBLOCK; NONBLOCK; "Locked"; "Locked"],
12// [0o10000; DSYNC; DSYNC; "NoReserve"; "NoReserve"],
13// [0o4010000; SYNC; SYNC; "Populate"; "Populate"],
14// [0o200000; DIRECTORY; DIRECTORY; "NonBlock"; "NonBlock"],
15// [0o400000; NOFOLLOW; NOFOLLOW; "Stack"; "Stack"],
16// [0o2000000; CLOEXEC; CLOEXEC; "HugeTlb"; "HugeTlb"],
17// ]);
18
19#[rustfmt::skip]
20ample::enum_flag!(
21 i32;
22 "Open Flags";
23 pub enum Flag {
24 [0o0; RDONLY; RDONLY; "Read only"; "Read only"],
25 [0o1; WRONLY; WRONLY; "Write only"; "Write only"],
26 [0o2; RDWR; RDWR; "Read/Write"; "Read/Write"],
27 [0o100; CREAT; CREAT; "Create"; "Create file if not exists"],
28 [0o200; EXCL; EXCL; "Exclusive"; "Fail if exists"],
29 [0o400; NOCTTY; NOCTTY; "No controlling TTY"; "Do not assign controlling TTY"],
30 [0o1000; TRUNC; TRUNC; "Truncate"; "Truncate file if exists"],
31 [0o2000; APPEND; APPEND; "Append"; "Append mode"],
32 [0o4000; NONBLOCK; NONBLOCK; "Non-blocking"; "Non-blocking I/O"],
33 [0o10000; DSYNC; DSYNC; "DSync"; "Synchronized I/O"],
34 [0o4010000; SYNC; SYNC; "Sync"; "Synchronous writes"],
35 [0o200000; DIRECTORY; DIRECTORY; "Directory"; "Must be a directory"],
36 [0o400000; NOFOLLOW; NOFOLLOW; "No Follow"; "Do not follow symlinks"],
37 [0o2000000; CLOEXEC; CLOEXEC; "Close on exec"; "Close on exec"]
38 }
39);