Riferimento alla struttura nvram_device

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

Definizione alla riga 48 del file nvram.h .

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 .

Definizione alla riga 55 del file nvram.h .

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|.

Definizione alla riga 187 del file nvram.h .

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|.

Definizione alla riga 207 del file nvram.h .

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 .

Definizione alla riga 219 del file nvram.h .

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|.

Definizione alla riga 317 del file nvram.h .

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|.

Definizione alla riga 294 del file nvram.h .

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.

Definizione alla 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)

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.

Definizione alla riga 87 del file nvram.h .

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.

Definizione alla riga 99 del file nvram.h .

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.

Definizione alla 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)

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.

Definizione alla riga 116 del file nvram.h .

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.

Definizione alla riga 128 del file nvram.h .

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.

Definizione alla riga 65 del file nvram.h .

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.

Definizione alla riga 161 del file nvram.h .

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.

Definizione alla riga 272 del file nvram.h .

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|.

Definizione alla riga 241 del file nvram.h .


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