hw_module_t Справочник по структуре

hw_module_t Справочник по структуре

#include < hardware.h >

Поля данных

uint32_t ярлык
uint16_t модуль_api_version
uint16_t hal_api_version
константный символ * идентификатор
константный символ * имя
константный символ * автор
структура hw_module_methods_t * методы
пустота * дсо
uint32_t зарезервировано [32-7]

Подробное описание

Каждый аппаратный модуль должен иметь структуру данных с именем HAL_MODULE_INFO_SYM, и поля этой структуры данных должны начинаться с hw_module_t , за которым следует информация, специфичная для модуля.

Определение в строке 86 файла hardware.h .

Полевая документация

const char* автор

Автор/владелец/разработчик модуля

Определение в строке 139 файла hardware.h .

пустота* дсо

dso модуля

Определение в строке 145 файла hardware.h .

uint16_t hal_api_version

Определения version_major/version_minor представлены здесь для временной совместимости исходного кода. В следующей версии они будут удалены. ВСЕ клиенты должны преобразоваться в формат новой версии. API-версия интерфейса модуля HAL. Это предназначено для версии структур и определений hw_module_t , hw_module_methods_t и hw_device_t .

Это поле принадлежит интерфейсу HAL. Пользователи/реализации модуля НЕ должны полагаться на это значение для получения информации о версии.

В настоящее время 0 является единственным допустимым значением.

Определение в строке 129 файла hardware.h .

константный символ* идентификатор

Идентификатор модуля

Определение в строке 133 файла hardware.h .

struct hw_module_methods_t * методы

Методы модулей

Определение в строке 142 файла hardware.h .

uint16_t модуль_api_version

Версия API реализованного модуля. Владелец модуля несет ответственность за обновление версии при изменении интерфейса модуля.

Производные модули, такие как gralloc и audio, владеют этим полем и управляют им. Пользователь модуля должен интерпретировать поле версии, чтобы решить, следует ли взаимодействовать с предоставленной реализацией модуля. Например, SurfaceFlinger отвечает за то, чтобы он знал, как управлять различными версиями API модуля gralloc, а AudioFlinger должен знать, как делать то же самое для API аудиомодуля.

Версия API модуля должна включать основной и второстепенный компоненты. Например, версия 1.0 может быть представлена ​​как 0x0100. Этот формат подразумевает, что все версии 0x0100–0x01ff совместимы с API.

В будущем libhardware предоставит функцию hw_get_module_version() (или эквивалентную), которая будет принимать минимальные/максимальные поддерживаемые версии в качестве аргументов и сможет отклонять модули с версиями, выходящими за пределы предоставленного диапазона.

Определение в строке 111 файла hardware.h .

константа char* имя

Название этого модуля

Определение в строке 136 файла hardware.h .

uint32_t зарезервировано [32-7]

заполнение до 128 байт, зарезервировано для будущего использования

Определение в строке 151 файла hardware.h .

тег uint32_t

тег должен быть инициализирован как HARDWARE_MODULE_TAG

Определение в строке 88 файла hardware.h .


Документация для этой структуры была создана из следующего файла:
  • Аппаратное обеспечение/libhardware/include/hardware/ hardware.h