مرجع البنية memtrack_module

مرجع البنية memtrack_module

#include < memtrack.h >

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

البنية hw_module_t شائع
كثافة العمليات (* init )(const struct memtrack_module *module)
كثافة العمليات (* getMemory ) (const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records)

وصف تفصيلي

يجب أن تحتوي كل وحدة أجهزة على بنية بيانات تسمى HAL_MODULE_INFO_SYM ويجب أن تبدأ حقول بنية البيانات هذه بـ hw_module_t متبوعة بمعلومات محددة عن الوحدة.

التعريف في السطر 120 من الملف memtrack.h .

التوثيق الميداني

البنية hw_module_t المشتركة

التعريف في السطر 121 من الملف memtrack.h .

int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records)

(*getMemory)() يتوقع مصفوفة من كائنات التسجيل ويملأ ما يصل إلى * num_record من الهياكل بأحجام الذاكرة بالإضافة إلى العلامات المرتبطة بتلك الذاكرة. كما يقوم أيضًا بتحديث *num_records بإجمالي عدد السجلات التي يمكنه إرجاعها إذا كانت *num_records كبيرة بما يكفي عند تمريرها. ومن المتوقع إرجاع السجلات بالحجم 0، ويجب ألا يختلف عدد السجلات بين استدعاءات getMemory لنفس نوع الذاكرة، حتى ل pids مختلفة.

غالبًا ما يتصل المتصل بـ getMemory للحصول على نوع ومعرف مع *num_records == 0 لتحديد عدد السجلات التي سيتم تخصيص مساحة لها، ويجب أن تكون هذه الحالة عبارة عن مسار سريع في HAL، مما يؤدي إلى إرجاع ثابت وعدم الاستعلام عن أي ملفات kernel. إذا كانت *num_records التي تم تمريرها تساوي 0، فقد تكون السجلات فارغة.

يجب أن تكون هذه الوظيفة آمنة لمؤشر الترابط، وقد يتم استدعاؤها من سلاسل رسائل متعددة في نفس الوقت.

يُرجع 0 عند النجاح، -ENODEV إذا كان النوع غير مدعوم، -errno في الأخطاء الأخرى.

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

int(* init)(const struct memtrack_module *module)

(*init)() ينفذ إجراءات إعداد إدارة memtrack ويتم استدعاؤه مرة واحدة قبل أي استدعاء لـ getMemory() . يُرجع 0 عند النجاح، -errno عند الخطأ.

التعريف في السطر 128 من الملف memtrack.h .


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