1 #![feature(asm)]
2 #![feature(const_fn)]
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(target_os = "redox", target_arch = "arm"))]
18 #[path="arch/arm.rs"]
19 mod arch;
20 
21 #[cfg(all(target_os = "redox", target_arch = "aarch64"))]
22 #[path="arch/aarch64.rs"]
23 mod arch;
24 
25 #[cfg(all(target_os = "redox", target_arch = "x86"))]
26 #[path="arch/x86.rs"]
27 mod arch;
28 
29 #[cfg(all(target_os = "redox", target_arch = "x86_64"))]
30 #[path="arch/x86_64.rs"]
31 mod arch;
32 
33 #[cfg(not(target_os = "redox"))]
34 #[path="arch/nonredox.rs"]
35 mod arch;
36 
37 /// Function definitions
38 pub mod call;
39 
40 /// Complex structures that are used for some system calls
41 pub mod data;
42 
43 /// All errors that can be generated by a system call
44 pub mod error;
45 
46 /// Flags used as an argument to many system calls
47 pub mod flag;
48 
49 /// Functions for low level hardware control
50 pub mod io;
51 
52 /// Call numbers used by each system call
53 pub mod number;
54 
55 /// A trait useful for scheme handlers
56 pub mod scheme;
57 
58 #[cfg(test)]
59 mod tests;
60