10.3. Device_t指针
上一页 | 第 10 章 ISA设备驱动程序 | 下一页

## 10.3. Device_t指针

Device_t是为设备结构而定义的指针类型， 这里我们只关心从设备驱动程序编写者的角度看感兴趣的方法。下面的方法 用来操纵设备结构中的值：

- `device_t device_get_parent(dev)` 获取设备的父总线。

- `driver_t device_get_driver(dev)` 获取指向其驱动程序结构的指针。

- `char *device_get_name(dev)` 获取驱动程序的名字，在我们的 例子中为`"xxx"`。

- `int device_get_unit(dev)` 获取单元号（与每个驱动程序关联的设备从0开始编号）。

- `char *device_get_nameunit(dev)` 获取设备名，包括单元号。 例如“xxx0”，“xxx1” 等。

- `char *device_get_desc(dev)` 获取设备描述。通常它以人可读的 形式描述设备的确切型号。

- `device_set_desc(dev, desc)`设置描述信息。这使得设备描述指向desc字符串， 此后这个字符串就不能被解除分配。

- `device_set_desc_copy(dev, desc)` 设置描述信息。描述被拷贝到内部动态分配的 缓冲区，这样desc字符串在以后可以被改变而不会产生有害的结果。

- `void *device_get_softc(dev)` 获取指向与设备关联的设备描述符 （xxx_softc结构）的指针。

- `u_int32_t device_get_flags(dev)` 获取配置文件中特定于设备的 标志。

可以使用一个很方便的函数`device_printf(dev, fmt, ...)`从设备驱动程序中打印讯息。它自动在讯息前添加 单元名和冒号。

device_t的这些方法在文件`kern/bus_subr.c` 中实现。

上一页 | 上一级 | 下一页
10.2. 基本信息 | 起始页 | 10.4. 配置文件与自动配置期间识别和探测的顺序

本文档和其它文档可从这里下载： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.