redox/kernel/scheme/sys/scheme.rs

25 lines
566 B
Rust
Raw Normal View History

2016-10-14 05:13:37 +02:00
use collections::Vec;
use context;
2016-10-14 05:13:37 +02:00
use scheme;
use syscall::error::{Error, ESRCH, Result};
2016-10-14 05:13:37 +02:00
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.scheme_ns
};
2016-10-14 05:13:37 +02:00
let mut data = Vec::new();
let schemes = scheme::schemes();
for (name, _scheme_lock) in schemes.iter_name(scheme_ns) {
2016-10-14 05:13:37 +02:00
data.extend_from_slice(name);
2016-10-14 05:19:02 +02:00
data.push(b'\n');
2016-10-14 05:13:37 +02:00
}
Ok(data)
}