مرجع ساختار memtrack_module

مرجع ساختار 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