การอ้างอิง Struct memtrack_module
#include <
memtrack.h
>
ฟิลด์ข้อมูล |
|
struct hw_module_t | common |
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 ตามด้วยข้อมูลเฉพาะของโมดูล
คําจํากัดความที่บรรทัด 120 ของไฟล์ memtrack.h .
เอกสารประกอบในสนาม
struct hw_module_t common |
คําจํากัดความที่บรรทัด 121 ของไฟล์ memtrack.h .
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records) |
(*getMemory)() ต้องการอาร์เรย์ของออบเจ็กต์ระเบียนและสร้างโครงสร้าง *num_record สูงสุดด้วยขนาดหน่วยความจําบวก Flag ที่เชื่อมโยงสําหรับหน่วยความจํานั้น นอกจากนี้ ระบบจะอัปเดต *num_records ด้วยจํานวนระเบียนทั้งหมดที่ระบบจะแสดงได้หาก *num_records มีขนาดใหญ่พอเมื่อส่งเข้ามา การคืนค่าระเบียนที่มีขนาด 0 เป็นสิ่งที่คาดไว้ จำนวนระเบียนไม่ควรแตกต่างกันระหว่างการเรียก getMemory สำหรับหน่วยความจำประเภทเดียวกัน แม้ว่าจะเป็น PID ที่แตกต่างกันก็ตาม
ผู้เรียกใช้มักจะเรียก getMemory สำหรับประเภทและ pid ที่มี *num_records == 0 เพื่อกำหนดจำนวนระเบียนที่จะจัดสรรพื้นที่เก็บข้อมูล ซึ่งกรณีนี้ควรเป็นเส้นทางที่เร็วใน HAL โดยแสดงผลค่าคงที่และไม่ค้นหาไฟล์เคอร์เนล หาก *num_records ที่ส่งเป็น 0 ระเบียนอาจเป็น NULL
ฟังก์ชันนี้ต้องเป็นแบบปลอดภัยสำหรับเธรด เนื่องจากอาจมีการเรียกใช้จากหลายเธรดพร้อมกัน
แสดงผล 0 หากดำเนินการสำเร็จ, -ENODEV หากระบบไม่รองรับประเภทนั้น และ -errno สำหรับข้อผิดพลาดอื่นๆ
คําจํากัดความที่บรรทัด 151 ของไฟล์ memtrack.h .
int(* init)(const struct memtrack_module *module) |
(*init)() จะดําเนินการการตั้งค่าการจัดการ memtrack และเรียกใช้ 1 ครั้งก่อนการเรียกใช้ getMemory() แสดงผล 0 เมื่อดำเนินการสำเร็จ และ -errno เมื่อเกิดข้อผิดพลาด
คําจํากัดความที่บรรทัด 128 ของไฟล์ memtrack.h .
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
- hardware/libhardware/include/hardware/ memtrack.h