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行。
該結構的文檔是從以下文件產生的: