Files
RedBear-OS/src/scheme/sys/scheme_num.rs
T
2017-10-28 02:42:08 +02:00

26 lines
633 B
Rust

use alloc::Vec;
use context;
use scheme;
use syscall::error::{Error, ESRCH, Result};
pub fn resource() -> Result<Vec<u8>> {
let scheme_ns = {
let contexts = context::contexts();
let context_lock = contexts.current().ok_or(Error::new(ESRCH))?;
let context = context_lock.read();
context.ens
};
let mut data = Vec::new();
let schemes = scheme::schemes();
for (name, &scheme_id) in schemes.iter_name(scheme_ns) {
data.extend_from_slice(format!("{:>4}: ", scheme_id.into()).as_bytes());
data.extend_from_slice(name);
data.push(b'\n');
}
Ok(data)
}