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 中实现。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.