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 行。
這個結構體的說明文件是由下列檔案產生:
- hardware/libhardware/include/hardware/ memtrack.h
