|
INT32 | system_console_init (const CHAR *deviceName) |
| https://man7.org/linux/man-pages/man3/tcflow.3.html termios 是在POSIX规范中定义的标准接口,表示终端设备,包括虚拟终端、串口等。串口通过termios进行配置。 struct termios { unsigned short c_iflag; // 输入模式标志 unsigned short c_oflag; // 输出模式标志 unsigned short c_cflag; // 控制模式标志 unsigned short c_lflag; // 本地模式标志 例如: 设置非规范模式 tios.c_lflag = ~(ICANON | ECHO | ECHOE | ISIG); unsigned char c_line; // 线路规程 unsigned char c_cc[NCC]; // 控制特性 speed_t c_ispeed; // 输入速度 speed_t c_ospeed; // 输出速度 } 终端有三种工作模式: 规范模式(canonical mode)、 非规范模式(non-canonical mode) 原始模式(raw mode)。 https://www.jianshu.com/p/fe5812469801 https://blog.csdn.net/wumenglu1018/article/details/53098794 更多...
|
|
INT32 | system_console_deinit (const CHAR *deviceName) |
| 控制台结束前的处理 和 system_console_init成对出现,像控制台的析构函数 更多...
|
|
BOOL | SetSerialNonBlock (const CONSOLE_CB *consoleCB) |
| 无锁方式设置串口 更多...
|
|
BOOL | SetSerialBlock (const CONSOLE_CB *consoleCB) |
| 锁方式设置串口 更多...
|
|
BOOL | SetTelnetNonBlock (const CONSOLE_CB *consoleCB) |
| 无锁方式设置远程登录 更多...
|
|
BOOL | SetTelnetBlock (const CONSOLE_CB *consoleCB) |
| 锁方式设置远程登录 更多...
|
|
CONSOLE_CB * | OsGetConsoleByID (INT32 consoleID) |
| 获取参数控制台ID 获取对应的控制台控制块(描述符) 更多...
|
|
CONSOLE_CB * | OsGetConsoleByTaskID (UINT32 taskID) |
| 获取参数任务的控制台控制块(描述符) 更多...
|
|
INT32 | ConsoleTaskReg (INT32 consoleID, UINT32 taskID) |
| 任务注册控制台,每个shell任务都有属于自己的控制台 更多...
|
|
INT32 | ConsoleUpdateFd (VOID) |
| 控制台更新文件句柄 更多...
|
|
BOOL | ConsoleEnable (VOID) |
| 控制台使能 更多...
|
|
BOOL | is_nonblock (const CONSOLE_CB *consoleCB) |
|
BOOL | IsConsoleOccupied (const CONSOLE_CB *consoleCB) |
| 控制台是否被占用 更多...
|
|
INT32 | FilepOpen (struct file *filep, const struct file_operations_vfs *fops) |
| 打开串口或远程登录 更多...
|
|
INT32 | FilepClose (struct file *filep, const struct file_operations_vfs *fops) |
| 关闭串口或远程登录 更多...
|
|
INT32 | FilepRead (struct file *filep, const struct file_operations_vfs *fops, CHAR *buffer, size_t bufLen) |
| 从串口或远程登录中读数据 更多...
|
|
INT32 | FilepWrite (struct file *filep, const struct file_operations_vfs *fops, const CHAR *buffer, size_t bufLen) |
| 写数据到串口或远程登录 更多...
|
|
INT32 | FilepPoll (struct file *filep, const struct file_operations_vfs *fops, poll_table *fds) |
|
INT32 | FilepIoctl (struct file *filep, const struct file_operations_vfs *fops, INT32 cmd, unsigned long arg) |
|
INT32 | GetFilepOps (const struct file *filep, struct file **privFilep, const struct file_operations_vfs **fops) |
|
VOID | OsWaitConsoleSendTaskPend (UINT32 taskID) |
|
VOID | OsWakeConsoleSendTask (VOID) |
| 唤醒控制台发送任务 更多...
|
|
VOID | KillPgrp (UINT16 consoleId) |
| 杀死进程组 更多...
|
|
https://www.cnblogs.com/sparkdev/p/11460821.html
TTY 是 Teletype 或 Teletypewriter 的缩写,字符设备的通称,原来是指电传打字机,
后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘,显示器,
都是作为计算机的终端设备存在的,所以 TTY 也泛指计算机的终端(terminal)设备。
为了支持这些 TTY 设备,Linux 实现了一个叫做 TTY 的子系统。所以 TTY 既指终端,也指 Linux 的 TTY 子系统
/dev/console是一个虚拟的tty,在鸿蒙它映射到真正的dev/ttyS0(UART0)上
能直接显示系统消息的那个终端称为控制台,其他的则称为终端
- 版本
- 作者
- weharmonyos.com | 鸿蒙研究站 | 每天死磕一点点
- 日期
- 2021-12-8
在文件 console.h 中定义.