Documentation de référence sur la struct nvram_device

Documentation de référence sur la struct nvram_device

#include < nvram.h >

Champs de données

struct hw_device_t   commun
 
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)
 

Description détaillée

Définition à la ligne  48 du fichier nvram.h .

Documentation des champs

struct hw_device_t common

Méthodes courantes de l' objet nvram_device . Cet élément doit être le premier membre de nvram_device , car les utilisateurs de cette structure castent un hw_device_t en pointeur nvram_device dans les contextes où il est connu que hw_device_t fait référence à un nvram_device .

Définition à la ligne  55 du fichier 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)

Crée un espace avec l'index, la taille, les commandes et la valeur d'autorisation donnés.

device : instance nvram_device . index : indice du nouvel espace. L'index peut être n'importe quelle valeur de 32 bits, mais ne doit pas déjà être attribué à un espace existant. size_in_bytes : nombre d'octets à allouer à l'espace. control_list : tableau de commandes à appliquer à l'espace. list_size : nombre d'éléments dans |control_list|. authorization_value : si |control_list| contient NV_CONTROL_READ_AUTHORIZATION et / ou NV_CONTROL_WRITE_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation pour ces stratégies (si les deux commandes sont définies, cette valeur s'applique aux deux). Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size : nombre d'octets dans |authorization_value|.

Définition à la ligne  187 du fichier 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)

Supprime un espace.

device : instance nvram_device . index : indice de l'espace. authorization_value : si l'espace est associé à la règle NV_CONTROL_WRITE_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size : nombre d'octets dans |authorization_value|.

Définition à la ligne  207 du fichier nvram.h .

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

Désactive toute nouvelle création d'espaces jusqu'à la prochaine réinitialisation complète de l'appareil (rétablissement de la configuration d'usine, pas redémarrage). Les appels suivants à NV_CreateSpace doivent renvoyer NV_RESULT_OPERATION_DISABLED.

device : instance nvram_device .

Définition à la ligne  219 du fichier 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)

Active un verrouillage en lecture pour l'espace donné conformément à ses règles. Si l'espace n'a pas NV_CONTROL_BOOT_READ_LOCK défini, cette fonction n'a aucun effet et peut renvoyer une erreur.

device : instance nvram_device . index : indice de l'espace. authorization_value : si l'espace est associé à la règle NV_CONTROL_READ_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. (Notez qu'aucun accès en écriture n'est requis pour verrouiller un fichier en lecture. Un verrouillage en lecture est toujours volatile.) Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size : nombre d'octets dans |authorization_value|.

Définition à la ligne 317 du fichier 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)

Active un verrouillage en écriture pour l'espace donné conformément à ses règles. Si l'espace n'a pas NV_CONTROL_PERSISTENT_WRITE_LOCK ou NV_CONTROL_BOOT_WRITE_LOCK défini, cette fonction n'a aucun effet et peut renvoyer une erreur.

device : instance nvram_device . index : indice de l'espace. authorization_value : si l'espace est associé à la règle NV_CONTROL_WRITE_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size : nombre d'octets dans |authorization_value|.

Définition à la ligne  294 du fichier nvram.h .

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

Affiche le nombre d'octets non alloués disponibles dans la NVRAM. Si une implémentation ne connaît pas la taille disponible, elle peut fournir une estimation ou la taille totale.

device : instance nvram_device . available_size : reçoit la sortie. Ne peut pas être NULL.

Définition à la ligne  76 du fichier nvram.h .

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

Affiche le nombre maximal d'octets pouvant être alloués à un seul espace. Cette valeur est toujours supérieure ou égale à 32. Si une implémentation ne limite pas la taille maximale, elle peut fournir la taille totale.

device : instance nvram_device . max_space_size : reçoit la sortie. Ne peut pas être NULL.

Définition à la ligne  87 du fichier nvram.h .

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

Affiche le nombre maximal total d'espaces pouvant être alloués. Ce nombre est toujours supérieur ou égal à 8. Affiche NV_UNLIMITED_SPACES si un nombre illimité d'espaces est accepté (limité uniquement aux octets de NVRAM disponibles).

