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