1 #![feature(asm)]
2 #![feature(llvm_asm)]
3 #![cfg_attr(not(test), no_std)]
4 
5 #[cfg(test)]
6 extern crate core;
7 
8 pub use self::arch::*;
9 pub use self::call::*;
10 pub use self::data::*;
11 pub use self::error::*;
12 pub use self::flag::*;
13 pub use self::io::*;
14 pub use self::number::*;
15 pub use self::scheme::*;
16 
17 #[cfg(all(any(target_os = "none", target_os = "redox"), target_arch = "arm"))]
18 #[path="arch/arm.rs"]
19 mod arch;
20 
21 #[cfg(all(any(target_os = "none", target_os = "redox"), target_arch = "aarch64"))]
22 #[path="arch/aarch64.rs"]
23 mod arch;
24 
25 #[cfg(all(any(target_os = "none", target_os = "redox"), target_arch = "riscv64"))]
26 #[path="arch/riscv64.rs"]
27 mod arch;
28 
29 #[cfg(all(any(target_os = "none", target_os = "redox"), target_arch = "x86"))]
30 #[path="arch/x86.rs"]
31 mod arch;
32 
33 #[cfg(all(any(target_os = "none", target_os = "redox"), target_arch = "x86_64"))]
34 #[path="arch/x86_64.rs"]
35 mod arch;
36 
37 #[cfg(not(any(target_os = "none", target_os = "redox")))]
38 #[path="arch/nonredox.rs"]
39 mod arch;
40 
41 /// Function definitions
42 pub mod call;
43 
44 /// Complex structures that are used for some system calls
45 pub mod data;
46 
47 /// All errors that can be generated by a system call
48 pub mod error;
49 
50 /// Flags used as an argument to many system calls
51 pub mod flag;
52 
53 /// Functions for low level hardware control
54 pub mod io;
55 
56 /// Call numbers used by each system call
57 pub mod number;
58 
59 /// A trait useful for scheme handlers
60 pub mod scheme;
61 
62 #[cfg(test)]
63 mod tests;
64