一、结构体成员

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. [2017-7-28]Android Learning Day6

    常用控件 Spinner DatePickerDialog TimePickerDiaog RadioButton CheckBox spinner(下拉菜单) <Spinner android ...

  2. hdu 1160 FatMouse's Speed (最长上升子序列+打印路径)

    Problem Description FatMouse believes that the fatter a mouse is, the faster it runs. To disprove th ...

  3. laravel基于redis实现的一个简单的秒杀系统

    说明:网上很多redis秒杀系统的文章,看的都是一头雾水,然后自己来实现一个,也方便以后自己学习 实现的方式是用的redis的list队列,框架为laravel 核心部分为list的pop操作,此操作 ...

  4. java的线程

    public class Test1 extends Thread{ public void run(){ // } } public class Test2 immplement Runnable{ ...

  5. echarts map地图设置外边框或者阴影

    geo: { map: 'china', center: [112.194115019531, 23.582111640625], zoom: 12, aspectScale: 1, //长宽比 la ...

  6. tomcat部署-手动启动tomcat部署,添加网页,

    公司的内网什么都不能往外传,于是自己用公司的网络搭了一个网页,在网上抄了一堆upload,用来来回传输数据.... 但是每次用ideaJ启动服务器太费时. 研究了一下怎么手动启动tomcat,部署网页 ...

  7. Tomcat第一个站点介绍

    背景 在讨论如何组织源码目录之前,很有必要对现有web站点的组织结构进行测试,特别是2.2版本的API,在服务器版本上是不同的,所以在2.2之后的版本中,所有的服务器版本都要求能够使用标准的压缩web ...

  8. 将分支代码合并到master和将master代码合并到dev

    两种合并分支的方法: 都保证在合到的那个分支上面:A合并到B,即保证当前在B分支上. A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master ...

  9. secureCRT恶意终止下次无法启动

    secureCRT使用中恶意中断后会在C:\Documents and Settings\wuyipeng\Application Data目录下产生一个secureCRT.dmp文件 下次正常运行s ...

  10. zend studio报错

    Problems encountered while setting project description. Cannot create linked resource '/.org.eclipse ...