termios結構體說明

2021-06-05 06:26:30 字數 2172 閱讀 2354

termios結構體中,該結構體一般包括如下的成員:

tcflag_t c_iflag;     

tcflag_t c_oflag;     

tcflag_t c_cflag;     

tcflag_t c_lflag;    

cc_t     c_cc[nccs];

其具體意義如下

c_iflag

:輸入模式標誌,控制終端輸入方式,具體引數如下所示。

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

:輸出模式標誌,控制終端輸出方式,具體引數如下所示。

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_cflag

:控制模式標誌,指定終端硬體控制資訊,具體引數如下所示。

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訊號

來自:

termios結構體各成員

termios結構體內容 成員 描述 c cflag 控制模式標誌 c lflag 本地模式標誌 c iflag 輸入模式標誌 c oflag 輸出模式標誌 c line line discipline c cc nccs 控制字元 c ispeed 輸入波特率 c ospeed 輸出波特率 在te...

termios結構體之tcsetattr函式

tcsetattr是用於設定終端引數的函式 int tcsetattr int fd,int optional actions,const struct termios termios p tcsetattr函式用於設定終端引數。函式在成功的時候返回0,失敗的時候返回 1,並設定errno的值。引數...

termios結構體的詳細設定

termios結構體內容 成員 描述 c cflag 控制模式標誌 c lflag 本地模式標誌 c iflag 輸入模式標誌 c oflag 輸出模式標誌 c line line discipline c cc nccs 控制字元 c ispeed 輸入波特率 c ospeed 輸出波特率在ter...