Tham chiếu cấu trúc hw_module_t

Tham chiếu cấu trúc hw_module_t

#include < hardware.h >

Trường dữ liệu

uint32_t nhãn
uint16_t module_api_version
uint16_t hal_api_version
const char * Tôi
const char * Tên
const char * tác giả
struct hw_module_methods_t * phương pháp
void * dso
uint32_t dành riêng [32-7]

miêu tả cụ thể

Mọi mô-đun phần cứng phải có cấu trúc dữ liệu có tên 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ể của mô-đun.

Định nghĩa ở dòng 86 của tệp tin Hardware.h .

Tài liệu thực địa

const char * tác giả

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 tin Hardware.h .

void * dso

mô-đun của dso

Định nghĩa ở dòng 145 của tệp tin 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 mã nguồn tạm thời. Chúng sẽ bị loại bỏ trong phiên bản tiếp theo. TẤT CẢ máy 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. Điều này có nghĩa là để phiên bản các cấu trúc và định nghĩ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 tin Hardware.h .

const char * id

Định danh của mô-đun

Định nghĩa ở dòng 133 của tệp tin Hardware.h .

phương thức struct hw_module_methods_t *

Phương pháp mô-đun

Định nghĩa tại dòng 142 của tập tin 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 có trách nhiệm cập nhật phiên bản khi giao diện mô-đun đã thay đổi.

Các mô-đun dẫn xuất như gralloc và âm thanh sở hữu và quản lý trường này. Người sử dụng mô-đun phải diễn giải trường phiên bản để quyết định có vận hành lẫn nhau với việc triển khai mô-đun được cung cấp hay không. Ví dụ: SurfaceFlinger có 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 âm thanh và AudioFlinger phải biết cách làm tương tự đối với API mô-đun âm thanh.

Phiên bản API mô-đun nên 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 tin Hardware.h .

const char * tên

Tên của mô-đun này

Định nghĩa tại dòng 136 của tệp tin Hardware.h .

uint32_t dành riêng [32-7]

padding đến 128 byte, được dành riêng để sử dụng trong tương lai

Định nghĩa tại dòng 151 của tệp tin Hardware.h .

thẻ uint32_t

thẻ phải được khởi tạo thành HARDWARE_MODULE_TAG

Định nghĩa ở dòng 88 của tệp tin Hardware.h .


Tài liệu cho cấu trúc này được tạo từ tệp sau:
  • phần cứng / libhardware / bao gồm / phần cứng / phần cứng.h