ableos/userland/rname/src/main.rs

45 lines
858 B
Rust

//! An implementation of the uname command.
use crate::Arch::*;
use core::fmt;
// an example string "Darwin Roadrunner.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386"
pub struct RName {
pub arch: Arch,
}
#[derive(Debug, Clone, Copy)]
pub enum Arch {
X86,
X86_64,
ARM,
ARM64,
PPC,
PPC64,
MIPS,
MIPS64,
SPARC,
SPARC64,
Unknown,
}
impl fmt::Display for Arch {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{:?}", self)
}
}
fn main() {
let mut rname_string = "".to_string();
rname_string.push_str("ableOS");
let arch = Some(X86_64);
if let Some(arch) = arch {
let fmt_str = format!(" {:?}", arch);
rname_string.push_str(&fmt_str);
}
println!("{}", rname_string);
}