termios结构体

关于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]; /* 控制字符 */

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`struct termios` 是一个用于存储终端设备属性的结构,它在 `<termios.h>` 头文件中定义。它的原型如下: ```c struct termios { tcflag_t c_iflag; // 输入模式标志 tcflag_t c_oflag; // 输出模式标志 tcflag_t c_cflag; // 控制模式标志 tcflag_t c_lflag; // 本地模式标志 cc_t c_cc[NCCS]; // 特殊字符数组 speed_t c_ispeed; // 输入波特率 speed_t c_ospeed; // 输出波特率 }; ``` `struct termios` 结构用于存储终端设备的属性,包括输入模式、输出模式、控制模式、本地模式等。该结构的成员变量描述了终端设备的各种属性设置。 以下是 `struct termios` 结构的主要成员变量: - `c_iflag`:输入模式标志,用于设置输入处理方式,如是否启用回显、是否启用信号处理等。 - `c_oflag`:输出模式标志,用于设置输出处理方式,如是否启用输出处理、是否启用换行等。 - `c_cflag`:控制模式标志,用于设置终端设备的通信参数,如数据位数、停止位数、校验方式等。 - `c_lflag`:本地模式标志,用于设置终端设备的本地特性,如是否启用规范模式、是否启用回车换行等。 - `c_cc[NCCS]`:特殊字符数组,用于设置特殊控制字符,如终端输入和输出的结束字符、删除字符等。 - `c_ispeed`:输入波特率,用于设置终端设备的输入波特率。 - `c_ospeed`:输出波特率,用于设置终端设备的输出波特率。 这些成员变量可以根据需要进行设置和修改,以满足终端设备的特定要求。 希望对 `struct termios` 结构的原型有了更好的了解。如果你有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值