hw_module_t 구조체 참조

hw_module_t 구조체 참조

#include < hardware.h >

데이터 필드

uint32_t 꼬리표
uint16_t module_api_version
uint16_t hal_api_version
상수 문자 * ID
상수 문자 * 이름
상수 문자 * 작가
구조체 hw_module_methods_t * 행동 양식
무효의 * 도소
uint32_t 예약됨 [32-7]

상세 설명

모든 하드웨어 모듈에는 HAL_MODULE_INFO_SYM이라는 데이터 구조가 있어야 하며 이 데이터 구조의 필드는 모듈 특정 정보가 뒤에 오는 hw_module_t 로 시작해야 합니다.

파일 hardware.h86 행에 있는 정의입니다.

현장 문서

const char* 작성자

모듈의 작성자/소유자/구현자

파일 hardware.h139 번째 줄에 있는 정의입니다.

무효 * dso

모듈의 dso

파일 hardware.h145 번째 줄에 정의가 있습니다.

uint16_t hal_api_version

version_major/version_minor 정의는 임시 소스 코드 호환성을 위해 여기에 제공됩니다. 다음 버전에서 제거됩니다. 모든 클라이언트는 새 버전 형식으로 변환해야 합니다. HAL 모듈 인터페이스의 API 버전입니다. 이것은 hw_module_t , hw_module_methods_thw_device_t 구조 및 정의의 버전을 지정하기 위한 것입니다.

HAL 인터페이스가 이 필드를 소유합니다. 모듈 사용자/구현은 버전 정보에 대해 이 값에 의존해서는 안 됩니다.

현재 유효한 값은 0뿐입니다.

파일 hardware.h129 번째 줄에 있는 정의입니다.

const char* id

모듈의 식별자

파일 hardware.h133 행에 있는 정의입니다.

struct hw_module_methods_t * 메소드

모듈 방법

파일 hardware.h142 행에 있는 정의입니다.

uint16_t 모듈_api_version

구현된 모듈의 API 버전입니다. 모듈 소유자는 모듈 인터페이스가 변경되었을 때 버전을 업데이트할 책임이 있습니다.

gralloc 및 오디오와 같은 파생 모듈이 이 필드를 소유하고 관리합니다. 모듈 사용자는 버전 필드를 해석하여 제공된 모듈 구현과 상호 운용할지 여부를 결정해야 합니다. 예를 들어 SurfaceFlinger는 다양한 버전의 gralloc-module API를 관리하는 방법을 알고 있는지 확인해야 하며 AudioFlinger는 오디오 모듈 API에 대해 동일한 작업을 수행하는 방법을 알고 있어야 합니다.

모듈 API 버전에는 주 및 부 구성 요소가 포함되어야 합니다. 예를 들어 버전 1.0은 0x0100으로 표시될 수 있습니다. 이 형식은 버전 0x0100-0x01ff가 모두 API와 호환됨을 의미합니다.

앞으로 libhardware는 최소/최대 지원 버전을 인수로 사용하고 제공된 범위를 벗어난 버전의 모듈을 거부할 수 있는 hw_get_module_version()(또는 이와 동등한) 함수를 노출할 것입니다.

파일 hardware.h111 번째 줄에 있는 정의입니다.

const char* 이름

이 모듈의 이름

파일 hardware.h136 번째 줄에 있는 정의입니다.

uint32_t 예약됨[32-7]

128바이트로 패딩, 향후 사용을 위해 예약됨

파일 hardware.h151 행에 정의가 있습니다.

uint32_t 태그

태그는 HARDWARE_MODULE_TAG로 초기화되어야 합니다.

파일 hardware.h88 행에 있는 정의입니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.