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 * שיטות
בטל* dso
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 char* id

מזהה של מודול

הגדרה בשורה 133 של הקובץ hardware.h .

struct hw_module_methods_t * שיטות

שיטות מודולים

הגדרה בשורה 142 של הקובץ hardware.h .

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 של הקובץ hardware.h .

const char* שם

שם המודול הזה

הגדרה בשורה 136 של הקובץ hardware.h .

uint32_t שמור[32-7]

ריפוד ל-128 בתים, שמור לשימוש עתידי

הגדרה בשורה 151 של הקובץ hardware.h .

תג uint32_t

יש לאתחל את התג ל-HARDWARE_MODULE_TAG

הגדרה בשורה 88 של הקובץ hardware.h .


התיעוד עבור מבנה זה נוצר מהקובץ הבא:
  • hardware/libhardware/include/hardware/ hardware.h