memtrack_module-Strukturreferenz

memtrack_module-Strukturreferenz

#include < memtrack.h >

Datenfelder

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)
 

Detaillierte Beschreibung

Jedes Hardwaremodul muss eine Datenstruktur namens HAL_MODULE_INFO_SYM haben. 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 den Speichergrößen und den zugehörigen Flags für diesen Speicher aus. Außerdem wird *num_records mit der Gesamtzahl der Datensätze aktualisiert, die zurückgegeben werden könnten, wenn *num_records beim Übergeben groß genug war. Es ist normal, dass Datensätze mit einer Größe von 0 zurückgegeben werden. Die Anzahl der Datensätze sollte zwischen Aufrufen von getMemory für denselben Speichertyp nicht variieren, auch nicht bei unterschiedlichen PIDs.

Der Aufrufer ruft oft getMemory für einen Typ und eine PID mit *num_records == 0 auf, um zu ermitteln, für wie viele Einträge Speicherplatz zugewiesen werden soll. Dieser Fall sollte ein schneller Pfad in der HAL sein, der eine Konstante zurückgibt und keine Kerneldateien abfragt. Wenn *num_records den Wert 0 hat, sind die Einträge möglicherweise NULL.

Diese Funktion muss threadsicher sein, da sie möglicherweise von mehreren Threads gleichzeitig aufgerufen wird.

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

Definition in Zeile 151 der Datei memtrack.h .

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

(*init)() führt die Einrichtungsaktionen für die Memtrack-Verwaltung aus und wird einmal aufgerufen, bevor getMemory() aufgerufen wird. Gibt bei Erfolg 0 und bei Fehler -errno zurück.

Definition in Zeile 128 der Datei memtrack.h .


Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert: