W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
tty_driver 結(jié)構(gòu)用來注冊一個 tty 驅(qū)動到 tty 核心. 這是結(jié)構(gòu)中所有不同的成員的列表和如何被 tty 核心使用:
struct module *owner;
這個驅(qū)動的模塊擁有者.
int magic;
給這個結(jié)構(gòu)的"魔術(shù)"值. 應(yīng)當(dāng)一直設(shè)為 TTY_DRIVER_MAGIC. 在 alloc_tty_driver 函數(shù)中被初始化.
const char *driver_name;
驅(qū)動的名子, 用在 /proc/tty 和 sysfs.
const char *name;
驅(qū)動的節(jié)點(diǎn)名.
int name_base;
使用的起始數(shù)字, 當(dāng)創(chuàng)建設(shè)備名子時. 當(dāng)內(nèi)核創(chuàng)建分配給這個 tty 驅(qū)動的一個特定 tty 設(shè)備的字符串表示是使用.
short major;
驅(qū)動的主編號
short minor_start;
驅(qū)動的開始次編號. 這常常設(shè)為 name_base 的相同值. 典型地, 這個值設(shè)為 0.
short num;
分配給這個驅(qū)動的次編號個數(shù). 如果整個主編號范圍被驅(qū)動使用了, 這個值應(yīng)當(dāng)設(shè)為 255. 這個變量在 alloc_tty_driver 函數(shù)中初始化.
short type;short subtype;
描述什么類型的 tty 驅(qū)動在注冊到 tty 核心. subtype 的值依賴于 type. type 成員可能是:
TTY_DRIVER_TYPE_SYSTEM
由 tty 子系統(tǒng)內(nèi)部使用來記住它在處理一個內(nèi)部 tty 驅(qū)動. subtype 應(yīng)當(dāng)設(shè)為 SYSTEM_TYPE_TTY, SYSTEM_TYEP_CONSOLE, SYSTEM_TYPE_SYSCONS, 或者 SYSTEM_TYPE_SYSPTMX. 這個類型不應(yīng)當(dāng)被任何"正常" tty 驅(qū)動使用.
TTY_DRIVER_TYPE_CONSOLE
僅被控制臺驅(qū)動使用.
TTY_DRIVER_TYPE_SERIAL
被任何串行類型驅(qū)動使用. subtype 應(yīng)當(dāng)設(shè)為 SERIAL_TYPE_NORMAL 或者 SERIAL_TYPE_CALLOUT, 根據(jù)你的驅(qū)動是什么類型. 這是 type 成員的其中一個最普遍的設(shè)置.
TTY_DRIVER_TYPE_PTY
被偽控制臺接口(pty)使用. subtype 需要被設(shè)置為 PTY_TYPE_MASTER 或者 PTY_TYPE_SLAVE.
struct termios init_termios;
當(dāng)創(chuàng)建設(shè)備時的初始化 struct termios 值.
int flags;
驅(qū)動標(biāo)志, 如同本章前面描述的.
struct proc_dir_entry *proc_entry;
這個驅(qū)動的 /proc 入口結(jié)構(gòu). 它由 tty 核心創(chuàng)建如果驅(qū)動實(shí)現(xiàn)了 write_proc 或者 read_proc 函數(shù). 這個成員不應(yīng)當(dāng)由 tty 驅(qū)動自己設(shè)置.
struct tty_driver *other;
指向一個 tty 從驅(qū)動. 這只被 pty 驅(qū)動使用, 并且不應(yīng)當(dāng)被其他的 tty 驅(qū)動使用.
void *driver_state;
tty 驅(qū)動的內(nèi)部狀態(tài). 應(yīng)當(dāng)只被 pty 驅(qū)動使用.
struct tty_driver next;struct tty_driver prev;
連接變量. 這些變量被 tty 核心使用來連接所有的不同 tty 驅(qū)動, 并且不應(yīng)當(dāng)被任何 tty 驅(qū)動碰.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: