一、结构体成员

struct termios {
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_cc[NCCS];
};

二、成员具体意义

 (1)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在使用该参数而是认为该参数总是已经设置

 (2)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

 (3)c_cflag:控制模式标志,指定终端硬件控制信息,具体参数值如下所示

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

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

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

    CSTOPB 设置两个停止位

    CREAD 使用接收器

    PARENB 使用奇偶校验

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

    HUPCL 关闭设备时挂起

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

    CRTSCTS 使用RTS/CTS流控制

 (4)c_lflag:本地模式标志,控制终端编辑功能,具体参数值如下所示

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

    ICANON 使用标准输入模式

    XCASE 在ICANON和XCASE同时设置的情况下,终端只使用大写

    ECHO 显示输入字符

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

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

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

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

    TOSTOP 向后台输出发送SIGTTOU信号

termios结构体的内容的更多相关文章

  1. Linux串口通信之termios结构体说明

    termios结构体中,该结构体一般包括如下的成员:tcflag_t c_iflag;      tcflag_t c_oflag;      tcflag_t c_cflag;      tcfla ...

  2. struct termios结构体【转】

    本文转载自:http://blog.csdn.net/vevenlcf/article/details/51096122 一.数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通 ...

  3. Linux串口—struct termios结构体【转】

    转自:https://blog.csdn.net/yemingzhu163/article/details/5897156 一.数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步 ...

  4. struct termios结构体详解

    一.数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口. 这个结构包含了至少下列成员:tcflag_t c_iflag;      /* 输入模式 */tcflag_t ...

  5. termios结构体各成员的值(FreeBSD 12.0)

    一.文件位置 /usr/include/sys/_termios.h 二.文件内容 /*- * SPDX-License-Identifier: BSD-3-Clause * * Copyright ...

  6. p/invoke碎片,对结构体的处理

    结构体的一些相关知识 可直接转换类类型,比如int类型,在托管代码和非托管代码中占据内存大小 和意义都是一个样的. 结构体封送的关键是:在托管代码和非托管代码中定义的一致性.什么是定义的一致性?包括结 ...

  7. 内核中用于数据接收的结构体struct msghdr(转)

    内核中用于数据接收的结构体struct msghdr(转) 我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,pin ...

  8. (转) C/C++中结构体(struct)知识点强化

    本文转载于 http://pcedu.pconline.com.cn/empolder/gj/c/0503/567942_all.html#content_page_1 所有程序经过本人验证,部分程序 ...

  9. 一道经典的C++结构体的题目

    题目描述: 有10个学生,每个学生的数据包括学号.姓名.英语.数学.物理三门课的成绩,从键盘输入10个学生数据,要求打印出3门课程的总平均成绩,以及最高分的学生的数据(包括学号,姓名,3门课的平均成绩 ...

随机推荐

  1. Vue中的计算属性与$watch

    计算属性:在模板中绑定表达式是非常便利的,但是他们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么vue.js将绑定表达式限制为一个表达式. ...

  2. PHP-FPM安装报错解决

    PHP源码安装 setenforce 0--------------------------------------------------------------------安装php时的报错che ...

  3. centos7下安装部署mongodb集群(副本集模式)

    环境需求:Mongodb集群有三种模式:  Replica Set, Sharding,Master-Slaver.  这里部署的是Replica Set模式. 测试环境: 这里副本集(Replica ...

  4. HDU/HDOJ 4864 Task

    贪心题. 贪心方法很是naive...... 首先我们就能注意到一个性质:优先选择时间(x)长的,然后才是等级(y). 所以我们把机器和任务排好序,从大到小枚举任务.对于每一个x满足的机器,x也一定满 ...

  5. poj1193 内存分配

    气死我了...这个毒瘤内存分配..... 优先队列 + 链表模拟,看起来搞一搞就好了却WA来WA去... 最后对拍手动找才发现错误: erase的时候不要急急忙忙插入wait!要把同一时期的erase ...

  6. apply-javascript-internal

    代码如下:喜欢这种封装方式 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charse ...

  7. vue在body上面绑定enter事件

    mounted () { this.bodyListener = (e) => { if (e.keyCode === 13 && e.target === document.b ...

  8. 用tkinter制作签名设计窗口

    效果如下: from tkinter import * from tkinter import messagebox import requests import re from PIL import ...

  9. OmniPlan,一款让你无法自拔的项目管理工具(仅适用于MAC系统)

      OmniPlan 大家都知道Windows系统可以使用project来方便的管理跟踪项目的各项任务,那么Mac系统有没有这样专业级的项目管理软件了?答案是有,今天给大家推荐的Mac系统下的项目管理 ...

  10. 网络流n题

    近日好不容易在自救之路写完暑训遗留下来的网络流8题,在此回顾一下. Going Home POJ - 2195 题意:m要去H,一个H只能容纳一个m,一步一块钱,问最小花费. 思路:最小费用最大流的板 ...