os/fs/proc/generators/
uptime.rs1use alloc::format;
2use alloc::vec::Vec;
3
4use crate::fs::proc::inode::ContentGenerator;
5use crate::vfs::FsError;
6
7pub struct UptimeGenerator;
8
9impl ContentGenerator for UptimeGenerator {
10 fn generate(&self) -> Result<Vec<u8>, FsError> {
11 let uptime_ms = crate::arch::timer::get_time_ms();
13 let uptime_sec = uptime_ms / 1000;
14 let uptime_frac = (uptime_ms % 1000) / 10; let idle_sec = 0;
18 let idle_frac = 0;
19
20 let content = format!(
21 "{}.{:02} {}.{:02}\n",
22 uptime_sec, uptime_frac, idle_sec, idle_frac
23 );
24
25 Ok(content.into_bytes())
26 }
27}