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.hの120行目の定義。
フィールドドキュメント
struct 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 で type と pid の getMemory を呼び出し、スペースを割り当てるレコードの数を決定します。この場合は、HAL 内の高速パスである必要があり、定数を返し、カーネル ファイルをクエリしません。渡された *num_records が 0 の場合、レコードは NULL になる可能性があります。
この関数はスレッドセーフである必要があり、同時に複数のスレッドから呼び出される可能性があります。
成功した場合は 0、タイプがサポートされていない場合は -ENODEV、その他のエラーの場合は -errno を返します。
ファイルmemtrack.hの151行目の定義。
int(* init)(const struct memtrack_module *module) |
(*init)() は memtrack 管理セットアップ アクションを実行し、 getMemory()を呼び出す前に 1 回呼び出されます。成功した場合は 0、エラーの場合は -errno を返します。
ファイルmemtrack.hの128行目の定義。
この構造体のドキュメントは次のファイルから生成されました。
- ハードウェア/libhardware/include/hardware/memtrack.h