1pub mod ustar;
5use crate::defs::ExternSyms::{RAMFS_END, RAMFS_START};
6use crate::proc::loader;
7use core::slice;
8use core::str;
9pub use ustar::iter;
10pub use ustar::UstarFile as File;
11
12pub fn get_archive<'a>() -> &'a [u8] {
14 let len = RAMFS_END as usize - RAMFS_START as usize;
15 let ramfs: &[u8] =
16 unsafe { slice::from_raw_parts_mut(RAMFS_START as *mut u8, len) };
17 ramfs
18}
19
20pub fn cat(f: &File) {
21 match str::from_utf8(f.file) {
22 Ok(s) => println!("{}", s),
23 _ => loader::cat_elf(f),
24 }
25}