memtrack_module Struct Reference

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