memtrack_module 结构参考
memtrack_module 结构参考
#include < memtrack.h >
数据字段 | |
结构体hw_module_t | 常见的 |
整数(* | init )(const struct memtrack_module *模块) |
整数(* | getMemory )(const struct memtrack_module *module, pid_t pid, int 类型, struct memtrack_record *records, size_t *num_records) |
详细说明
每个硬件模块必须有一个名为 HAL_MODULE_INFO_SYM 的数据结构,并且该数据结构的字段必须以hw_module_t开头,后跟模块特定信息。
定义位于文件memtrack.h的第120行。
现场文档
结构体hw_module_t公共 |
定义位于文件memtrack.h的第121行。
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int 类型, struct memtrack_record *records, size_t *num_records) |
(*getMemory)() 需要一个记录对象数组,并使用内存大小以及该内存的关联标志填充最多 *num_record 结构。如果传入时 *num_records 足够大,它还会更新 *num_records 可以返回的记录总数。返回大小为 0 的记录是预期的,对于同一内存类型,在调用 getMemory 之间记录数不应有所不同,即使对于不同的pid。
调用者通常会使用 *num_records == 0 调用 getMemory 来获取类型和 pid,以确定要分配空间的记录数,这种情况应该是 HAL 中的快速路径,返回常量并且不查询任何内核文件。如果传入的 *num_records 为 0,则记录可能为 NULL。
该函数必须是线程安全的,它可以同时从多个线程调用。
如果成功,则返回 0;如果不支持该类型,则返回 -ENODEV;如果出现其他错误,则返回 -errno。
定义位于文件memtrack.h的第151行。
int(* init)(const struct memtrack_module *模块) |
(*init)() 执行 memtrack 管理设置操作,并在调用getMemory()之前调用一次。成功时返回 0,错误时返回 -errno。
定义位于文件memtrack.h的第128行。
该结构的文档是从以下文件生成的: