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.h 의 86 행에 있는 정의입니다.
현장 문서
const char* 작성자 |
모듈의 작성자/소유자/구현자
파일 hardware.h 의 139 번째 줄에 있는 정의입니다.
무효 * dso |
모듈의 dso
파일 hardware.h 의 145 번째 줄에 정의가 있습니다.
uint16_t hal_api_version |
version_major/version_minor 정의는 임시 소스 코드 호환성을 위해 여기에 제공됩니다. 다음 버전에서 제거됩니다. 모든 클라이언트는 새 버전 형식으로 변환해야 합니다. HAL 모듈 인터페이스의 API 버전입니다. 이것은 hw_module_t , hw_module_methods_t 및 hw_device_t 구조 및 정의의 버전을 지정하기 위한 것입니다.
HAL 인터페이스가 이 필드를 소유합니다. 모듈 사용자/구현은 버전 정보에 대해 이 값에 의존해서는 안 됩니다.
현재 유효한 값은 0뿐입니다.
파일 hardware.h 의 129 번째 줄에 있는 정의입니다.
const char* id |
모듈의 식별자
파일 hardware.h 의 133 행에 있는 정의입니다.
struct hw_module_methods_t * 메소드 |
모듈 방법
파일 hardware.h 의 142 행에 있는 정의입니다.
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.h 의 111 번째 줄에 있는 정의입니다.
const char* 이름 |
이 모듈의 이름
파일 hardware.h 의 136 번째 줄에 있는 정의입니다.
uint32_t 예약됨[32-7] |
128바이트로 패딩, 향후 사용을 위해 예약됨
파일 hardware.h 의 151 행에 정의가 있습니다.
uint32_t 태그 |
태그는 HARDWARE_MODULE_TAG로 초기화되어야 합니다.
파일 hardware.h 의 88 행에 있는 정의입니다.
이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
- 하드웨어 /libhardware/include/hardware/hardware.h