device : instance nvram_device . num_spaces : reçoit la sortie. Ne peut pas être NULL.

Définition à la ligne  99 du fichier 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)

Affiche la liste des commandes associées à un espace donné.

device : instance nvram_device . index : indice de l'espace. max_list_size : nombre d'éléments dans le tableau |control_list|. control_list : reçoit la liste des commandes jusqu'à la valeur |max_list_size| donnée. Peut être NULL si |max_list_size| est égal à 0. list_size : reçoit le nombre d'éléments renseignés dans |control_list| ou le nombre d'éléments disponibles si |control_list| est NULL.

Définition à la ligne  144 du fichier 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)

Affiche une liste des indices d'espace créés. Si |max_list_size| est défini sur 0, seul |list_size| est renseigné.

device : instance nvram_device . max_list_size : nombre d'éléments dans le tableau |space_index_list|. space_index_list : reçoit la liste des espaces créés jusqu'à la valeur |max_list_size| donnée. Peut être NULL si |max_list_size| est égal à 0. list_size : reçoit le nombre d'éléments renseignés dans |space_index_list| ou le nombre d'éléments disponibles si |space_index_list| est NULL.

Définition à la ligne  116 du fichier nvram.h .

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

Affiche la taille, en octets, d'un espace donné.

device : instance nvram_device . index : indice de l'espace. size : reçoit la sortie. Ne peut pas être NULL.

Définition à la ligne  128 du fichier nvram.h .

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

Affiche le nombre total d'octets disponibles dans la NVRAM. Il doit toujours être supérieur à 2 048. Si une implémentation ne connaît pas la taille totale, elle peut fournir une estimation ou 2 048.

device : instance nvram_device . total_size : reçoit la sortie. Ne peut pas être NULL.

Définition à la ligne  65 du fichier nvram.h .

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

Indique si les serrures sont activées pour l'espace donné. Lorsqu'un verrouillage est activé, l'opération est désactivée et toute tentative d'exécution de cette opération entraîne NV_RESULT_OPERATION_DISABLED.

device : instance nvram_device . index : indice de l'espace. write_lock_enabled : sera défini sur une valeur non nulle si les opérations d'écriture sont actuellement désactivées. read_lock_enabled : sera défini sur une valeur non nulle si les opérations de lecture sont actuellement désactivées.

Définition à la ligne  161 du fichier 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)

Lit le contenu d'un espace. Si l'espace n'a jamais été écrit, tous les octets lus seront 0x00.

device : instance nvram_device . index : indice d'espace. num_bytes_to_read : nombre d'octets à lire. |buffer| doit être suffisamment grand pour contenir ce nombre d'octets. Si la valeur est supérieure à la taille de l'espace, l'espace entier est lu. Si cette valeur est inférieure à la taille de l'espace, les premiers octets de l'espace sont lus. authorization_value : si l'espace est associé à la règle NV_CONTROL_READ_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size : nombre d'octets dans |authorization_value|. buffer : reçoit les données lues à partir de l'espace. Doit être d'au moins |num_bytes_to_read| octets. bytes_read : nombre d'octets lus. Si NV_RESULT_SUCCESS est renvoyé, cette valeur est définie sur la valeur la plus faible entre |num_bytes_to_read| et la taille de l'espace.

Définition à la ligne  272 du fichier 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)

Écrit le contenu d'un espace. Si l'espace est configuré avec NV_CONTROL_WRITE_EXTEND, les données d'entrée sont utilisées pour étendre les données actuelles.

device : instance nvram_device . index : indice de l'espace. buffer : données à écrire. buffer_size : nombre d'octets dans |buffer|. Si cette valeur est inférieure à la taille de l'espace, les octets restants sont définis sur 0x00. Si cette valeur est supérieure à la taille de l'espace, la valeur NV_RESULT_INVALID_PARAMETER est renvoyée. authorization_value : si l'espace est associé à la stratégie NV_CONTROL_WRITE_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size : nombre d'octets dans |authorization_value|.

Définition à la ligne  241 du fichier nvram.h .


La documentation de ce struct a été générée à partir du fichier suivant :
  • hardware/libhardware/include/hardware/ nvram.h