-
Notifications
You must be signed in to change notification settings - Fork 0
/
lib.rs
55 lines (52 loc) · 1.63 KB
/
lib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! # River Interface Library (`rille`)
//!
//! `rille`, also known as the River Interface Library, is the
//! counterpart to [`std::os`][1] for River. While not intending to be
//! a replacement for that module, it is intended to create a common
//! library of interface types, constants, helper functions, and other
//! useful constructs for use both in userspace code and the kernel.
//!
//! ## A note on features
//!
//! As an interface library, `rille` is used in the kernel of
//! river. For this reason, there is a feature known as `kernel` that
//! will enable some extra features of the library for interface
//! consistency purposes. This should not be activated in any crate
//! but the kernel, as it assumes the crate being built is the kernel,
//! and may cause some linker issues.
// TODO: move some of the kernel-specific stuff *back* to the kernel.
//!
//! [1]: https://doc.rust-lang.org/stable/std/os/index.html
#![no_std]
#![warn(
clippy::undocumented_unsafe_blocks,
clippy::pedantic,
missing_docs,
// clippy::todo
)]
#![allow(
clippy::inline_always,
clippy::must_use_candidate,
clippy::cast_possible_truncation,
clippy::module_name_repetitions,
clippy::cast_ptr_alignment,
clippy::cast_lossless,
clippy::too_many_lines,
clippy::fn_to_numeric_cast
)]
#![feature(doc_cfg, doc_auto_cfg)]
pub mod addr;
pub mod capability;
pub mod elf;
pub mod init;
pub mod io_traits;
pub mod symbol;
pub mod syscalls;
pub mod units;
/// Commonly used imports for `rille`.
pub mod prelude {
pub use super::capability::*;
pub use super::io_traits::*;
pub use super::syscalls;
pub use super::units::*;
}