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行。


该结构的文档是从以下文件生成的: