hw_module_t Struct Reference
#include <
hardware.h
>
שדות נתונים |
|
uint32_t | תג |
uint16_t | module_api_version |
uint16_t | hal_api_version |
const char * | id |
const char * | name |
const char * | מחבר/ת |
struct hw_module_methods_t * | methods |
void * | dso |
uint32_t | reserved [32-7] |
תיאור מפורט
לכל מודול חומרה צריך להיות מבנה נתונים בשם HAL_MODULE_INFO_SYM, והשדות של מבנה הנתונים הזה צריכים להתחיל ב- hw_module_t ולאחר מכן במידע ספציפי למודול.
ההגדרה מופיעה בשורה 86 בקובץ hardware.h .
מסמכי תיעוד של שדה
const char* author |
המחבר/הבעלים/המפתח של המודול
ההגדרה מופיעה בשורה 139 בקובץ hardware.h .
void* 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 * methods |
שיטות של מודולים
ההגדרה מופיעה בשורה 142 בקובץ hardware.h .
uint16_t module_api_version |
גרסת ה-API של המודול שהוטמע. בעלי המודול אחראים לעדכן את הגרסה כשממשק המודול השתנה.
המודולים המשניים, כמו gralloc ו-audio, הם הבעלים של השדה הזה ומנהלים אותו. משתמש המודול צריך לפרש את שדה הגרסה כדי להחליט אם לבצע פעולות משותפות עם הטמעת המודול שסופקה או לא. לדוגמה, SurfaceFlinger אחראי לוודא שהוא יודע לנהל גרסאות שונות של gralloc-module API, ו-AudioFlinger חייב לדעת לעשות את אותו הדבר עבור audio-module API.
גרסת ה-API של המודול צריכה לכלול רכיב ראשי ורכיב משני. לדוגמה, גרסת 1.0 יכולה להיות מיוצגת כ-0x0100. הפורמט הזה מרמז שכל הגרסאות 0x0100-0x01ff תואמות ל-API.
בעתיד, libhardware תציג את הפונקציה hw_get_module_version() (או פונקציה מקבילה) שתקבל גרסאות מינימליות/מקסימליות נתמכות כארגומנטים, ותוכל לדחות מודולים עם גרסאות מחוץ לטווח שסופק.
ההגדרה מופיעה בשורה 111 בקובץ hardware.h .
const char* name |
שם המודול
ההגדרה מופיעה בשורה 136 בקובץ hardware.h .
uint32_t reserved[32-7] |
מילוי עד 128 בייטים, שמור לשימוש עתידי
ההגדרה מופיעה בשורה 151 בקובץ hardware.h .
תג uint32_t |
צריך לאתחל את התג לערך HARDWARE_MODULE_TAG
ההגדרה מופיעה בשורה 88 בקובץ hardware.h .
התיעוד של המבנה הזה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ hardware.h