Riferimento alla struttura nvram_device
#include < nvram.h >
Campi dati | |
struttura hw_device_t | comune |
nvram_result_t (* | get_total_size_in_bytes )(const struct nvram_device *device, uint64_t *total_size) |
nvram_result_t (* | get_available_size_in_bytes )(const struct 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 struct 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 struct nvram_device *device, uint32_t indice, uint64_t *size) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *device, uint32_t indice, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
nvram_result_t (* | is_space_locked )(const struct nvram_device *device, uint32_t indice, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *device, uint32_t indice, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
nvram_result_t (* | delete_space )(const struct nvram_device *device, uint32_t indice, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
nvram_result_t (* | disable_create )(const struct nvram_device *device) |
nvram_result_t (* | write_space )(const struct nvram_device *device, uint32_t indice, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
nvram_result_t (* | read_space )(const struct nvram_device *device, uint32_t indice, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t autorizzazione_value_size, uint8_t *buffer, uint64_t *bytes_read) |
nvram_result_t (* | Enable_write_lock )(const struct nvram_device *device, uint32_t indice, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
nvram_result_t (* | Enable_read_lock )(const struct nvram_device *device, uint32_t indice, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
Descrizione dettagliata
Documentazione sul campo
struttura hw_device_t comune |
Metodi comuni di nvram_device . Questo deve essere il primo membro di nvram_device poiché gli utenti di questa struttura trasmetteranno un puntatore hw_device_t a nvram_device in contesti in cui è noto che hw_device_t fa riferimento a nvram_device .
nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t indice, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
Crea un nuovo spazio con l'indice, la dimensione, i controlli e il valore di autorizzazione specificati.
dispositivo: l'istanza nvram_device . indice - Un indice per il nuovo spazio. L'indice può essere qualsiasi valore a 32 bit ma non deve essere già assegnato a uno spazio esistente. size_in_bytes - Il numero di byte da allocare per lo spazio. control_list - Una serie di controlli da applicare per lo spazio. list_size - Il numero di elementi in |control_list|. valore_autorizzazione - Se |elenco_controllo| contiene NV_CONTROL_READ_AUTHORIZATION e/o NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione per queste policy (se entrambi i controlli sono impostati, questo valore si applica a entrambi). Altrimenti, questo valore viene ignorato e potrebbe essere NULL. valore_autorizzazione_dimensione - Il numero di byte in |valore_autorizzazione|.
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t indice, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
Elimina uno spazio.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. valore_autorizzazione: se lo spazio ha la policy NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. Altrimenti, questo valore viene ignorato e potrebbe essere NULL. valore_autorizzazione_dimensione - Il numero di byte in |valore_autorizzazione|.
nvram_result_t (* disattiva_create)(const struct nvram_device *dispositivo) |
Disabilita qualsiasi ulteriore creazione di spazi fino al successivo ripristino completo del dispositivo (come nel ripristino delle impostazioni di fabbrica, non nel riavvio). Le chiamate successive a NV_CreateSpace dovrebbero restituire NV_RESULT_OPERATION_DISABLED.
dispositivo: l'istanza nvram_device .
nvram_result_t (* abilita_read_lock)(const struct nvram_device *device, uint32_t indice, const uint8_t *valore_autorizzazione, uint32_t valore_autorizzazione_dimensione) |
Abilita un blocco di lettura per lo spazio specificato in base alla sua politica. Se per lo spazio non è impostato NV_CONTROL_BOOT_READ_LOCK, questa funzione non ha alcun effetto e potrebbe restituire un errore.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. valore_autorizzazione: se lo spazio ha la policy NV_CONTROL_READ_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. (Si noti che non è richiesto l'accesso in scrittura per il blocco in lettura. Un blocco in lettura è sempre volatile.) Altrimenti, questo valore viene ignorato e potrebbe essere NULL. valore_autorizzazione_dimensione - Il numero di byte in |valore_autorizzazione|.
nvram_result_t (* Enable_write_lock)(const struct nvram_device *device, uint32_t indice, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
Abilita un blocco in scrittura per lo spazio specificato in base alla sua politica. Se per lo spazio non è impostato NV_CONTROL_PERSISTENT_WRITE_LOCK o NV_CONTROL_BOOT_WRITE_LOCK, questa funzione non ha alcun effetto e potrebbe restituire un errore.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. valore_autorizzazione: se lo spazio ha la policy NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. Altrimenti, questo valore viene ignorato e potrebbe essere NULL. valore_autorizzazione_dimensione - Il numero di byte in |valore_autorizzazione|.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
Restituisce il numero di byte non allocati disponibili nella NVRAM. Se un'implementazione non conosce la dimensione disponibile, può fornire una stima o la dimensione totale.
dispositivo: l'istanza nvram_device . available_size: riceve l'output. Non può essere NULL.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
Restituisce il numero massimo di byte che possono essere allocati per un singolo spazio. Questo sarà sempre almeno 32. Se un'implementazione non limita la dimensione massima può fornire la dimensione totale.
dispositivo: l'istanza nvram_device . max_space_size: riceve l'output. Non può essere NULL.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Restituisce il numero totale massimo di spazi che possono essere allocati. Questo sarà sempre almeno 8. Restituisce NV_UNLIMITED_SPACES se è supportato un numero qualsiasi di spazi (limitato solo ai byte NVRAM disponibili).
dispositivo: l'istanza nvram_device . num_spaces: riceve l'output. Non può essere NULL.
nvram_result_t (* get_space_controls)(const struct nvram_device *device, uint32_t indice, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
Restituisce l'elenco dei controlli associati a un determinato spazio.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. max_list_size - Il numero di elementi nella |control_list| vettore. control_list - Riceve l'elenco dei controlli fino al valore |max_list_size| specificato. Può essere NULL se |max_list_size| è 0. list_size - Riceve il numero di elementi popolati in |control_list|, o il numero di elementi disponibili se |control_list| è zero.
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) |
Restituisce un elenco di indici di spazio creati. Se |max_list_size| è 0, solo |list_size| è popolato.
dispositivo: l'istanza nvram_device . max_list_size - Il numero di elementi in |space_index_list| vettore. space_index_list - Riceve l'elenco degli spazi creati fino al |max_list_size| specificato. Può essere NULL se |max_list_size| è 0. list_size - Riceve il numero di elementi popolati in |space_index_list|, o il numero di elementi disponibili se |space_index_list| è zero.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t indice, uint64_t *size) |
Restituisce la dimensione, in byte, di un determinato spazio.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. size: riceve l'output. Non può essere NULL.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
Restituisce il numero totale di byte disponibili nella NVRAM. Questo sarà sempre almeno il 2048. Se un'implementazione non conosce la dimensione totale può fornire una stima o 2048.
dispositivo: l'istanza nvram_device . total_size: riceve l'output. Non può essere NULL.
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t indice, int *write_lock_enabled, int *read_lock_enabled) |
Indica se i blocchi sono abilitati per lo spazio specificato. Quando un blocco è abilitato, l'operazione è disabilitata e qualsiasi tentativo di eseguire tale operazione risulterà in NV_RESULT_OPERATION_DISABLED.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. write_lock_enabled - Verrà impostato su diverso da zero se le operazioni di scrittura sono attualmente disabilitate. read_lock_enabled - Verrà impostato su diverso da zero se le operazioni di lettura sono attualmente disabilitate.
nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t indice, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t autorizzazione_value_size, uint8_t *buffer, uint64_t *bytes_read) |
Legge il contenuto di uno spazio. Se lo spazio non è mai stato scritto, tutti i byte letti saranno 0x00.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. num_bytes_to_read - Il numero di byte da leggere; |buffer| deve essere abbastanza grande da contenere questo numero di byte. Se è superiore alla dimensione dello spazio, viene letto l'intero spazio. Se questa è inferiore alla dimensione dello spazio, vengono letti i primi byte nello spazio. valore_autorizzazione: se lo spazio ha la policy NV_CONTROL_READ_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. Altrimenti, questo valore viene ignorato e potrebbe essere NULL. valore_autorizzazione_dimensione - Il numero di byte in |valore_autorizzazione|. buffer: riceve i dati letti dallo spazio. Deve essere almeno |num_bytes_to_read| byte di dimensione. bytes_read - Il numero di byte letti. Se viene restituito NV_RESULT_SUCCESS, questo verrà impostato sul valore più piccolo tra |num_bytes_to_read| o la dimensione dello spazio.
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t indice, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t autorizzazione_value_size) |
Scrive il contenuto di uno spazio. Se lo spazio è configurato con NV_CONTROL_WRITE_EXTEND, i dati di input vengono utilizzati per estendere i dati correnti.
dispositivo: l'istanza nvram_device . indice - L'indice dello spazio. buffer - I dati da scrivere. buffer_size - Il numero di byte in |buffer|. Se è inferiore alla dimensione dello spazio, i byte rimanenti verranno impostati su 0x00. Se è superiore alla dimensione dello spazio, restituisce NV_RESULT_INVALID_PARAMETER. valore_autorizzazione: se lo spazio ha la policy NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. Altrimenti, questo valore viene ignorato e potrebbe essere NULL. valore_autorizzazione_dimensione - Il numero di byte in |valore_autorizzazione|.
La documentazione per questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ nvram.h