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