Riferimento alla struttura nvram_device

Riferimento alla struttura nvram_device

#include < nvram.h >

Campi dati

struct hw_device_t   comuni
 
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 index, uint64_t *size)
 
nvram_result_t (*  get_space_controls )(const struct nvram_device *device, uint32_t index, 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 index, int *write_lock_enabled, int *read_lock_enabled)
 
nvram_result_t (*  create_space )(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t authorization_value_size)
 
nvram_result_t (*  delete_space )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size)
 
nvram_result_t (*  disable_create )(const struct nvram_device *device)
 
nvram_result_t (*  write_space )(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size)
 
nvram_result_t (*  read_space )(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *buffer, uint64_t *bytes_read)
 
nvram_result_t (*  enable_write_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size)
 
nvram_result_t (*  enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size)
 

Descrizione dettagliata

Definizione alla riga 48 del file nvram.h .

Documentazione dei campi

struct hw_device_t common

Metodi comuni di nvram_device . Questo deve essere il primo membro di nvram_device poiché gli utenti di questa struttura eseguiranno il casting di un hw_device_t a nvram_device in contesti in cui è noto che hw_device_t fa riferimento a nvram_device .

Definizione nella riga 55 del file nvram.h .

nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t authorization_value_size)

Crea un nuovo spazio con l'indice, le dimensioni, i controlli e il valore di autorizzazione specificati.

device: l'istanza nvram_device . index: 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: un array di controlli da applicare allo spazio. list_size: il numero di elementi in |control_list|. authorization_value: se |control_list| contiene NV_CONTROL_READ_AUTHORIZATION e / o NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione per questi criteri (se sono impostati entrambi i controlli, questo valore si applica a entrambi). In caso contrario, questo valore viene ignorato e può essere NULL. authorization_value_size: il numero di byte in |authorization_value|.

Definizione nella riga 187 del file nvram.h .

nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size)

Consente di eliminare uno spazio.

device: l'istanza nvram_device . index: l'indice dello spazio. authorization_value: se lo spazio ha il criterio NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. In caso contrario, questo valore viene ignorato e può essere NULL. authorization_value_size: il numero di byte in |authorization_value|.

Definizione nella riga 207 del file nvram.h .

nvram_result_t (* disable_create)(const struct nvram_device *device)

Disattiva qualsiasi ulteriore creazione di spazi fino al successivo ripristino completo del dispositivo (come nel ripristino dei dati di fabbrica, non nel riavvio). Le chiamate successive a NV_CreateSpace devono restituire NV_RESULT_OPERATION_DISABLED.

device: l'istanza nvram_device .

Definizione nella riga 219 del file nvram.h .

nvram_result_t (* enable_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size)

Attiva un blocco di lettura per lo spazio specificato in base ai relativi criteri. Se nello spazio non è impostato NV_CONTROL_BOOT_READ_LOCK, questa funzione non ha alcun effetto e potrebbe restituire un errore.

device: l'istanza nvram_device . index: l'indice dello spazio. authorization_value: se lo spazio ha il criterio NV_CONTROL_READ_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. Tieni presente che non è necessario disporre dell'accesso in scrittura per bloccare la lettura. Un blocco di lettura è sempre volatile. In caso contrario, questo valore viene ignorato e può essere NULL. authorization_value_size: il numero di byte in |authorization_value|.

Definizione nella riga 317 del file nvram.h .

nvram_result_t (* enable_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size)

Attiva un blocco di scrittura per lo spazio specificato in base al relativo criterio. Se per lo spazio non sono impostati NV_CONTROL_PERSISTENT_WRITE_LOCK o NV_CONTROL_BOOT_WRITE_LOCK, questa funzione non ha alcun effetto e potrebbe restituire un errore.

device: l'istanza nvram_device . index: l'indice dello spazio. authorization_value: se lo spazio ha il criterio NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. In caso contrario, questo valore viene ignorato e può essere NULL. authorization_value_size: il numero di byte in |authorization_value|.

Definizione nella riga 294 del file nvram.h .

nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size)

Stampa il numero di byte non allocati disponibili nella NVRAM. Se un'implementazione non conosce le dimensioni disponibili, potrebbe fornire una stima o le dimensioni totali.

device: l'istanza nvram_device . available_size: riceve l'output. Non può essere NULL.

Definizione nella riga 76 del file nvram.h .

nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size)

Consente di visualizzare il numero massimo di byte che possono essere allocati per un singolo spazio. Il numero di caratteri sarà sempre almeno 32. Se un'implementazione non limita le dimensioni massime, potrebbe fornire le dimensioni totali.

device: l'istanza nvram_device . max_space_size: riceve l'output. Non può essere NULL.

Definizione nella riga 87 del file nvram.h .

nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces)

