مرجع بنية memtrack_module
#include <
memtrack.h
>
حقول البيانات |
|
struct hw_module_t | شائعة |
int(* | init )(const struct memtrack_module *module) |
int(* | 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 .
مستندات الحقل
struct hw_module_t common |
التعريف في السطر 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 لنوع الذاكرة نفسه، حتى مع أرقام تعريف العمليات المختلفة.
سيستدعي المُرسِل غالبًا getMemory لنوع وpid مع *num_records == 0 لتحديد عدد السجلات التي يجب تخصيص مساحة لها، ويجب أن يكون هذا الإجراء مسارًا سريعًا في HAL، ويعرض قيمة ثابتة بدون طلب أي ملفات نواة. إذا كان *num_records الذي تم تمريره يساوي 0، قد تكون السجلات فارغة.
يجب أن تكون هذه الدالة آمنة في ما يتعلق بسلاسل الرسائل، إذ قد يتم استدعاؤها من سلاسل رسائل متعددة في الوقت نفسه.
تُرجِع القيمة 0 في حال نجاح العملية، و-ENODEV إذا كان النوع غير متوافق، و-errno في حال حدوث أخطاء أخرى.
التعريف في السطر 151 من الملف memtrack.h .
int(* init)(const struct memtrack_module *module) |
تُنفِّذ دالة (*init)() إجراءات إعداد إدارة memtrack ويتمّ استدعاؤها مرّة واحدة قبل أيّ استدعاءات لدالّة getMemory() . يعرض القيمة 0 عند النجاح، و-errno عند حدوث خطأ.
التعريف في السطر 128 من الملف memtrack.h .
تم إنشاء مستندات هذه البنية من الملف التالي:
- hardware/libhardware/include/hardware/ memtrack.h