W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
tty_struct 變量被 tty 核心用來保持當(dāng)前的特定 tty 端口的狀態(tài). 幾乎它的所有的朋友都只被 tty 核心使用, 有幾個例外. 一個 tty 驅(qū)動可以使用的成員在此描述:
unsigned long flags;
tty 設(shè)備的當(dāng)前狀態(tài). 這是一個位段變量, 并且通過下面的宏定義存取:
TTY_THROTTLED
當(dāng)驅(qū)動以及有抑制函數(shù)被調(diào)用. 不應(yīng)當(dāng)被一個 tty 驅(qū)動設(shè)置, 只有 tty 核心.
TTY_IO_ERROR
由驅(qū)動設(shè)置當(dāng)它不想任何數(shù)據(jù)被讀出或?qū)懭腧?qū)動. 如果一個用戶程序試圖做這個, 它接收一個 -EIO 錯誤從內(nèi)核中. 這常常在設(shè)備被關(guān)閉時設(shè)置.
TTY_OTHER_CLOSED
只由 pty 驅(qū)動使用來通知, 當(dāng)端口已經(jīng)被關(guān)閉.
TTY_EXCLUSIVE
由 tty 核心設(shè)置來指示一個端口在獨占模式并且只能一次由一個用戶存取.
TTY_DEBUG
內(nèi)核中任何地方都不用.
TTY_DO_WRITE_WAKEUP
如果被設(shè)置, 線路規(guī)程的 write_wakeup 函數(shù)被允許來被調(diào)用. 常常在 tty_driver 調(diào)用 wake_up_interruptible 函數(shù)的同一時間被調(diào)用.
TTY_PUSH
只被缺省的 tty 線路規(guī)程內(nèi)部使用.
TTY_CLOSING
tty 核心用來跟蹤是否一個端口在那個時刻及時處于關(guān)閉過程.
TTY_DONT_FLIP
被缺省的 tty 線路規(guī)程用來通知 tty 核心, 它不應(yīng)當(dāng)改變 flip 緩沖, 當(dāng)它被置位.
TTY_HW_COOK_OUT
如果被一個 tty 驅(qū)動設(shè)置, 它通知線路規(guī)程應(yīng)當(dāng)"烹調(diào)"發(fā)送給它的輸出. 如果它沒有設(shè)置, 線路規(guī)程成塊拷貝驅(qū)動的輸出; 否則, 它不得不為線路改變將單個發(fā)送的字節(jié)逐個求值. 這個標(biāo)志應(yīng)當(dāng)通常不被 tty 驅(qū)動設(shè)置.
TTY_HW_COOK_IN
幾乎和設(shè)置在驅(qū)動中的 flag 變量中的 TTY_DRIVER_REAL_RAW 標(biāo)志一致. 這個標(biāo)志通常應(yīng)當(dāng)不被 tty 驅(qū)動設(shè)置.
TTY_PTY_LOCK
pty 驅(qū)動用來加鎖和解鎖一個端口.
TTY_NO_WRITE_SPLIT
如果設(shè)置, tty 核心不將對 tty 驅(qū)動的寫分成正常大小的塊. 這個值不應(yīng)當(dāng)用來阻止對 tty 端口通過發(fā)送大量數(shù)據(jù)到端口的DoS攻擊,
struct tty_flip_buffer flip;
給 tty 設(shè)備的 flip 緩沖.
struct tty_ldisc ldisc;
給 tty 設(shè)備的線路規(guī)程.
wait_queue_head_t write_wait;
給 tty 寫函數(shù)的 wait_queue. 一個 tty 驅(qū)動應(yīng)當(dāng)喚醒它,當(dāng)它可以接收更多數(shù)據(jù)時.
struct termios *termios;
指向 tty 設(shè)備的當(dāng)前 termios 設(shè)置的指針.
unsigned char stopped:1;
指示是否 tty 設(shè)備被停止. tty 驅(qū)動可以設(shè)置這個值.
unsigned char hw_stopped:1;
指示是否 tty 設(shè)備的已經(jīng)被停止. tty 驅(qū)動可以設(shè)置這個值.
unsigned char low_latency:1;
指示是否 tty 設(shè)備是一個低反應(yīng)周期的設(shè)備, 能夠高速接收數(shù)據(jù). tty 驅(qū)動可以設(shè)置這個值.
unsigned char closing:1;
指示是否 tty 設(shè)備在關(guān)閉端口當(dāng)中. tty 驅(qū)動可以設(shè)置這個值.
struct tty_driver driver;
當(dāng)前控制這個 tty 設(shè)備的 tty_driver 結(jié)構(gòu).
void *driver_data;
指針, tty_driver 可以用來存儲對于 tty 驅(qū)動本地的數(shù)據(jù). 這個變量不被 tty 核心修改.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: