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