memtrack_module-Strukturreferenz

memtrack_module-Strukturreferenz

#include < memtrack.h >

Datenfelder

Struktur hw_module_t gemeinsam
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)

detaillierte Beschreibung

Jedes Hardwaremodul muss eine Datenstruktur mit dem Namen HAL_MODULE_INFO_SYM haben und die Felder dieser Datenstruktur müssen mit hw_module_t beginnen, gefolgt von modulspezifischen Informationen.

Definition in Zeile 120 der Datei memtrack.h .

Felddokumentation

struct hw_module_t common

Definition in Zeile 121 der Datei memtrack.h .

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

(*getMemory)() erwartet ein Array von Datensatzobjekten und füllt bis zu *num_record-Strukturen mit der Speichergröße plus zugehörigen Flags für diesen Speicher. Außerdem wird *num_records mit der Gesamtzahl der Datensätze aktualisiert, die zurückgegeben werden könnten, wenn *num_records bei der Übergabe groß genug wäre. Es wird erwartet, dass Datensätze mit der Größe 0 zurückgegeben werden, die Anzahl der Datensätze sollte sich jedoch nicht zwischen Aufrufen von getMemory für denselben Speichertyp unterscheiden, auch nicht für verschiedene Pids.

Der Aufrufer ruft oft getMemory für einen Typ und eine PID mit *num_records == 0 auf, um zu bestimmen, für wie viele Datensätze Platz reserviert werden soll. In diesem Fall sollte es sich um einen Schnellpfad in der HAL handeln, der eine Konstante zurückgibt und keine Kerneldateien abfragt. Wenn *num_records übergeben 0 ist, können Datensätze NULL sein.

Diese Funktion muss Thread-sicher sein, sie kann von mehreren Threads gleichzeitig aufgerufen werden.

Gibt 0 bei Erfolg zurück, -ENODEV, wenn der Typ nicht unterstützt wird, -errno bei anderen Fehlern.

Definition in Zeile 151 der Datei memtrack.h .

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

(*init)() führt Setup-Aktionen für die Memtrack-Verwaltung durch und wird einmal vor allen Aufrufen von getMemory() aufgerufen. Gibt 0 bei Erfolg zurück, -errno bei Fehler.

Definition in Zeile 128 der Datei memtrack.h .


Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
  • hardware/libhardware/include/hardware/ memtrack.h