在 Linux 下,termios
是一個用于控制和配置串行通信設備(如終端、鍵盤等)的庫
tcgetattr()
:獲取終端屬性。該函數將當前終端的屬性存儲在一個 struct termios
結構中。
tcsetattr()
:設置終端屬性。該函數使用一個 struct termios
結構來設置終端的屬性。
cfgetispeed()
和 cfgetospeed()
:分別獲取輸入和輸出波特率。這兩個函數返回一個 speed_t
類型的值,表示當前的波特率。
cfsetispeed()
和 cfsetospeed()
:分別設置輸入和輸出波特率。這兩個函數接受一個 speed_t
類型的值作為參數,用于設置波特率。
tcsendbreak()
:發送一個終端斷開信號。該函數可以用于模擬終端斷開操作,例如在掛起或斷開連接時。
tcdrain()
:等待輸出隊列清空。該函數會阻塞,直到所有已寫入的數據都被發送到終端設備。
tcflush()
:清空輸入/輸出隊列。該函數可以用于清除終端設備的輸入/輸出隊列。
tcflow()
:控制終端流量。該函數可以用于暫停或恢復終端設備的輸入/輸出流量。
tcsendbreak()
:發送一個終端斷開信號。該函數可以用于模擬終端斷開操作,例如在掛起或斷開連接時。
這些函數可以幫助你更好地控制和配置 Linux 終端設備。請注意,這些函數通常需要 root 權限才能正確運行。在使用這些函數時,請務必小心,因為錯誤的操作可能導致終端設備無法正常工作。