مرجع ساختار 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 مشترک |
تعریف در خط 121 فایل memtrack.h .
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record * رکوردها, size_t *num_records) |
(*getMemory)() انتظار آرایه ای از اشیاء رکورد را دارد و ساختارهای *num_record را با اندازه های حافظه به اضافه پرچم های مربوط به آن حافظه پر می کند. همچنین *num_records را با تعداد کل رکوردهایی که در صورت ارسال *num_records به اندازه کافی بزرگ بود، به روز می کند. برای پیدهای مختلف
تماسگیرنده اغلب 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، در صورت خطا -errno را برمیگرداند.
تعریف در خط 128 فایل memtrack.h .
مستندات این ساختار از فایل زیر تولید شده است:
- hardware/libhardware/include/hardware/ memtrack.h