การอ้างอิงโครงสร้าง memtrack_module

การอ้างอิงโครงสร้าง memtrack_module

#include < memtrack.h >

เขตข้อมูล

โครงสร้าง hw_module_t ทั่วไป
อินท์(* init )(const struct memtrack_module *โมดูล)
อินท์(* getMemory )(const struct memtrack_module *โมดูล, pid_t pid, ประเภท int, struct memtrack_record *บันทึก, size_t *num_records)

คำอธิบายโดยละเอียด

โมดูลฮาร์ดแวร์ทุกตัวต้องมีโครงสร้างข้อมูลชื่อ HAL_MODULE_INFO_SYM และฟิลด์ของโครงสร้างข้อมูลนี้จะต้องขึ้นต้นด้วย hw_module_t ตามด้วยข้อมูลเฉพาะของโมดูล

คำจำกัดความที่บรรทัด 120 ของไฟล์ memtrack.h

เอกสารภาคสนาม

struct hw_module_t ทั่วไป

คำจำกัดความที่บรรทัด 121 ของไฟล์ memtrack.h

int(* getMemory)(const struct memtrack_module *โมดูล, pid_t pid, ประเภท int, struct memtrack_record *บันทึก, size_t *num_records)

(*getMemory)() ต้องการอาร์เรย์ของอ็อบเจ็กต์เรกคอร์ดและเติมโครงสร้างได้มากถึง *num_record ด้วยขนาดของหน่วยความจำบวกกับแฟล็กที่เกี่ยวข้องสำหรับหน่วยความจำนั้น นอกจากนี้ยังอัปเดต *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 *โมดูล)

(*init)() ดำเนินการตั้งค่าการจัดการ memtrack และถูกเรียกหนึ่งครั้งก่อนที่จะเรียกใช้ getMemory() ส่งคืน 0 เมื่อสำเร็จ - ผิดพลาดหากผิดพลาด

คำจำกัดความที่บรรทัด 128 ของไฟล์ memtrack.h


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
  • ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / memtrack.h