arceos_api/imp/
mod.rs

1mod mem;
2mod task;
3
4cfg_fs! {
5    mod fs;
6    pub use fs::*;
7}
8
9cfg_net! {
10    mod net;
11    pub use net::*;
12}
13
14cfg_display! {
15    mod display;
16    pub use display::*;
17}
18
19mod stdio {
20    use core::fmt;
21
22    pub fn ax_console_read_bytes(buf: &mut [u8]) -> crate::AxResult<usize> {
23        let len = axhal::console::read_bytes(buf);
24        for c in &mut buf[..len] {
25            if *c == b'\r' {
26                *c = b'\n';
27            }
28        }
29        Ok(len)
30    }
31
32    pub fn ax_console_write_bytes(buf: &[u8]) -> crate::AxResult<usize> {
33        axhal::console::write_bytes(buf);
34        Ok(buf.len())
35    }
36
37    pub fn ax_console_write_fmt(args: fmt::Arguments) -> fmt::Result {
38        axlog::print_fmt(args)
39    }
40}
41
42mod time {
43    pub use axhal::time::{
44        TimeValue as AxTimeValue, monotonic_time as ax_monotonic_time, wall_time as ax_wall_time,
45    };
46}
47
48pub use self::mem::*;
49pub use self::stdio::*;
50pub use self::task::*;
51pub use self::time::*;
52
53pub use axhal::misc::terminate as ax_terminate;
54pub use axio::PollState as AxPollState;