memtrack_module Struct Reference
#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 נפוץ |
הגדרה בשורה 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 צפויה, מספר הרשומות לא אמור להשתנות בין שיחות כדי לקבלMemory עבור אותו סוג זיכרון, אפילו עבור pids שונים.
לעתים קרובות המתקשר יקרא ל-getMemory עבור סוג ו-pid עם *num_records == 0 כדי לקבוע לכמה רשומות להקצות מקום, מקרה זה צריך להיות נתיב מהיר ב-HAL, להחזיר קבוע ולא לבצע שאילתות בקבצי ליבה. אם *num_records שהועברו פנימה הוא 0, ייתכן שהרשומות יהיו NULL.
פונקציה זו חייבת להיות בטוחה לשרשור, היא עשויה להיקרא ממספר שרשורים בו-זמנית.
מחזירה 0 על הצלחה, -ENODEV אם הסוג אינו נתמך, -errno בשגיאות אחרות.
הגדרה בשורה 151 של הקובץ memtrack.h .
int(* init)(const struct memtrack_module *module) |
(*init)() מבצע פעולות הגדרת ניהול memtrack ונקרא פעם אחת לפני כל קריאות ל- getMemory() . מחזירה 0 על הצלחה, -שגיאה על שגיאה.
הגדרה בשורה 128 של הקובץ memtrack.h .
התיעוד עבור מבנה זה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ memtrack.h