Home
last modified time | relevance | path

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

12

/DragonOS/kernel/src/driver/tty/
H A Dtty_job_control.rs20 pub fn proc_set_tty(tty: Arc<TtyCore>) { in proc_set_tty()
21 let core = tty.core(); in proc_set_tty()
27 assert!(pcb.sig_info_irqsave().tty().is_none()); in proc_set_tty()
31 singal.set_tty(Some(tty.clone())); in proc_set_tty()
35 pub fn tty_check_change(tty: Arc<TtyCore>, sig: Signal) -> Result<(), SystemError> { in tty_check_change()
38 if pcb.sig_info_irqsave().tty().is_none() in tty_check_change()
39 || !Arc::ptr_eq(&pcb.sig_info_irqsave().tty().unwrap(), &tty) in tty_check_change()
44 let core = tty.core(); in tty_check_change()
72 pub fn job_ctrl_ioctl(tty: Arc<TtyCore>, cmd: u32, arg: usize) -> Result<usize, SystemError> { in job_ctrl_ioctl()
75 match Self::tty_check_change(tty.clone(), Signal::SIGTTOU) { in job_ctrl_ioctl()
[all …]
H A Dtty_port.rs23 tty: Weak<TtyCore>, field
42 tty: Weak::new(), in new()
51 pub fn tty(&self) -> Option<Arc<TtyCore>> { in tty() method
52 self.tty.upgrade() in tty()
76 fn setup_internal_tty(&self, tty: Weak<TtyCore>) { in setup_internal_tty()
77 self.port_data().internal_tty = tty; in setup_internal_tty()
82 let tty = self.port_data().internal_tty().unwrap(); in receive_buf() localVariable
84 let ld = tty.ldisc(); in receive_buf()
86 let ret = ld.receive_buf2(tty.clone(), buf, None, count); in receive_buf()
88 return ld.receive_buf(tty, buf, None, count); in receive_buf()
[all …]
H A Dtty_device.rs152 let tty = driver.open_tty(Some(index))?; in open() localVariable
156 tty: tty.clone(), in open()
160 let ret = tty.open(tty.core()); in open()
168 let driver = tty.core().driver(); in open()
176 let pcb_tty = pcb.sig_info_irqsave().tty(); in open()
177 if pcb_tty.is_none() && tty.core().contorl_info_irqsave().session.is_none() { in open()
178 TtyJobCtrlManager::proc_set_tty(tty); in open()
192 let (tty, mode) = if let FilePrivateData::Tty(tty_priv) = &*data { in read_at()
193 (tty_priv.tty(), tty_priv.mode) in read_at()
200 let ld = tty.ldisc(); in read_at()
[all …]
H A Dtty_core.rs14 driver::{base::device::device_number::DeviceNumber, tty::pty::ptm_driver},
170 pub fn tty_mode_ioctl(tty: Arc<TtyCore>, cmd: u32, arg: usize) -> Result<usize, SystemError> { in tty_mode_ioctl()
171 let core = tty.core(); in tty_mode_ioctl()
177 tty in tty_mode_ioctl()
212 tty: Arc<TtyCore>, in core_set_termios()
218 let mut tmp_termios = *tty.core().termios(); in core_set_termios()
236 let ld = tty.ldisc(); in core_set_termios()
237 let _ = ld.flush_buffer(tty.clone()); in core_set_termios()
244 TtyCore::set_termios_next(tty, tmp_termios)?; in core_set_termios()
248 fn set_termios_next(tty: Arc<TtyCore>, new_termios: Termios) -> Result<(), SystemError> { in set_termios_next()
[all …]
H A Dtty_driver.rs25 tty::tty_port::TtyPortState,
269 let tty = tty_core.core(); in standard_install() localVariable
270 tty.init_termios(); in standard_install()
273 tty.add_count(); in standard_install()
275 self.ttys.lock().insert(tty.index(), tty_core); in standard_install()
280 fn driver_install_tty(&self, tty: Arc<TtyCore>) -> Result<(), SystemError> { in driver_install_tty()
281 let res = tty.install(self.self_ref(), tty.clone()); in driver_install_tty()
285 return self.standard_install(tty); in driver_install_tty()
289 tty.core().name(), in driver_install_tty()
296 self.add_tty(tty); in driver_install_tty()
[all …]
H A Dkthread.rs8 driver::tty::virtual_terminal::vc_manager,
/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::{
47 _intensity: crate::driver::tty::virtual_terminal::virtual_console::VirtualConsoleIntensity, in con_build_attr()
67 let tty = vc.port().port_data().tty().unwrap(); in con_init() localVariable
68 tty.resize( in con_init()
69 tty.clone(), in con_init()
/DragonOS/kernel/src/driver/serial/serial8250/
H A Dserial8250_pio.rs21 tty::{
350 tty: Arc<TtyCore>, in do_install()
353 driver.standard_install(tty.clone())?; in do_install()
354 vc.port().setup_internal_tty(Arc::downgrade(&tty)); in do_install()
355 tty.set_port(vc.port()); in do_install()
367 fn write(&self, tty: &TtyCoreData, buf: &[u8], nr: usize) -> Result<usize, SystemError> { in write()
368 let index = tty.index(); in write()
369 if tty.index() >= unsafe { PIO_PORTS.len() } { in write()
380 fn put_char(&self, tty: &TtyCoreData, ch: u8) -> Result<(), SystemError> { in put_char()
381 self.write(tty, &[ch], 1).map(|_| ()) in put_char()
[all …]
/DragonOS/kernel/src/driver/tty/virtual_terminal/
H A Dmod.rs198 .map(|tty| tty.core().name().to_string()) in current_vc_tty_name()
219 .map(|tty| tty.core().name().as_str() == name) in lookup_vc_by_tty_name()
303 fn do_install(&self, tty: Arc<TtyCore>, vc: &Arc<VirtConsole>) -> Result<(), SystemError> { in do_install()
304 let tty_core = tty.core(); in do_install()
344 vc.port().setup_internal_tty(Arc::downgrade(&tty)); in do_install()
345 tty.set_port(vc.port()); in do_install()
354 fn install(&self, _driver: Arc<TtyDriver>, tty: Arc<TtyCore>) -> Result<(), SystemError> { in install()
359 self.do_install(tty, &vc) in install()
375 fn write(&self, tty: &TtyCoreData, buf: &[u8], nr: usize) -> Result<usize, SystemError> { in write()
380 let ret = tty.do_write(buf, nr); in write()
[all …]
/DragonOS/kernel/src/libs/
H A Dprintk.rs9 driver::tty::{tty_driver::TtyOperation, virtual_terminal::vc_manager},
44 let tty = port.port_data().internal_tty(); in __write_string() localVariable
45 if let Some(tty) = tty { in __write_string()
46 let _ = tty.write(tty.core(), s.as_bytes(), s.len()); in __write_string()
/DragonOS/kernel/src/driver/
H A Dmod.rs17 pub mod tty; module
/DragonOS/kernel/src/process/
H A Dmod.rs28 driver::tty::tty_core::TtyCore,
427 if let Some(tty) = pcb.sig_info_irqsave().tty() { in exit()
428 tty.core().contorl_info_irqsave().pgid = None; in exit()
708 let (pid, ppid, cwd, cred, tty) = if is_idle { in do_create_pcb()
717 let tty = ProcessManager::current_pcb().sig_info_irqsave().tty(); in do_create_pcb() localVariable
718 (Self::generate_pid(), ppid, cwd, cred, tty) in do_create_pcb()
758 pcb.sig_info.write().set_tty(tty); in do_create_pcb()
1531 tty: Option<Arc<TtyCore>>, field
1559 pub fn tty(&self) -> Option<Arc<TtyCore>> { in tty() method
1560 self.tty.clone() in tty()
[all …]
H A Dstdio.rs4 driver::tty::virtual_terminal::vc_manager,
/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.toml114 [mentions."kernel/src/driver/tty"]
115 message = "tty驱动发生了更改,请进行审查"
/DragonOS/kernel/src/driver/serial/
H A Dmod.rs10 use super::tty::{
/DragonOS/kernel/src/libs/lib_ui/
H A Dtextui.rs3 serial::serial8250::send_to_default_serial8250_port, tty::virtual_terminal::vc_manager,
1040 let tty = port.port_data().internal_tty(); in rs_textui_putchar() localVariable
1041 if let Some(tty) = tty { in rs_textui_putchar()
1042 return tty in rs_textui_putchar()
/DragonOS/kernel/src/driver/video/fbdev/base/fbcon/
H A Dframebuffer_console.rs7 tty::{
347 op: crate::driver::tty::virtual_terminal::virtual_console::CursorOperation, in con_cursor()
404 dir: crate::driver::tty::virtual_terminal::virtual_console::ScrollDir, in con_scroll()

12