userspace/target/operating_system/linux/syscall/
result.rs

1pub mod ok {
2    ample::result!( Ok; "MMap Ok"; usize; [
3        [0; OK;         Default; usize; "Ok"; "All good"],
4        [2; ERR_CLOSE;  Close;    super::super::close::Ok;        "close";     "E_CLOSE" ],
5        [3; ERR_LSEEK;  LSeek;    super::super::lseek::Ok;        "lseek";     "E_LSEEK"],
6        [4; ERR_MMAP;  MMap;     super::super::mmap::Ok;          "mmap";      "E_MMAP"],
7        [5; ERR_MPROTECT;  MProtect; super::super::mprotect::Ok;  "mprotect";  "E_MPROTECT"],
8        [6; ERR_MUNMAP;  MUnmap;   super::super::munmap::Ok;      "munmap";    "E_MUNMAP"],
9        [7; ERR_OPEN;  Open;     super::super::open::Ok;          "open";      "E_OPEN"],
10        [8; ERR_READ;  Read;     super::super::read::Ok;          "read";      "E_READ"],
11        [9; ERR_WRITE;  Write;    super::super::write::Ok;        "write";     "E_WRITE"],
12        [10; ERR_FSTAT; FStat;    super::super::fstat::Ok;        "fstat";     "E_FSTAT"]
13    ]);
14
15    impl Ok {
16        pub fn from_no(no: usize) -> Self {
17            Ok::Default(no)
18        }
19    }
20}
21
22pub mod error {
23    ample::result!(Error; "MMap error"; usize; [
24        [1; ERROR;      Default; usize; "Error"; "Something wicked this way comes"],
25        [2; ERR_CLOSE;  Close;    super::super::close::Error;        "close";     "E_CLOSE" ],
26        [3; ERR_LSEEK;  LSeek;    super::super::lseek::Error;        "lseek";     "E_LSEEK"],
27        [4; ERR_MMAP;  MMap;     super::super::mmap::Error;          "mmap";      "E_MMAP"],
28        [5; ERR_MPROTECT;  MProtect; super::super::mprotect::Error;  "mprotect";  "E_MPROTECT"],
29        [6; ERR_MUNMAP;  MUnmap;   super::super::munmap::Error;      "munmap";    "E_MUNMAP"],
30        [7; ERR_OPEN;  Open;     super::super::open::Error;          "open";      "E_OPEN"],
31        [8; ERR_READ;  Read;     super::super::read::Error;          "read";      "E_READ"],
32        [9; ERR_WRITE;  Write;    super::super::write::Error;        "write";     "E_WRITE"],
33        [10; ERR_FSTAT; FStat;    super::super::fstat::Error;        "fstat";     "E_FSTAT"]
34    ]);
35
36    impl Error {
37        pub fn from_no(no: usize) -> Self {
38            Error::Default(no)
39        }
40    }
41}
42
43pub use error::Error;
44pub use ok::Ok;
45
46pub type Result = core::result::Result<Ok, Error>;