编写设备驱动程序

结构句柄的操作

用于在结构上执行操作的宏如下所示:

size_t STRUCT_SIZE(handle )

返回 handle 所引用的结构的大小(取决于该结构的嵌入式数据模型)。

typeof fieldname STRUCT_FGET(handle, fieldname)

返回 handle 所引用的数据结构中的指定字段。此字段为非指针类型。

typeof fieldname STRUCT_FGETP(handle, fieldname)

返回 handle 所引用的数据结构中的指定字段。此字段为指针类型。

STRUCT_FSET(handle , fieldname, val)

handle 所引用的数据结构中的指定字段设置为值 valval 的类型应与 fieldname 的类型相匹配。此字段为非指针类型。

STRUCT_FSETP(handle , fieldname, val)

handle 所引用的数据结构中的指定字段设置为值 val。此字段为指针类型。

typeof fieldname *STRUCT_FADDR(handle, fieldname)

返回 handle 所引用的数据结构中的指定字段的地址。

struct structname *STRUCT_BUF(handle)

返回指向 handle 所描述的本机结构的指针。