os_core/
constants.rs

1//! OS related constants (typically C-style 'defines')
2pub mod mprot {
3    pub const NONE: i32 = libc::PROT_NONE;
4    pub const READ: i32 = libc::PROT_READ;
5    pub const WRITE: i32 = libc::PROT_WRITE;
6    pub const EXEC: i32 = libc::PROT_EXEC;
7    pub const GROWSDOWN: i32 = libc::PROT_GROWSDOWN;
8    pub const GROWSUP: i32 = libc::PROT_GROWSUP;
9}
10
11pub mod map {
12    pub const FAILED: *mut () = libc::MAP_FAILED as *mut ();
13    pub const FIXED: i32 = libc::MAP_FIXED;
14    pub const ANONYMOUS: i32 = libc::MAP_ANONYMOUS;
15    pub const ANON: i32 = libc::MAP_ANON;
16    pub const GROWSDOWN: i32 = libc::MAP_GROWSDOWN;
17    pub const NORESERVE: i32 = libc::MAP_NORESERVE;
18    pub const LOCKED: i32 = libc::MAP_LOCKED;
19    pub const FIXED_NOREPLACE: i32 = libc::MAP_FIXED_NOREPLACE;
20    pub const SHARED_VALIDATE: i32 = libc::MAP_SHARED_VALIDATE;
21    pub const SHARED: i32 = libc::MAP_SHARED;
22    pub const PRIVATE: i32 = libc::MAP_PRIVATE;
23    pub const POPULATE: i32 = libc::MAP_POPULATE;
24    //TODO add all linux mmap flags
25    //TODO add all osx mmap flags
26}
27
28pub mod unshare {
29    pub const NSMOUNT: i32 = libc::CLONE_NEWNS;
30    pub const NSUSER: i32 = libc::CLONE_NEWUSER;
31    pub const NSIPC: i32 = libc::CLONE_NEWIPC;
32    pub const NSNET: i32 = libc::CLONE_NEWNET;
33    pub const NSPID: i32 = libc::CLONE_NEWPID;
34    pub const NSUTS: i32 = libc::CLONE_NEWUTS;
35    pub const NSCGROUP: i32 = libc::CLONE_NEWCGROUP;
36    pub const FILES : i32 = libc::CLONE_FILES;
37    pub const FS : i32 = libc::CLONE_FS;
38    pub const VM : i32 = libc::CLONE_VM;
39}