memtrack_module 構造体リファレンス

memtrack_module 構造体リファレンス

#include < memtrack.h >

データフィールド

構造体hw_module_t一般
int(* init )(const struct memtrack_module *モジュール)
int(* 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.h120行目の定義。

フィールドドキュメント

struct hw_module_t共通

ファイルmemtrack.h121行目の定義。

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 で type と pid の getMemory を呼び出し、スペースを割り当てるレコードの数を決定します。この場合は、HAL 内の高速パスである必要があり、定数を返し、カーネル ファイルをクエリしません。渡された *num_records が 0 の場合、レコードは NULL になる可能性があります。

この関数はスレッドセーフである必要があり、同時に複数のスレッドから呼び出される可能性があります。

成功した場合は 0、タイプがサポートされていない場合は -ENODEV、その他のエラーの場合は -errno を返します。

ファイルmemtrack.h151行目の定義。

int(* init)(const struct memtrack_module *module)

(*init)() は memtrack 管理セットアップ アクションを実行し、 getMemory()を呼び出す前に 1 回呼び出されます。成功した場合は 0、エラーの場合は -errno を返します。

ファイルmemtrack.h128行目の定義。


この構造体のドキュメントは次のファイルから生成されました。
  • ハードウェア/libhardware/include/hardware/memtrack.h