整理Termios结构体变量具体含义--delong

本文详细解析Termios结构体在Linux系统中的各个参数含义,包括输入模式c_iflag(如IGNBRK、BRKINT等)、输出模式c_oflag(如OPOST、OLCUC等)、控制模式c_cflag(如CBAUD、CSIZE等)以及本地模式c_lflag(如ISIG、ICANON等)。通过这些参数,可以控制终端的输入输出行为,例如波特率设置、字符大小端、流控制以及信号处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入模式c_iflag参数为:

 IGNBRK    忽略BREAK键输入

 BRKINT    如果设置了IGNBRK,BREAK键的输入将被忽略,

 如果设置了BRKINT ,将产生SIGINT中断

 IGNPAR    忽略奇偶校验错误

 PARMRK    标识奇偶校验错误

 INPCK     允许输入奇偶校验

 ISTRIP    去除字符的第8个比特

 INLCR     将输入的NL(换行)转换成CR(回车)

 IGNCR     忽略输入的回车

 ICRNL     将输入的回车转化成换行(如果IGNCR未设置的情况下)

 IUCLC     将输入的大写字符转换成小写字符(非POSIX)

 IXON      允许输入时对XON/XOFF流进行控制

 IXANY     输入任何字符将重启停止的输出

 IXOFF     允许输入时对XON/XOFF流进行控制

 IMAXBEL   当输入队列满的时候开始响铃,

 Linux在使用该参数而是认为该参数总是已经设置

 

输出模式c_oflag参数为:

 OPOST   处理后输出

 OLCUC   将输入的小写字符转换成大写字符(非POSIX)

 ONLCR    将输入的NL(换行)转换成CR(回车)及NL(换行)

 OCRNL    将输入的CR(回车)转换成NL(换行)

 ONOCR    第一行不输出回车符

 ONLRET   不输出回车符

 OFILL    发送填充字符以延迟终端输出

 OFDEL    以ASCII码的DEL作为填充字符,

如果未设置该参数,填充字符将是NUL(‘\0’)(非POSIX)

 NLDLY   换行输出延时,可以取NL0(不延迟)或NL1(延迟0.1s)

 CRDLY   回车延迟,取值范围为:CR0、CR1、CR2和 CR3

 TABDLY   水平制表符输出延迟,取值范围为:TAB0、TAB1、TAB2和TAB3

 BSDLY    空格输出延迟,可以取BS0或BS1

 VTDLY   垂直制表符输出延迟,可以取VT0或VT1

 FFDLY   换页延迟,可以取FF0或FF1

 

 控制模式参数c_oflag参数为:

 CBAUD    波特率(4+1位)(非POSIX)

 CBAUDEX  附加波特率(1位)(非POSIX)

 CSIZE    字符长度,取值范围为CS5、CS6、CS7或CS8

 CSTOPB   设置两个停止位

 CREAD    使用接收器

 PARENB   使用奇偶校验

 PARODD   对输入使用奇偶校验,对输出使用偶校验

 HUPCL    关闭设备时挂起

 CLOCAL   忽略调制解调器线路状态

 CRTSCTS  使用RTS/CTS流控制

 

本地模式c_lflag参数为:

    ISIG    当输入INTR、QUIT、SUSP或DSUSP时,产生相应的信号

    ICANON  使用标准输入模式

    XCASE   在ICANON和XCASE同时设置的情况下,终端只使用大写。如果只设置了XCASE,则输入字符将被转换为小写字符,除非字符使用了转义字符(非POSIX,且Linux不支持该参数)

    ECHO    显示输入字符

    ECHOE   如果ICANON同时设置,ERASE将删除输入的字符,

    WERASE将删除输入的单词

    ECHOK   如果ICANON同时设置,KILL将删除当前行

    ECHONL  如果ICANON同时设置,即使ECHO没有设置依然显示换行符

    ECHOPRT 如果ECHO和ICANON同时设置,将删除打印出的字符(非POSIX)

TOSTOP  向后台输出发送SIGTTOU信号

 

控制字符NCCS可以用一下的参数代替,当然也有不同的含义哦。

    VINTR   Interrupt字符

    VEOL    附加的End-of-file字符

    VQUIT   Quit字符

    VTIME   非规范模式读取时的超时时间

    VERASE  Erase字符

    VSTOP   Stop字符

     VKILL   Kill字符

     VSTART  Start字符

     VEOF    End-of-file字符

    VSUSP   Suspend字符

    VMIN   非规范模式读取时的最小字符数

 

 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/sun_app

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值