hw_device_t 结构体参考文档
#include <
hardware.h
>
数据字段 |
|
uint32_t | 标记 |
uint32_t | 版本 |
struct hw_module_t * | 模块 |
uint32_t | reserved [12] |
int(* | close )(struct hw_device_t *device) |
详细说明
每个设备数据结构都必须以 hw_device_t 开头,后跟模块专用公共方法和属性。
定义位于文件 hardware.h 的 167 行。
字段文档
int(* close)(struct hw_device_t *device) |
关闭此设备
定义位于文件 hardware.h 的 200 行。
struct hw_module_t * module |
对此设备所属模块的引用
定义位于文件 hardware.h 的 190 行 。
uint32_t reserved[12] |
预留以供日后使用的内边距
定义位于文件 hardware.h 的 196 行。
uint32_t tag |
标记必须初始化为 HARDWARE_DEVICE_TAG
定义位于文件 hardware.h 的 169 行 。
uint32_t 版本 |
特定于模块的设备 API 的版本。派生模块用户使用此值来管理不同的设备实现。
模块用户负责检查 module_api_version 和设备版本字段,以确保用户能够与特定模块实现进行通信。
一个模块可以支持多个版本的设备。如果设备接口以不兼容的方式发生变化,但同时仍需要支持旧版实现,这会很有用。Camera 2.0 API 就是一个这样的示例。
此字段由模块用户解读,HAL 接口本身会忽略此字段。
定义位于文件 hardware.h 的 187 行。
此结构体的文档是根据以下文件生成的:
- hardware/libhardware/include/hardware/ hardware.h