memtrack_module 結構體參考資料

memtrack_module 結構體參考資料

#include < memtrack.h >

資料欄位

struct hw_module_t   通用
 
int(*  init )(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 common

定義位於檔案 memtrack.h 121 行。

int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records)

(*getMemory)() 預期會收到記錄物件陣列,並填入最多 *num_record 結構,其中包含記憶體大小和該記憶體的相關標記。它也會更新 *num_records,傳回 *num_records 傳入時可傳回的記錄總數。預期會傳回大小為 0 的記錄,且在呼叫 getMemory 時,即使是不同 pid,記錄數量也不應有所不同。

呼叫端通常會針對類型和 pid 呼叫 getMemory,且 *num_records == 0,以便判斷要為多少個記錄分配空間,此情況應是 HAL 中的快速路徑,會傳回常數,且不會查詢任何核心檔案。如果傳入的 *num_records 為 0,則記錄可能為空值。

此函式必須是執行緒安全的,可能會同時從多個執行緒呼叫。

成功時會傳回 0,如果不支援該類型,則會傳回 -ENODEV,如果發生其他錯誤,則會傳回 -errno。

定義位於檔案 memtrack.h 151 行。

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

(*init)() 會執行 memtrack 管理設定動作,並在任何 getMemory() 呼叫之前呼叫一次。成功時傳回 0,錯誤時傳回 -errno。

定義位於檔案 memtrack.h 128 行。


這個結構體的說明文件是由下列檔案產生: