tcsetattr函数.docxVIP

  • 83
  • 0
  • 约3.09千字
  • 约 5页
  • 2017-07-09 发布于河南
  • 举报
tcsetattr函数

头文件#includetermios.h2函数原型int tcsetattr(int fd, int optional_actions, const struct termios *termios_p);3说明tcsetattr函数用于设置终端参数。函数在成功的时候返回0,失败的时候返回-1,并设置errno的值。参数fd为打开的终端文件描述符,参数optional_actions用于控制修改起作用的时间,而结构体termios_p中保存了要修改的参数。optional_actions可以取如下的值。TCSANOW:不等数据传输完毕就立即改变属性。TCSADRAIN:等待所有数据传输结束才改变属性。TCSAFLUSH:清空输入输出缓冲区才改变属性。错误信息:EBADF:非法的文件描述符。EINTR:tcsetattr函数调用被信号中断。EINVAL:参数optional_actions使用了非法值,或参数termios中使用了非法值。ENCTTY:非终端的文件描述符。tcgetattr#includetermios.h2函数原型int tcgetattr(int fd, struct termios *termios_p);3说明tcgetattr函数用于获取与终端相关的参数。参数fd为终端的文件描述符,返回的结果保存在termios结构体中,该结构体一般包括如下的成员:tcflag_t c_iflag;tcflag_t c_oflag;tcflag_t c_cflag;tcflag_t c_lflag;cc_t c_cc[NCCS];其具体意义如下。c_iflag:输入模式标志,控制终端输入方式,具体参数如表1所示。表1 c_iflag参数表键值说明IGNBRK忽略BREAK键输入BRKINT如果设置了IGNBRK,BREAK键输入将被忽略IGNPAR忽略奇偶校验错误PARMRK标识奇偶校验错误INPCK允许输入奇偶校验ISTRIP去除字符的第8个比特INLCR将输入的NL(换行)转换成CR(回车)IGNCR忽略输入的回车ICRNL将输入的回车转化成换行(如果IGNCR未设置的情况下)IUCLC将输入的大写字符转换成小写字符(非POSIX)IXON允许输出时对XON/XOFF流进行控制IXANY输入任何字符将重启停止的输出IXOFF允许输入时对XON/XOFF流进行控制IMAXBEL当输入队列满的时候开始响铃c_oflag:输出模式标志,控制终端输出方式,具体参数如表2所示。表2 c_oflag参数键值说明OPOST处理后输出OLCUC将输入的小写字符转换成大写字符(非POSIX)ONLCR将输入的NL(换行)转换成CR(回车)及NL(换行)OCRNL将输入的CR(回车)转换成NL(换行)ONOCR第一行不输出回车符ONLRET不输出回车符OFILL发送填充字符以延迟终端输出OFDEL以ASCII码的DEL作为填充字符,如果未设置该参数,填充字符为NULNLDLY换行输出延时,可以取NL0(不延迟)或NL1(延迟0.1s)CRDLY回车延迟,取值范围为:CR0、CR1、CR2和 CR3TABDLY水平制表符输出延迟,取值范围为:TAB0、TAB1、TAB2和TAB3BSDLY空格输出延迟,可以取BS0或BS1VTDLY垂直制表符输出延迟,可以取VT0或VT1FFDLY换页延迟,可以取FF0或FF1c_cflag:控制模式标志,指定终端硬件控制信息,具体参数如表3所示。表3 c_cflag参数键值说明CBAUD波特率(4+1位)(非POSIX)CBAUDEX附加波特率(1位)(非POSIX)CSIZE字符长度,取值范围为CS5、CS6、CS7或CS8CSTOPB设置两个停止位CREAD使用接收器PARENB使用奇偶校验PARODD对输入使用奇偶校验,对输出使用偶校验HUPCL关闭设备时挂起CLOCAL忽略调制解调器线路状态CRTSCTS使用RTS/CTS流控制c_lflag:本地模式标志,控制终端编辑功能,具体参数如表4所示。表4 c_lflag参数键值说明ISIG当输入INTR、QUIT、SUSP或DSUSP时,产生相应的信号ICANON使用标准输入模式XCASE在ICANON和XCASE同时设置的情况下,终端只使用大写。ECHO显示输入字符ECHOE如果ICANON同时设置,ERASE将删除输入的字符ECHOK如果ICANON同时设置,KILL将删除当前行ECHONL如果ICANON同时设置,即使ECHO没有设置依然显示换行符ECHOPRT如果ECHO和ICANON同时设置,将删除打印出的字符(非POSIX)TOSTOP向后台输出发送SIGTTOU信号c_cc[NCCS]:控制字符,用于保存终端驱动程序中的特殊字符,如输入

文档评论(0)

1亿VIP精品文档

相关文档