userspace/file/format/elf/
result.rs1ample::result!(
2 Ok;
3 "Human Ok";
4 usize;
5 [
6 [1; USERSPACE_FILE_FORMAT_ELF_DEFAULT_OK; Default; usize; "ZE"; "Entry to ze"],
7 [2; USERSPACE_FILE_FORMAT_ELF_DTYPE_OK; DType; crate::file::format::elf::dtype::Ok; "ZE"; "Entry to ze"],
8 [3; USERSPACE_FILE_FORMAT_ELF_HEADER_OK; Header; crate::file::format::elf::header::Ok; "ZE"; "Entry to ze"],
9 ];
10 Error;
11 "Human error";
12 usize;
13 [
14 [1; USERSPACE_FILE_FORMAT_ELF_DEFAULT_ERROR; Default; usize; "ZE"; "Entry to ze"],
15 [2; USERSPACE_FILE_FORMAT_ELF_DTYPE_ERROR; DType; crate::file::format::elf::dtype::Error; "ZE"; "Entry to ze"],
16 [3; USERSPACE_FILE_FORMAT_ELF_HEADER_ERROR; Header; crate::file::format::elf::header::Error; "ZE"; "Entry to ze"],
17 ]
18);
19
20impl Ok {
21 pub fn from_no(no: usize) -> Self {
22 Ok::Default(no)
23 }
24}
25
26impl Error {
27 pub fn from_no(no: usize) -> Self {
28 Error::Default(no)
29 }
30}
31
32pub type Result = core::result::Result<Ok, Error>;
33
34pub fn handle_result(result: usize) -> Result {
35 if (result as isize) < 0 {
36 Err(Error::from_no(result))
37 } else {
38 Ok(Ok::from_no(result))
39 }
40}