Tài liệu tham khảo về cấu trúc hw_module_t
#include <
hardware.h
>
Trường dữ liệu |
|
uint32_t | Thẻ |
uint16_t | module_api_version |
uint16_t | hal_api_version |
const char * | id |
const char * | name |
const char * | author |
struct hw_module_methods_t * | phương thức |
void * | dso |
uint32_t | reserved [32-7] |
Nội dung mô tả chi tiết
Mỗi mô-đun phần cứng phải có một cấu trúc dữ liệu có tên là HAL_MODULE_INFO_SYM và các trường của cấu trúc dữ liệu này phải bắt đầu bằng hw_module_t , theo sau là thông tin cụ thể về mô-đun.
Định nghĩa tại dòng 86 của tệp hardware.h .
Tài liệu về trường
const char* author |
Tác giả/chủ sở hữu/người triển khai mô-đun
Định nghĩa tại dòng 139 của tệp hardware.h .
void* dso |
dso của mô-đun
Định nghĩa tại dòng 145 của tệp hardware.h .
uint16_t hal_api_version |
Các định nghĩa version_major/version_minor được cung cấp tại đây để tương thích tạm thời với mã nguồn. Các tính năng này sẽ bị xoá trong phiên bản tiếp theo. TẤT CẢ ứng dụng khách phải chuyển đổi sang định dạng phiên bản mới. Phiên bản API của giao diện mô-đun HAL. Mục đích của việc này là để tạo phiên bản cho các cấu trúc và định nghĩa của hw_module_t , hw_module_methods_t và hw_device_t .
Giao diện HAL sở hữu trường này. Người dùng/triển khai mô-đun KHÔNG được dựa vào giá trị này để biết thông tin phiên bản.
Hiện tại, 0 là giá trị hợp lệ duy nhất.
Định nghĩa tại dòng 129 của tệp hardware.h .
const char* id |
Giá trị nhận dạng của mô-đun
Định nghĩa tại dòng 133 của tệp hardware.h .
các phương thức struct hw_module_methods_t * |
Phương thức mô-đun
Định nghĩa tại dòng 142 của tệp hardware.h .
uint16_t module_api_version |
Phiên bản API của mô-đun đã triển khai. Chủ sở hữu mô-đun chịu trách nhiệm cập nhật phiên bản khi giao diện mô-đun thay đổi.
Các mô-đun phái sinh như gralloc và âm thanh sở hữu và quản lý trường này. Người dùng mô-đun phải diễn giải trường phiên bản để quyết định có tương tác với quá trình triển khai mô-đun được cung cấp hay không. Ví dụ: SurfaceFlinger chịu trách nhiệm đảm bảo rằng nó biết cách quản lý các phiên bản khác nhau của API mô-đun gralloc và AudioFlinger phải biết cách làm tương tự cho API mô-đun âm thanh.
Phiên bản API mô-đun phải bao gồm một thành phần chính và một thành phần phụ. Ví dụ: phiên bản 1.0 có thể được biểu thị là 0x0100. Định dạng này ngụ ý rằng các phiên bản 0x0100-0x01ff đều tương thích với API.
Trong tương lai, libhardware sẽ hiển thị một hàm hw_get_module_version() (hoặc tương đương) sẽ lấy các phiên bản được hỗ trợ tối thiểu/tối đa làm đối số và có thể từ chối các mô-đun có phiên bản nằm ngoài phạm vi được cung cấp.
Định nghĩa tại dòng 111 của tệp hardware.h .
const char* name |
Tên của mô-đun này
Định nghĩa tại dòng 136 của tệp hardware.h .
uint32_t reserved[32-7] |
khoảng đệm lên đến 128 byte, dành để sử dụng trong tương lai
Định nghĩa tại dòng 151 của tệp hardware.h .
Thẻ uint32_t |
thẻ phải được khởi chạy thành HARDWARE_MODULE_TAG
Định nghĩa tại dòng 88 của tệp hardware.h .
Tài liệu cho cấu trúc này được tạo từ tệp sau:
- hardware/libhardware/include/hardware/ hardware.h