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