การอ้างอิงโครงสร้าง hw_module_t
#include < hardware.h >
เขตข้อมูล | |
uint32_t | แท็ก |
uint16_t | module_api_version |
uint16_t | hal_api_version |
ถ่าน const * | รหัส |
ถ่าน const * | ชื่อ |
ถ่าน const * | ผู้เขียน |
โครงสร้าง hw_module_methods_t * | วิธีการ |
เป็นโมฆะ * | ส.ส |
uint32_t | สงวนไว้ [32-7] |
คำอธิบายโดยละเอียด
โมดูลฮาร์ดแวร์ทุกตัวต้องมีโครงสร้างข้อมูลชื่อ HAL_MODULE_INFO_SYM และฟิลด์ของโครงสร้างข้อมูลนี้จะต้องขึ้นต้นด้วย hw_module_t ตามด้วยข้อมูลเฉพาะของโมดูล
คำจำกัดความที่บรรทัด 86 ของไฟล์ hardware.h
เอกสารภาคสนาม
ผู้เขียน const char* |
ผู้เขียน/เจ้าของ/ผู้ดำเนินการโมดูล
คำจำกัดความที่บรรทัด 139 ของไฟล์ hardware.h
เป็นโมฆะ* dso |
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
รหัส const ถ่าน * |
ตัวระบุของโมดูล
คำจำกัดความที่บรรทัด 133 ของไฟล์ hardware.h
struct hw_module_methods_t * วิธีการ |
วิธีการโมดูล
คำจำกัดความที่บรรทัด 142 ของไฟล์ hardware.h
uint16_t module_api_version |
เวอร์ชัน API ของโมดูลที่นำไปใช้งาน เจ้าของโมดูลมีหน้าที่รับผิดชอบในการอัปเดตเวอร์ชันเมื่ออินเทอร์เฟซของโมดูลมีการเปลี่ยนแปลง
โมดูลที่ได้รับเช่น gralloc และเสียงเป็นเจ้าของและจัดการฟิลด์นี้ ผู้ใช้โมดูลจะต้องตีความฟิลด์เวอร์ชันเพื่อตัดสินใจว่าจะทำงานร่วมกับการใช้งานโมดูลที่ให้มาหรือไม่ ตัวอย่างเช่น SurfaceFlinger มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่ารู้วิธีจัดการเวอร์ชันต่างๆ ของ gralloc-module API และ AudioFlinger ต้องรู้วิธีดำเนินการเช่นเดียวกันสำหรับ API โมดูลเสียง
เวอร์ชันของโมดูล API ควรมีส่วนประกอบหลักและส่วนประกอบรอง ตัวอย่างเช่น เวอร์ชัน 1.0 สามารถแสดงเป็น 0x0100 รูปแบบนี้บอกเป็นนัยว่าเวอร์ชัน 0x0100-0x01ff เข้ากันได้กับ API ทั้งหมด
ในอนาคต libhardware จะเปิดเผยฟังก์ชัน hw_get_module_version() (หรือเทียบเท่า) ซึ่งจะใช้เวอร์ชันที่รองรับขั้นต่ำ/สูงสุดเป็นอาร์กิวเมนต์ และจะสามารถปฏิเสธโมดูลที่มีเวอร์ชันอยู่นอกช่วงที่ให้มาได้
คำจำกัดความที่บรรทัด 111 ของไฟล์ hardware.h
ชื่อ const char* |
ชื่อของโมดูลนี้
คำจำกัดความที่บรรทัด 136 ของไฟล์ hardware.h
uint32_t สงวนไว้[32-7] |
ขยายเป็น 128 ไบต์ สงวนไว้สำหรับใช้ในอนาคต
คำจำกัดความที่บรรทัด 151 ของไฟล์ hardware.h
แท็ก uint32_t |
แท็กต้องเริ่มต้นเป็น HARDWARE_MODULE_TAG
คำจำกัดความที่บรรทัด 88 ของไฟล์ hardware.h
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
- ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / hardware.h