Google 致力于为黑人社区推动种族平等。查看具体举措

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