LDD3读书笔记(第14章 tty设备驱动)

来源:互联网 发布:双色球数据库分析 编辑:程序博客网 时间:2024/05/16 10:50

本节提供了一些本章所讲述概念的参考介绍。它还介绍了tty驱动程序所需要的各个头文件的作用。当tty_driver和tty_device结构中的每一个成员,这里就不再重复了。

#include <linux/tty_driver.h>
    包含tty_driver结构定义,以及在该结构中一些不同标志位的声明。
#include <linux/tty.h>
    该头文件包含了tty_struct结构的定义以及许多不同的宏定义,使得对termios结构各成员值的访问更简单。它还包含了tty驱动程序核心的函数声明。
#include <linux/tty_flip.h>
    包含了一些tty交替缓冲区inline函数的头文件,这些inline函数能简化对交替缓冲区结构的操作。
#include <asm/termios.h>
    特定硬件平台创建内核时,使用的是包含termio结构定义的头文件。
struct tty_driver *alloc_tty_driver(int lines);
    创建tty_driver结构的函数,该结构以后将被传递给tty_register_driver和tty_unregister_deriver函数。
void put_tty_driver(struct tty_driver *driver);
    如果使用tty_driver结构向tty核心的注册没有成功,该函数负责清空tty_driver结构。
void tty_set_operations(struct tty_driver *driver,struct tty_operations *op);
    负责初始化结构tty_driver中的回调函数的函数。在调用tty_register_driver前必须调用它。
int tty_register_driver(struct tty_driver *driver);
int tty_unregister_driver(struct tty_driver *driver);
    从tty核心注册和注销一个tty驱动程序的函数。
void tty_register_device(struct tty_driver *driver,unsigned minor,struct device *device);
void tty_unregister_device(struct tty_driver *driver,unsigend minor);
    向tty核心注册和注销一个tty设备的函数。
void tty_insert_flip_char(struct tty_struct *tty,unsigned char ch,char flag);
    将字符插入到tty设备的交替缓冲区使用户能够读到的函数。
TTY_NORMAL
TTY_BREAK
TTY_FRAME
TTY_PARITY
TTY_OVERRUN
    在tty_insert_flip_char函数中使用的不同的标志位。
int tty_get_baud_rate(struct tty_struct *tty);
    获得指定tty设备当前波特率的函数。
void tty_get_flip_buffer_push(struct tty_struct *tty);
    把数据放入当前交替缓冲区并传递给用户的函数。
tty_std_termios
    用常见的默认线路设置初始化termios结构的变量。