Consente di visualizzare il numero totale massimo di spazi che possono essere allocati. Il numero sarà sempre almeno 8. Consente di visualizzare NV_UNLIMITED_SPACES se è supportato un numero qualsiasi di spazi (limitato solo ai byte NVRAM disponibili).

device: l'istanza nvram_device . num_spaces: riceve l'output. Non può essere NULL.

Definizione nella riga 99 del file nvram.h .

nvram_result_t (* get_space_controls)(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size)

Consente di visualizzare l'elenco dei controlli associati a un determinato spazio.

device: l'istanza nvram_device . index: l'indice dello spazio. max_list_size: il numero di elementi nell'array |control_list|. control_list: riceve l'elenco dei controlli fino al valore specificato per |max_list_size|. Può essere NULL se |max_list_size| è 0. list_size: riceve il numero di elementi inseriti in |control_list| o il numero di elementi disponibili se |control_list| è NULL.

Definizione nella riga 144 del file nvram.h .

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)

Consente di visualizzare un elenco degli indici dello spazio creati. Se |max_list_size| è 0, viene compilato solo |list_size|.

device: l'istanza nvram_device . max_list_size: il numero di elementi nell'array |space_index_list|. space_index_list: riceve l'elenco degli spazi creati fino al valore specificato per |max_list_size|. Può essere NULL se |max_list_size| è 0. list_size: riceve il numero di elementi inseriti in |space_index_list| o il numero di elementi disponibili se |space_index_list| è NULL.

Definizione alla riga 116 del file nvram.h .

nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size)

Stampa le dimensioni, in byte, di uno spazio specifico.

device: l'istanza nvram_device . index: l'indice dello spazio. size: riceve l'output. Non può essere NULL.

Definizione nella riga 128 del file nvram.h .

nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size)

Stampa il numero totale di byte disponibili nella NVRAM. Il numero di caratteri sarà sempre almeno 2048. Se un'implementazione non conosce le dimensioni totali, potrebbe fornire una stima o 2048.

device: l'istanza nvram_device . total_size: riceve l'output. Non può essere NULL.

Definizione nella riga 65 del file nvram.h .

nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled)

Restituisce se le serrature sono attive per lo spazio specificato. Quando un blocco è attivo, l'operazione viene disattivata e qualsiasi tentativo di eseguirla comporterà NV_RESULT_OPERATION_DISABLED.

device: l'istanza nvram_device . index: l'indice dello spazio. write_lock_enabled: verrà impostato su un valore diverso da zero se e solo se le operazioni di scrittura sono attualmente disattivate. read_lock_enabled: verrà impostato su un valore diverso da zero se e solo se le operazioni di lettura sono attualmente disattivate.

Definizione alla riga 161 del file nvram.h .

nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *buffer, uint64_t *bytes_read)

Legge i contenuti di uno spazio. Se lo spazio non è mai stato scritto, tutti i byte letti saranno 0x00.

device: l'istanza nvram_device . index: l'indice dello spazio. num_bytes_to_read: il numero di byte da leggere; |buffer| deve essere sufficientemente grande da contenere questo numero di byte. Se il valore è superiore alle dimensioni dello spazio, viene letto l'intero spazio. Se questo valore è inferiore alle dimensioni dello spazio, vengono letti i primi byte dello spazio. authorization_value: se lo spazio ha il criterio NV_CONTROL_READ_AUTHORIZATION, questo parametro fornisce il valore dell'autorizzazione. In caso contrario, questo valore viene ignorato e può essere NULL. authorization_value_size: il numero di byte in |authorization_value|. buffer: riceve i dati letti dallo spazio. Deve avere una dimensione di almeno |num_bytes_to_read| byte. bytes_read: il numero di byte letti. Se viene restituito NV_RESULT_SUCCESS, verrà impostato il valore più piccolo tra |num_bytes_to_read| o la dimensione dello spazio.

Definizione nella riga 272 del file nvram.h .

nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size)

Scrive i contenuti di uno spazio. Se lo spazio è configurato con NV_CONTROL_WRITE_EXTEND, i dati di input vengono utilizzati per estendere i dati correnti.

device: l'istanza nvram_device . index: l'indice dello spazio. buffer: i dati da scrivere. buffer_size: il numero di byte in |buffer|. Se è inferiore alle dimensioni dello spazio, i byte rimanenti verranno impostati su 0x00. Se è maggiore delle dimensioni dello spazio, viene restituito NV_RESULT_INVALID_PARAMETER. authorization_value: se lo spazio ha il criterio NV_CONTROL_WRITE_AUTHORIZATION, questo parametro fornisce il valore di autorizzazione. In caso contrario, questo valore viene ignorato e può essere NULL. authorization_value_size: il numero di byte in |authorization_value|.

Definizione nella riga 241 del file nvram.h .


La documentazione di questa struttura è stata generata dal seguente file:
  • hardware/libhardware/include/hardware/ nvram.h