os/device/serial/mod.rs
1//! 串行设备驱动模块
2//!
3//! 包含各种串行设备驱动程序的实现模块。
4
5use super::Driver;
6
7pub mod keyboard;
8pub mod uart16550;
9pub mod virtio_console;
10
11/// 串行设备驱动程序特征
12pub trait SerialDriver: Driver {
13 /// 从 tty 读取一个字节
14 fn read(&self) -> u8;
15
16 /// 向 tty 写入数据
17 fn write(&self, data: &[u8]);
18
19 /// 尝试读取一个字节,如果没有数据则返回 None
20 fn try_read(&self) -> Option<u8> {
21 Some(self.read())
22 }
23}