关于terimos结构体
在POSIX规范中定义的标准接口,它类似于系统V中的termio接口,通过设置termios类型的数据结构中的值和使用一小组函数调用,你就可以对终端接口进行控制。
最小的termios结构的典型定义如下:
struct termios
{
tcflag_t c_iflag; /* 输入模式 */
tcflag_t c_oflag; /* 输出模式 */
tcflag_t c_cflag; /* 控制模式 */
tcflag_t c_lflag;/* 本地模式 */
cc_t c_cc[NCCS]; /* 控制字符 */
};
SYNOPSIS
#include <termios.h>#include <unistd.h>
int tcgetattr(int fd, struct termios *termios_p); //用于获取与终端相关的参数
int tcsetattr(int fd, int optional_actions, //用于设置终端参数
const struct termios *termios_p);
int tcsendbreak(int fd, int duration);
int tcdrain(int fd); //等待直到所有写入 fd 引用的对象的输出都被传输
int tcflush(int fd, int queue_selector); //刷清(扔掉)输入缓存
int tcflow(int fd, int action); //挂起传输或接受
void cfmakeraw(struct termios *termios_p); // 制作新的终端控制属性
speed_t cfgetispeed(const struct termios *termios_p); //得到输入速度
speed_t cfgetospeed(const struct termios *termios_p); //得到输出速度
int cfsetispeed(struct termios *termios_p, speed_t speed); //设置输入速度
int cfsetospeed(struct termios *termios_p, speed_t speed); //设置输出速度
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
cfsetspeed(), cfmakeraw(): _BSD_SOURCE
DESCRIPTION 描述
termios 函数族提供了一个常规的终端接口,用于控制非
同步通信端口。
这里描述的大部分属性有一个 termios_p 类型的参数,它是指向一个 termios 结构的
指针。这个结构包含了至少下列成员:
tcflag_t c_iflag; /* 输入模式 */
tcflag_t c_oflag; /* 输出模式 */
tcflag_t c_cflag; /* 控制模式 */
tcflag_t c_lflag; /* 本地模式 */
cc_t c_cc[NCCS]; /* 控制字符 */