Sync computers
This commit is contained in:
@@ -9,6 +9,7 @@ use hashbrown::HashMap;
|
||||
use io::{IoBase, Read, Seek, Write};
|
||||
|
||||
pub mod keyboard;
|
||||
pub mod null;
|
||||
pub mod stdin;
|
||||
pub mod virtual_stdin;
|
||||
|
||||
@@ -16,10 +17,12 @@ use crate::{
|
||||
fs::Disk,
|
||||
tty::TTY0,
|
||||
vga::Vga,
|
||||
virtual_fs::{keyboard::KeyboardBuffer, virtual_stdin::VirtualStdin},
|
||||
virtual_fs::{keyboard::KeyboardBuffer, null::Null, virtual_stdin::VirtualStdin},
|
||||
};
|
||||
|
||||
pub trait VirtualNode: IoBase<Error = ()> + Read + Write + Seek + Debug {}
|
||||
pub trait VirtualNode: IoBase<Error = ()> + Read + Write + Seek + Debug {
|
||||
fn close(&mut self) {}
|
||||
}
|
||||
|
||||
pub trait VirtualFileSystem: Debug {
|
||||
fn open(&mut self, path: &Path) -> Result<Box<dyn VirtualNode + '_>, ()>;
|
||||
@@ -62,6 +65,7 @@ pub unsafe fn init_file_system() {
|
||||
unsafe {
|
||||
FILE_SYSTEM.mount("/dev/fb0".into(), Box::new(VGAFileSystem));
|
||||
FILE_SYSTEM.mount("/dev/tty0".into(), Box::new(TTY0.clone()));
|
||||
FILE_SYSTEM.mount("/dev/null".into(), Box::new(Null));
|
||||
FILE_SYSTEM.mount(
|
||||
"/dev/input/keyboard".into(),
|
||||
Box::new(KeyboardBuffer::new()),
|
||||
|
||||
Reference in New Issue
Block a user