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