Home
last modified time | relevance | path

Searched refs:tty (Results 1 – 25 of 28) sorted by relevance

12

/DragonOS/kernel/src/driver/tty/
H A Dtty_job_control.rs17 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 Dtty_device.rs148 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 Dtty_core.rs14 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 Dtty_port.rs36 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 Dtty_driver.rs22 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 Dkthread.rs8 driver::tty::virtual_terminal::virtual_console::CURRENT_VCNUM,
/DragonOS/kernel/src/driver/tty/tty_ldisc/
H A Dmod.rs16 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 Dntty.rs11 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 Dunix98pty.rs5 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 Dmod.rs97 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 Ddummycon.rs4 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 Dmod.rs120 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 Dprintk.rs12 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 Dkeyboard_parser.rs1 use crate::driver::tty::kthread::send_to_tty_refresh_thread;
/DragonOS/kernel/src/driver/
H A Dmod.rs17 pub mod tty; module
/DragonOS/docs/community/ChangeLog/V0.1.x/
H A DV0.1.9.md83 - 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输出颜色
305tty输出接入串口 (#555)
344 修改tty几个bug (#549)
350 * 修改一处bug,并且加入tty的link,为pty做准备
361 - 写:printf能够正常在tty输出
[all …]
H A DV0.1.6.md43 - stdio: 新增tty设备,用于标准输入输出 (#202) (#217)
197 * 将stdio与tty接上
293 new: tty设备(尚未与stdio接上) (#202)
H A DV0.1.10.md45 - 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 DV0.1.0.md183 - 虚拟tty设备
/DragonOS/
H A Dtriagebot.toml106 [mentions."kernel/src/driver/tty"]
107 message = "tty驱动发生了更改,请进行审查"
/DragonOS/kernel/src/process/
H A Dmod.rs28 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 Dtextui.rs4 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 Dframebuffer_console.rs7 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 Dmod.rs20 tty::virtual_terminal::virtual_console::{CursorOperation, VcCursor, VirtualConsoleData},
/DragonOS/kernel/src/filesystem/devpts/
H A Dmod.rs20 tty::{

12