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


該結構的文檔是從以下文件產生的: