hw_module_t مرجع الهيكل

hw_module_t مرجع الهيكل

#include < hardware.h >

حقول البيانات

uint32_t بطاقة شعار
uint16_t Module_api_version
uint16_t hal_api_version
حرف ثابت * بطاقة تعريف
حرف ثابت * اسم
حرف ثابت * مؤلف
البنية 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 للوحدة

التعريف في السطر 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 .

معرف الحرف الثابت *

معرف الوحدة النمطية

التعريف في السطر 133 من ملف hardware.h .

هيكل hw_module_methods_t * الأساليب

أساليب الوحدات

التعريف في السطر 142 من ملف hardware.h .

uint16_t Module_api_version

إصدار API للوحدة المنفذة. يكون مالك الوحدة مسؤولاً عن تحديث الإصدار عند تغيير واجهة الوحدة.

الوحدات المشتقة مثل gralloc و audio تمتلك هذا المجال وتديره. يجب على مستخدم الوحدة تفسير حقل الإصدار ليقرر ما إذا كان سيعمل مع تطبيق الوحدة المرفقة أم لا. على سبيل المثال، يكون SurfaceFlinger مسؤولاً عن التأكد من أنه يعرف كيفية إدارة الإصدارات المختلفة من واجهة برمجة تطبيقات وحدة gralloc، ويجب أن يعرف AudioFlinger كيفية القيام بنفس الشيء مع واجهة برمجة تطبيقات وحدة الصوت.

يجب أن يتضمن إصدار واجهة برمجة التطبيقات (API) للوحدة مكونًا رئيسيًا وثانويًا. على سبيل المثال، يمكن تمثيل الإصدار 1.0 كـ 0x0100. يشير هذا التنسيق إلى أن الإصدارات 0x0100-0x01ff كلها متوافقة مع واجهة برمجة التطبيقات (API).

في المستقبل، ستعرض libhardware وظيفة hw_get_module_version() (أو ما يعادلها) والتي ستأخذ الحد الأدنى/الحد الأقصى من الإصدارات المدعومة كوسيطات وستكون قادرة على رفض الوحدات ذات الإصدارات خارج النطاق المتوفر.

التعريف في السطر 111 من ملف hardware.h .

حرف ثابت * الاسم

اسم هذه الوحدة

التعريف في السطر 136 من ملف hardware.h .

uint32_t محجوز[32-7]

المساحة المتروكة تصل إلى 128 بايت، محفوظة للاستخدام المستقبلي

التعريف في السطر 151 من ملف hardware.h .

علامة uint32_t

يجب تهيئة العلامة إلى HARDWARE_MODULE_TAG

التعريف في السطر 88 من ملف hardware.h .


تم إنشاء وثائق هذه البنية من الملف التالي:
  • الأجهزة/libhardware/تشمل/الأجهزة/ hardware.h