Informacje o strukturze memtrack_module
#include <
memtrack.h
>
Pola danych |
|
struct hw_module_t | wspólne |
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) |
Szczegółowy opis
Każdy moduł sprzętowy musi mieć strukturę danych o nazwie HAL_MODULE_INFO_SYM, a pola tej struktury danych muszą zaczynać się od hw_module_t po czym następuje informacja o danym module.
Definicja w wierszu 120 pliku memtrack.h .
Dokumentacja pola
struct hw_module_t common |
Definicja w wierszu 121 pliku memtrack.h .
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records) |
Funkcja (*getMemory)() oczekuje tablicy obiektów rekordów i wypełnia struktury *num_record rozmiarami pamięci oraz powiązanymi z nią flagami. Zmiana wartości parametru *num_records powoduje również zaktualizowanie parametru *num_records o łączną liczbę rekordów, które mogłyby zostać zwrócone, gdyby parametr *num_records był wystarczająco duży. Zwracane rekordy o rozmiarze 0 są oczekiwane. Liczba rekordów nie powinna się zmieniać między wywołaniami getMemory dla tego samego typu pamięci, nawet w przypadku różnych identyfikatorów pid.
Użytkownik często wywołuje getMemory dla typu i pid z *num_records == 0, aby określić, ile rekordów ma przydzielić miejsce. W tym przypadku powinien to być szybki ścieżka w HAL, zwracająca stałą wartość i nie wysyłająca zapytań do żadnych plików jądra. Jeśli przekazana wartość *num_records wynosi 0, rekordy mogą mieć wartość NULL.
Ta funkcja musi być bezpieczna w wątku, ponieważ może być wywoływana z różnych wątków jednocześnie.
Zwraca 0 w przypadku powodzenia, -ENODEV, jeśli typ nie jest obsługiwany, -errno w przypadku innych błędów.
Definicja w wierszu 151 pliku memtrack.h .
int(* init)(const struct memtrack_module *module) |
(*init)() wykonuje czynności konfiguracyjne zarządzania memtrack i jest wywoływany raz przed każdym wywołaniem funkcji getMemory() . Zwraca wartość 0 w przypadku powodzenia i wartość -errno w przypadku błędu.
Definicja w wierszu 128 pliku memtrack.h .
Dokumentacja tego typu danych została wygenerowana z tego pliku:
- hardware/libhardware/include/hardware/ memtrack.h