18.9. 快速參考

2018-02-24 15:50 更新

18.9.?快速參考

本節(jié)提供了對本章介紹的概念的參考. 它還解釋了每個 tty 驅(qū)動需要包含的頭文件的角色. 在 tty_driver 和 tty_device 結(jié)構(gòu)中的成員變量的列表, 但是, 在這里不重復(fù).

#include <linux/tty_driver.h>

頭文件, 包含 struct tty_driver 的定義和聲明一些在這個結(jié)構(gòu)中的不同的標(biāo)志.

#include <linux/tty.h>

頭文件, 包含 tty_struct 結(jié)構(gòu)的定義和幾個不同的宏定義來易于存取 struct termios 的成員的單個值. 它還含有 tty 驅(qū)動核心的函數(shù)聲明.

#include <linux/tty_flip.h>

頭文件, 包含幾個 tty flip 緩沖內(nèi)聯(lián)函數(shù), 使得易于操作 flip 緩沖結(jié)構(gòu).

#include <asm/termios.h>

頭文件, 包含 struct termio 的定義, 用于內(nèi)核所建立的特定硬件平臺.

struct tty_driver *alloc_tty_driver(int lines);

函數(shù), 創(chuàng)建一個 struct tty_driver, 可之后傳遞給 tty_register_driver 和 tty_unregister_driver 函數(shù).

void put_tty_driver(struct tty_driver *driver);

函數(shù), 清理尚未成功注冊到 tty 內(nèi)核的 struct tty_driver 結(jié)構(gòu).

void tty_set_operations(struct tty_driver *driver, struct tty_operations *op);

函數(shù), 初始化 struct tty_driver 的函數(shù)回調(diào). 有必要在 tty_register_driver 可被調(diào)用前調(diào)用.

int tty_register_driver(struct tty_driver *driver);int tty_unregister_driver(struct tty_driver *driver);

函數(shù), 從 tty 核心注冊和注銷一個 tty 驅(qū)動.

void tty_register_device(struct tty_driver *driver, unsigned minor, struct device *device);
void tty_unregister_device(struct tty_driver *driver, unsigned minor);

對 tty 核心注冊和注銷一個單個 tty 設(shè)備的函數(shù).

void tty_insert_flip_char(struct tty_struct *tty, unsigned char ch, char flag);

插入字符到 tty 設(shè)備的要被用戶讀的 flip 緩沖的函數(shù).

TTY_NORMAL
TTY_BREAK
TTY_FRAME
TTY_PARITY
TTY_OVERRUN

flag 參數(shù)的不同值, 用在 tty_insert_flip_char 函數(shù).

int tty_get_baud_rate(struct tty_struct *tty);

函數(shù), 獲取當(dāng)前為特定 tty 設(shè)備設(shè)置的波特率.

void tty_flip_buffer_push(struct tty_struct *tty);

函數(shù), 將當(dāng)前 flip 緩沖中的數(shù)據(jù)推給用戶.

tty_std_termios 

變量, 使用一套通用的缺省線路設(shè)置來初始化一個 termios 結(jié)構(gòu).

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號