/DragonOS/kernel/src/driver/tty/ |
H A D | tty_job_control.rs | 17 pub fn proc_set_tty(tty: Arc<TtyCore>) { in proc_set_tty() 18 let core = tty.core(); in proc_set_tty() 26 assert!(pcb.sig_info_irqsave().tty().is_none()); in proc_set_tty() 30 singal.set_tty(tty); in proc_set_tty() 34 pub fn tty_check_change(tty: Arc<TtyCore>, sig: Signal) -> Result<(), SystemError> { in tty_check_change() 37 if pcb.sig_info_irqsave().tty().is_none() in tty_check_change() 38 || !Arc::ptr_eq(&pcb.sig_info_irqsave().tty().unwrap(), &tty) in tty_check_change() 43 let core = tty.core(); in tty_check_change() 71 pub fn job_ctrl_ioctl(tty: Arc<TtyCore>, cmd: u32, arg: usize) -> Result<usize, SystemError> { in job_ctrl_ioctl() 74 match Self::tty_check_change(tty.clone(), Signal::SIGTTOU) { in job_ctrl_ioctl() [all …]
|
H A D | tty_device.rs | 148 let tty = TtyDriver::open_tty(index, driver)?; in open() localVariable 152 tty: tty.clone(), in open() 156 let ret = tty.open(tty.core()); in open() 164 let driver = tty.core().driver(); in open() 172 let pcb_tty = pcb.sig_info_irqsave().tty(); in open() 173 if pcb_tty.is_none() && tty.core().contorl_info_irqsave().session.is_none() { in open() 174 TtyJobCtrlManager::proc_set_tty(tty); in open() 188 let (tty, mode) = if let FilePrivateData::Tty(tty_priv) = &*data { in read_at() 189 (tty_priv.tty(), tty_priv.mode) in read_at() 196 let ld = tty.ldisc(); in read_at() [all …]
|
H A D | tty_core.rs | 14 driver::{serial::serial8250::send_to_default_serial8250_port, tty::pty::ptm_driver}, 156 pub fn tty_mode_ioctl(tty: Arc<TtyCore>, cmd: u32, arg: usize) -> Result<usize, SystemError> { in tty_mode_ioctl() 157 let core = tty.core(); in tty_mode_ioctl() 163 tty in tty_mode_ioctl() 198 tty: Arc<TtyCore>, in core_set_termios() 204 let mut tmp_termios = *tty.core().termios(); in core_set_termios() 222 let ld = tty.ldisc(); in core_set_termios() 223 let _ = ld.flush_buffer(tty.clone()); in core_set_termios() 230 TtyCore::set_termios_next(tty, tmp_termios)?; in core_set_termios() 234 pub fn set_termios_next(tty: Arc<TtyCore>, new_termios: Termios) -> Result<(), SystemError> { in set_termios_next() [all …]
|
H A D | tty_port.rs | 36 tty: Weak<TtyCore>, field 55 tty: Weak::new(), in new() 64 pub fn tty(&self) -> Option<Arc<TtyCore>> { in tty() method 65 self.tty.upgrade() in tty() 89 fn setup_internal_tty(&self, tty: Weak<TtyCore>) { in setup_internal_tty() 90 self.port_data().internal_tty = tty; in setup_internal_tty() 95 let tty = self.port_data().internal_tty().unwrap(); in receive_buf() localVariable 97 let ld = tty.ldisc(); in receive_buf() 99 let ret = ld.receive_buf2(tty.clone(), buf, None, count); in receive_buf() 101 return ld.receive_buf(tty, buf, None, count); in receive_buf()
|
H A D | tty_driver.rs | 22 tty::tty_port::TtyPortState, 234 let tty = tty_core.core(); in standard_install() localVariable 235 tty.init_termios(); in standard_install() 238 tty.add_count(); in standard_install() 240 self.ttys.lock().insert(tty.index(), tty_core); in standard_install() 245 fn driver_install_tty(driver: Arc<TtyDriver>, tty: Arc<TtyCore>) -> Result<(), SystemError> { in driver_install_tty() 246 let res = tty.install(driver.clone(), tty.clone()); in driver_install_tty() 250 return driver.standard_install(tty); in driver_install_tty() 256 driver.add_tty(tty); in driver_install_tty() 265 let tty = TtyCore::new(driver.clone(), index); in init_tty_device() localVariable [all …]
|
H A D | kthread.rs | 8 driver::tty::virtual_terminal::virtual_console::CURRENT_VCNUM,
|
/DragonOS/kernel/src/driver/tty/tty_ldisc/ |
H A D | mod.rs | 16 fn open(&self, tty: Arc<TtyCore>) -> Result<(), SystemError>; in open() 17 fn close(&self, tty: Arc<TtyCore>) -> Result<(), SystemError>; in close() 18 fn flush_buffer(&self, tty: Arc<TtyCore>) -> Result<(), SystemError>; in flush_buffer() 30 tty: Arc<TtyCore>, in read() 39 tty: Arc<TtyCore>, in write() 44 fn ioctl(&self, tty: Arc<TtyCore>, cmd: u32, arg: usize) -> Result<usize, SystemError>; in ioctl() 49 fn set_termios(&self, tty: Arc<TtyCore>, old: Option<Termios>) -> Result<(), SystemError>; in set_termios() 51 fn poll(&self, tty: Arc<TtyCore>) -> Result<usize, SystemError>; in poll() 52 fn hangup(&self, tty: Arc<TtyCore>) -> Result<(), SystemError>; in hangup() 57 tty: Arc<TtyCore>, in receive_buf() [all …]
|
H A D | ntty.rs | 11 driver::tty::{ 54 fn ioctl_helper(&self, tty: Arc<TtyCore>, cmd: u32, arg: usize) -> Result<usize, SystemError> { in ioctl_helper() 63 return TtyCore::tty_mode_ioctl(tty.clone(), cmd, arg); in ioctl_helper() 125 tty: Weak<TtyCore>, field 154 tty: Weak::default(), in new() 173 tty: Arc<TtyCore>, in receive_buf_common() 180 let termios = tty.core().termios(); in receive_buf_common() 213 self.receive_buf(tty.clone(), &buf[offset..], Some(&flags[offset..]), n); in receive_buf_common() 215 self.receive_buf(tty.clone(), &buf[offset..], flags, n); in receive_buf_common() 225 if tty.core().flags().contains(TtyFlag::LDISC_CHANGING) { in receive_buf_common() [all …]
|
/DragonOS/kernel/src/driver/tty/pty/ |
H A D | unix98pty.rs | 5 driver::tty::{ 38 fn install(&self, driver: Arc<TtyDriver>, tty: Arc<TtyCore>) -> Result<(), SystemError> { in install() 39 PtyCommon::pty_common_install(driver, tty, false) in install() 42 fn open(&self, tty: &TtyCoreData) -> Result<(), SystemError> { in open() 43 PtyCommon::pty_common_open(tty) in open() 46 fn write(&self, tty: &TtyCoreData, buf: &[u8], nr: usize) -> Result<usize, SystemError> { in write() 47 let to = tty.checked_link()?; in write() 49 if nr == 0 || tty.flow_irqsave().stopped { in write() 56 fn write_room(&self, tty: &TtyCoreData) -> usize { in write_room() 58 if tty.flow_irqsave().stopped { in write_room() [all …]
|
H A D | mod.rs | 97 tty: Arc<TtyCore>, in pty_common_install() 100 let core = tty.core(); in pty_common_install() 119 driver.ttys().insert(core.index(), tty.clone()); in pty_common_install() 126 o_core.set_link(Arc::downgrade(&tty)); in pty_common_install() 129 port1.setup_internal_tty(Arc::downgrade(&tty)); in pty_common_install() 131 tty.set_port(port1); in pty_common_install() 173 pub fn pty_set_lock(tty: &TtyCoreData, arg: VirtAddr) -> Result<(), SystemError> { in pty_set_lock() 178 tty.flags_write().insert(TtyFlag::PTY_LOCK); in pty_set_lock() 180 tty.flags_write().remove(TtyFlag::PTY_LOCK); in pty_set_lock() 186 pub fn pty_get_lock(tty: &TtyCoreData, arg: VirtAddr) -> Result<(), SystemError> { in pty_get_lock() [all …]
|
/DragonOS/kernel/src/driver/video/console/ |
H A D | dummycon.rs | 4 use crate::driver::tty::{ 44 _intensity: crate::driver::tty::virtual_terminal::virtual_console::VirtualConsoleIntensity, in con_build_attr() 59 let tty = vc_data.port().port_data().tty().unwrap(); in con_init() localVariable 60 tty.resize( in con_init() 61 tty.clone(), in con_init()
|
/DragonOS/kernel/src/driver/tty/virtual_terminal/ |
H A D | mod.rs | 120 fn do_write(&self, tty: &TtyCoreData, buf: &[u8], mut nr: usize) -> Result<usize, SystemError> { in do_write() 122 let mut vc_data = tty.vc_data_irqsave(); in do_write() 170 fn install(&self, _driver: Arc<TtyDriver>, tty: Arc<TtyCore>) -> Result<(), SystemError> { in install() 171 let tty_core = tty.core(); in install() 209 vc_data.port().setup_internal_tty(Arc::downgrade(&tty)); in install() 210 tty.set_port(vc_data.port()); in install() 227 fn write(&self, tty: &TtyCoreData, buf: &[u8], nr: usize) -> Result<usize, SystemError> { in write() 231 let ret = self.do_write(tty, buf, nr); in write() 232 self.flush_chars(tty); in write() 237 fn flush_chars(&self, tty: &TtyCoreData) { in flush_chars() [all …]
|
/DragonOS/kernel/src/libs/ |
H A D | printk.rs | 12 driver::tty::{ 51 let tty = port.port_data().internal_tty(); in __write_string() localVariable 52 if let Some(tty) = tty { in __write_string() 53 let _ = tty.write(tty.core(), s.as_bytes(), s.len()); in __write_string()
|
H A D | keyboard_parser.rs | 1 use crate::driver::tty::kthread::send_to_tty_refresh_thread;
|
/DragonOS/kernel/src/driver/ |
H A D | mod.rs | 17 pub mod tty; module
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.9.md | 83 - refactor: 重构tty模块,实现unix兼容tty([#577](https://github.com/DragonOS-Community/DragonOS/pull/577)) 163 fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 (#592) 165 fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 167 2. 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 194 * 修改do_signal和其他中断上下文锁未关中断,以及拓展tty功能,修改tty几个算法bug 268 * 使得put_string系统调用能够通过tty输出颜色 305 将tty输出接入串口 (#555) 344 修改tty几个bug (#549) 350 * 修改一处bug,并且加入tty的link,为pty做准备 361 - 写:printf能够正常在tty输出 [all …]
|
H A D | V0.1.6.md | 43 - stdio: 新增tty设备,用于标准输入输出 (#202) (#217) 197 * 将stdio与tty接上 293 new: tty设备(尚未与stdio接上) (#202)
|
H A D | V0.1.10.md | 45 - fix(driver/tty): 修复tty设备显示在/sys目录下的bug (#668) 74 - feat(tty): add dummy console (#735) 443 Feat(tty): add dummy console (#735) 754 修复tty设备显示在/sys目录下的bug (#668) 789 * fix tty unicode
|
H A D | V0.1.0.md | 183 - 虚拟tty设备
|
/DragonOS/ |
H A D | triagebot.toml | 106 [mentions."kernel/src/driver/tty"] 107 message = "tty驱动发生了更改,请进行审查"
|
/DragonOS/kernel/src/process/ |
H A D | mod.rs | 28 driver::tty::tty_core::TtyCore, 1487 tty: Option<Arc<TtyCore>>, field 1515 pub fn tty(&self) -> Option<Arc<TtyCore>> { in tty() method 1516 self.tty.clone() in tty() 1519 pub fn set_tty(&mut self, tty: Arc<TtyCore>) { in set_tty() 1520 self.tty = Some(tty); in set_tty() 1545 tty: None, in default()
|
/DragonOS/kernel/src/libs/lib_ui/ |
H A D | textui.rs | 4 tty::{tty_port::tty_port, virtual_terminal::virtual_console::CURRENT_VCNUM}, 1048 let tty = port.port_data().internal_tty(); in rs_textui_putchar() localVariable 1049 if let Some(tty) = tty { in rs_textui_putchar() 1051 return tty in rs_textui_putchar()
|
/DragonOS/kernel/src/driver/video/fbdev/base/fbcon/ |
H A D | framebuffer_console.rs | 7 tty::{ 344 op: crate::driver::tty::virtual_terminal::virtual_console::CursorOperation, in con_cursor() 401 dir: crate::driver::tty::virtual_terminal::virtual_console::ScrollDir, in con_scroll()
|
H A D | mod.rs | 20 tty::virtual_terminal::virtual_console::{CursorOperation, VcCursor, VirtualConsoleData},
|
/DragonOS/kernel/src/filesystem/devpts/ |
H A D | mod.rs | 20 tty::{
|