Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

hw_module_t การอ้างอิงโครงสร้าง

hw_module_t การอ้างอิงโครงสร้าง

#include < hardware.h >

เขตข้อมูล

uint32_t แท็ก
uint16_t module_api_version
uint16_t hal_api_version
const char * รหัส
const char * ชื่อ
const char * ผู้เขียน
struct hw_module_methods_t * วิธีการ
โมฆะ * เอสโอ
uint32_t สงวนไว้ [32-7]

คำอธิบายโดยละเอียด

โมดูลฮาร์ดแวร์ทุกตัวต้องมีโครงสร้างข้อมูลชื่อ HAL_MODULE_INFO_SYM และฟิลด์ของโครงสร้างข้อมูลนี้จะต้องเริ่มต้นด้วย hw_module_t ตามด้วยข้อมูลเฉพาะของโมดูล

นิยามที่บรรทัด 86 ของไฟล์ ฮาร์ดแวร์ .

เอกสารภาคสนาม

นักเขียน *

ผู้แต่ง / เจ้าของ / ผู้ดำเนินการของโมดูล

นิยามที่บรรทัดที่ 139 ของ ฮาร์ดแวร์ ไฟล์

เป็นโมฆะ * dso

โมดูลของ dso

นิยามที่บรรทัด 145 ของ ฮาร์ดแวร์ ไฟล์

uint16_t hal_api_version

version_major / version_minor กำหนดไว้ที่นี่เพื่อความเข้ากันได้ของซอร์สโค้ดชั่วคราว พวกเขาจะถูกลบออกในรุ่นถัดไป ลูกค้าทั้งหมดจะต้องแปลงเป็นรูปแบบเวอร์ชันใหม่ เวอร์ชัน API ของอินเตอร์เฟสโมดูล HAL สิ่งนี้มีไว้สำหรับรุ่นโครงสร้าง hw_module_t , hw_module_methods_t และ hw_device_t

อินเตอร์เฟส HAL เป็นเจ้าของฟิลด์นี้ ผู้ใช้งาน / การใช้งานโมดูลต้องไม่พึ่งพาค่านี้สำหรับข้อมูลเวอร์ชัน

ปัจจุบัน 0 เป็นค่าที่ถูกต้องเท่านั้น

นิยามที่บรรทัดที่ 129 ของไฟล์ ฮาร์ดแวร์

const char * id

ตัวบ่งชี้ของโมดูล

นิยามที่บรรทัดที่ 133 ของ ฮาร์ดแวร์ ไฟล์

struct hw_module_methods_t * วิธีการ

วิธีการโมดูล

นิยามที่บรรทัดที่ 142 ของไฟล์ ฮาร์ดแวร์

uint16_t module_api_version

เวอร์ชัน API ของโมดูลที่นำมาใช้ เจ้าของโมดูลรับผิดชอบการอัปเดตเวอร์ชันเมื่อมีการเปลี่ยนแปลงส่วนต่อประสานโมดูล

โมดูลที่ได้รับเช่น gralloc และเจ้าของเสียงและจัดการฟิลด์นี้ ผู้ใช้โมดูลต้องตีความฟิลด์เวอร์ชันเพื่อตัดสินใจว่าจะใช้งานร่วมกับโมดูลที่ให้มาหรือไม่ ตัวอย่างเช่น SurfaceFlinger มีหน้าที่ตรวจสอบให้แน่ใจว่ารู้วิธีจัดการ API ของ gralloc-module รุ่นต่างๆและ AudioFlinger ต้องทราบวิธีการทำเช่นเดียวกันสำหรับ API เสียงโมดูล

เวอร์ชันโมดูล API ควรมีส่วนประกอบหลักและส่วนประกอบรอง ตัวอย่างเช่นเวอร์ชัน 1.0 สามารถแสดงเป็น 0x0100 รูปแบบนี้หมายความว่ารุ่น 0x0100-0x01ff นั้นเข้ากันได้กับ API ทั้งหมด

ในอนาคต libhardware จะแสดงฟังก์ชั่น hw_get_module_version () (หรือเทียบเท่า) ที่จะใช้เวอร์ชันต่ำสุด / สูงสุดที่รองรับเป็นอาร์กิวเมนต์และจะสามารถปฏิเสธโมดูลที่มีรุ่นนอกช่วงที่ให้มา

นิยามที่บรรทัด 111 ของ ฮาร์ดแวร์ ไฟล์

const char * ชื่อ

ชื่อของโมดูลนี้

นิยามที่บรรทัดที่ 136 ของไฟล์ ฮาร์ดแวร์

สำรอง uint32_t [32-7]

padding ถึง 128 ไบต์สงวนไว้สำหรับใช้ในอนาคต

นิยามที่บรรทัดที่ 151 ของไฟล์ ฮาร์ดแวร์

แท็ก uint32_t

ต้องเริ่มต้นแท็กเป็น HARDWARE_MODULE_TAG

นิยามที่บรรทัดที่ 88 ของไฟล์ ฮาร์ดแวร์ .


เอกสารสำหรับ struct นี้ถูกสร้างขึ้นจากไฟล์ต่อไปนี้:
  • hardware / libhardware / include / hardware / hardware.h