Odniesienie do struktury nvram_device
#include < nvram.h >
Pola danych | |
struktura hw_device_t | wspólny |
nvram_result_t (* | get_total_size_in_bytes )(const struktura nvram_device *device, uint64_t *total_size) |
nvram_result_t (* | get_available_size_in_bytes )(const struktura nvram_device *device, uint64_t *available_size) |
nvram_result_t (* | get_max_space_size_in_bytes )(const struct nvram_device *device, uint64_t *max_space_size) |
nvram_result_t (* | get_max_spaces )(const struktura nvram_device *device, uint32_t *num_spaces) |
nvram_result_t (* | get_space_list )(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
nvram_result_t (* | get_space_size )(const struktura nvram_device *urządzenie, indeks uint32_t, uint64_t *rozmiar) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *device, uint32_t indeks, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
nvram_result_t (* | is_space_locked )(const struktura nvram_device *device, uint32_t indeks, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *device, uint32_t indeks, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
nvram_result_t (* | usuń_space )(const struct nvram_device *urządzenie, uint32_t indeks, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
nvram_result_t (* | Disable_create )(const struct nvram_device *device) |
nvram_result_t (* | write_space )(const struct nvram_device *urządzenie, uint32_t indeks, const uint8_t *bufor, uint64_t rozmiar_bufora, const uint8_t *wartość_autoryzacji, uint32_t rozmiar_wartości_autoryzacji) |
nvram_result_t (* | read_space )(const struct nvram_device *device, uint32_t indeks, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_tauthorization_value_size, uint8_t *buffer, uint64_t *bytes_read) |
nvram_result_t (* | Enable_write_lock )(const struktura nvram_device *device, uint32_t indeks, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
nvram_result_t (* | Enable_read_lock )(const struct nvram_device *device, uint32_t indeks, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
szczegółowy opis
Dokumentacja terenowa
struktura hw_device_t wspólna |
Typowe metody nvram_device . Musi to być pierwszy element nvram_device , ponieważ użytkownicy tej struktury będą rzutować wskaźnik hw_device_t na wskaźnik nvram_device w kontekstach, w których wiadomo, że hw_device_t odwołuje się do nvram_device .
nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t indeks, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
Tworzy nową przestrzeń z podanym indeksem, rozmiarem, kontrolkami i wartością autoryzacji.
urządzenie — instancja nvram_device . indeks — Indeks nowej przestrzeni. Indeks może mieć dowolną wartość 32-bitową, ale nie może być już przypisany do istniejącej przestrzeni. size_in_bytes — liczba bajtów do przydzielenia na miejsce. lista_kontrolna — tablica elementów sterujących do wymuszenia przestrzeni. list_size — liczba elementów w |liście_kontrolnej|. wartość_autoryzacji — Jeśli |lista_kontrolna| zawiera NV_Control_READ_AUTHORIZATION i/lub NV_Control_WRITE_AUTHORIZATION, wówczas parametr ten podaje wartość autoryzacyjną dla tych polityk (jeśli ustawione są obie kontrolki, to wartość ta dotyczy obu). W przeciwnym razie ta wartość jest ignorowana i może mieć wartość NULL. authorization_value_size — Liczba bajtów w |authorization_value|.
nvram_result_t (* Delete_space)(const struct nvram_device *device, uint32_t indeks, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
Usuwa spację.
urządzenie — instancja nvram_device . indeks — Indeks spacji. wartość_autoryzacji — jeśli przestrzeń ma politykę NV_Control_WRITE_AUTHORIZATION, wówczas ten parametr podaje wartość autoryzacji. W przeciwnym razie ta wartość jest ignorowana i może mieć wartość NULL. authorization_value_size — Liczba bajtów w |authorization_value|.
nvram_result_t (*disable_create)(const struct nvram_device *device) |
Wyłącza dalsze tworzenie spacji do czasu następnego pełnego resetu urządzenia (jak w przypadku resetu do ustawień fabrycznych, a nie ponownego uruchomienia). Kolejne wywołania NV_CreateSpace powinny zwrócić NV_RESULT_OPERATION_DISABLED.
urządzenie — instancja nvram_device .
nvram_result_t (* Enable_read_lock)(const struct nvram_device *device, uint32_t indeks, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
Włącza blokadę odczytu dla danego obszaru zgodnie z jego polityką. Jeśli w przestrzeni nie ma ustawionego NV_Control_BOOT_READ_LOCK, wówczas ta funkcja nie ma żadnego efektu i może zwrócić błąd.
urządzenie — instancja nvram_device . indeks — Indeks spacji. wartość_autoryzacji — jeśli przestrzeń ma politykę NV_Control_READ_AUTHORIZATION, wówczas ten parametr podaje wartość autoryzacji. (Zauważ, że nie jest wymagany dostęp do zapisu, aby zablokować odczyt. Blokada odczytu jest zawsze niestabilna.) W przeciwnym razie ta wartość jest ignorowana i może mieć wartość NULL. authorization_value_size — Liczba bajtów w |authorization_value|.
nvram_result_t (* Enable_write_lock)(const struktura nvram_device *device, uint32_t indeks, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
Włącza blokadę zapisu dla danego miejsca zgodnie z jego polityką. Jeśli w przestrzeni nie ma ustawionego NV_Control_PERSISTENT_WRITE_LOCK lub NV_Control_BOOT_WRITE_LOCK, wówczas ta funkcja nie ma żadnego efektu i może zwrócić błąd.
urządzenie — instancja nvram_device . indeks — Indeks spacji. wartość_autoryzacji — jeśli przestrzeń ma politykę NV_Control_WRITE_AUTHORIZATION, wówczas ten parametr podaje wartość autoryzacji. W przeciwnym razie ta wartość jest ignorowana i może mieć wartość NULL. authorization_value_size — Liczba bajtów w |authorization_value|.
nvram_result_t (* get_available_size_in_bytes)(const struktura nvram_device *device, uint64_t *available_size) |
Wysyła nieprzydzieloną liczbę bajtów dostępnych w pamięci NVRAM. Jeśli implementacja nie zna dostępnego rozmiaru, może podać szacunkowy rozmiar lub całkowity rozmiar.
urządzenie — instancja nvram_device . available_size — odbiera dane wyjściowe. Nie może być zero.
nvram_result_t (* get_max_space_size_in_bytes)(const struktura nvram_device *device, uint64_t *max_space_size) |
Wyświetla maksymalną liczbę bajtów, które można przydzielić na pojedynczą spację. Zawsze będzie to co najmniej 32. Jeśli implementacja nie ogranicza maksymalnego rozmiaru, może zapewnić całkowity rozmiar.
urządzenie — instancja nvram_device . max_space_size – Odbiera dane wyjściowe. Nie może być zero.
nvram_result_t (* get_max_spaces)(const struktura nvram_device *device, uint32_t *num_spaces) |
Wyświetla maksymalną całkowitą liczbę spacji, które mogą zostać przydzielone. Zawsze będzie to co najmniej 8. Wyświetla NV_UNLIMITED_SPACES, jeśli obsługiwana jest dowolna liczba spacji (ograniczona tylko do dostępnych bajtów NVRAM).
urządzenie — instancja nvram_device . num_spaces – odbiera dane wyjściowe. Nie może być zero.
nvram_result_t (* get_space_controls)(const struktura nvram_device *device, uint32_t indeks, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
Wyświetla listę kontrolek powiązanych z daną przestrzenią.
urządzenie — instancja nvram_device . indeks — Indeks spacji. max_list_size — Liczba elementów na |liście_kontrolnej| szyk. control_list - Otrzymuje listę kontrolek aż do podanego |max_list_size|. Może mieć wartość NULL, jeśli |max_list_size| wynosi 0. rozmiar_listy — Otrzymuje liczbę elementów znajdujących się na |liście_kontrolnej| lub liczbę dostępnych elementów, jeśli |lista_kontrolna| ma wartość NULL.
nvram_result_t (* get_space_list)(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
Wyświetla listę utworzonych indeksów przestrzeni. Jeśli |max_list_size| wynosi 0, tylko |list_size| jest zaludniony.
urządzenie — instancja nvram_device . max_list_size — Liczba elementów w |space_index_list| szyk. space_index_list - Otrzymuje listę utworzonych przestrzeni do podanego |max_list_size|. Może mieć wartość NULL, jeśli |max_list_size| wynosi 0. rozmiar_listy — Otrzymuje liczbę elementów znajdujących się w |space_index_list| lub liczbę dostępnych elementów, jeśli |space_index_list| ma wartość NULL.
nvram_result_t (* get_space_size)(const struktura nvram_device *urządzenie, indeks uint32_t, uint64_t *rozmiar) |
Wyświetla rozmiar w bajtach danego miejsca.
urządzenie — instancja nvram_device . indeks — Indeks spacji. size — odbiera dane wyjściowe. Nie może być zero.
nvram_result_t (* get_total_size_in_bytes)(const struktura nvram_device *device, uint64_t *total_size) |
Wyświetla całkowitą liczbę bajtów dostępnych w pamięci NVRAM. Zawsze będzie to co najmniej 2048. Jeśli implementacja nie zna całkowitego rozmiaru, może podać szacunkową liczbę 2048.
urządzenie — instancja nvram_device . total_size — odbiera dane wyjściowe. Nie może być zero.
nvram_result_t (* is_space_locked)(const struktura nvram_device *device, uint32_t indeks, int *write_lock_enabled, int *read_lock_enabled) |
Podaje, czy blokady są włączone dla danego pomieszczenia. Gdy blokada jest włączona, operacja jest wyłączona, a każda próba wykonania tej operacji zakończy się komunikatem NV_RESULT_OPERATION_DISABLED.
urządzenie — instancja nvram_device . indeks — Indeks spacji. write_lock_enabled — zostanie ustawione na wartość różną od zera, jeśli operacje zapisu są obecnie wyłączone. read_lock_enabled — zostanie ustawione na wartość różną od zera, jeśli operacje odczytu są obecnie wyłączone.
nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t indeks, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_tauthorization_value_size, uint8_t *buffer, uint64_t *bytes_read) |
Odczytuje zawartość spacji. Jeśli spacja nie została nigdy zapisana, wszystkie odczytane bajty będą miały wartość 0x00.
urządzenie — instancja nvram_device . indeks — Indeks spacji. num_bytes_to_read – Liczba bajtów do odczytania; |bufor| musi być wystarczająco duży, aby pomieścić tyle bajtów. Jeżeli jest to więcej niż wielkość obszaru, odczytywane jest całe miejsce. Jeśli jest on mniejszy niż rozmiar przestrzeni, odczytywane są pierwsze bajty w przestrzeni. wartość_autoryzacji — jeśli przestrzeń ma politykę NV_Control_READ_AUTHORIZATION, wówczas ten parametr podaje wartość autoryzacji. W przeciwnym razie ta wartość jest ignorowana i może mieć wartość NULL. authorization_value_size — Liczba bajtów w |authorization_value|. bufor – odbiera dane odczytane z przestrzeni. Musi wynosić co najmniej |num_bytes_to_read| bajtów. bytes_read — liczba odczytanych bajtów. Jeśli zwrócona zostanie wartość NV_RESULT_SUCCESS, zostanie ona ustawiona na mniejszą z wartości |num_bytes_to_read| lub wielkość przestrzeni.
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t indeks, const uint8_t *buffer, uint64_t bufor_rozmiar, const uint8_t *authorization_value, uint32_t autoryzacja_wartość_rozmiar) |
Zapisuje zawartość spacji. Jeśli przestrzeń jest skonfigurowana za pomocą NV_Control_WRITE_EXTEND, dane wejściowe zostaną użyte do rozszerzenia bieżących danych.
urządzenie — instancja nvram_device . indeks — Indeks spacji. bufor – Dane do zapisania. bufor_rozmiar — liczba bajtów w |buforze|. Jeśli jest to mniej niż rozmiar spacji, pozostałe bajty zostaną ustawione na 0x00. Jeśli jest to więcej niż rozmiar miejsca, zwraca NV_RESULT_INVALID_PARAMETER. wartość_autoryzacji — jeśli przestrzeń ma politykę NV_Control_WRITE_AUTHORIZATION, wówczas ten parametr podaje wartość autoryzacji. W przeciwnym razie ta wartość jest ignorowana i może mieć wartość NULL. authorization_value_size — Liczba bajtów w |authorization_value|.
Dokumentacja tej struktury została wygenerowana z następującego pliku:
- hardware/libhardware/include/hardware/ nvram.h