Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Référence de structure nvram_device

Référence de structure nvram_device

#include < nvram.h >

Champs de données

structure hw_device_t commun
nvram_result_t (* get_total_size_in_bytes )(structure const nvram_device *device, uint64_t *total_size)
nvram_result_t (* get_available_size_in_bytes )(structure const nvram_device *device, uint64_t *available_size)
nvram_result_t (* get_max_space_size_in_bytes )(structure const nvram_device *device, uint64_t *max_space_size)
nvram_result_t (* get_max_spaces )(structure const 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 )(structure const nvram_device *périphérique, index uint32_t, uint64_t *taille)
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, index uint32_t, 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 autorisation_value_size)
nvram_result_t (* delete_space )(const struct nvram_device *device, index uint32_t, const uint8_t *authorization_value, uint32_t autorisation_value_size)
nvram_result_t (* disable_create )(structure const 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 autorisation_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, index uint32_t, const uint8_t *authorization_value, uint32_t autorisation_value_size)
nvram_result_t (* enable_read_lock )(const struct nvram_device *device, index uint32_t, const uint8_t *authorization_value, uint32_t autorisation_value_size)

Description détaillée

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

Documentation de terrain

structure hw_device_t commune

Méthodes communes du nvram_device . Cela doit être le premier membre de nvram_device car les utilisateurs de cette structure lanceront un pointeur hw_device_t vers nvram_device dans des 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 autorisation_value_size)

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

device - L'instance nvram_device . index - Un index pour le nouvel espace. L'index peut être n'importe quelle valeur 32 bits mais ne doit pas déjà être affecté à un espace existant. size_in_bytes - Le nombre d'octets à allouer pour l'espace. control_list - Un tableau de contrôles à appliquer pour l'espace. list_size - Le nombre d'éléments dans |control_list|. valeur_autorisation - Si |liste_contrôle| contient NV_CONTROL_READ_AUTHORIZATION et/ou NV_CONTROL_WRITE_AUTHORIZATION, alors ce paramètre fournit la valeur d'autorisation pour ces politiques (si les deux contrôles sont définis, cette valeur s'applique aux deux). Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size - Le 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, index uint32_t, const uint8_t *authorization_value, uint32_t autorisation_value_size)

Supprime un espace.

device - L'instance nvram_device . index - L'index de l'espace. valeur_autorisation - Si l'espace a 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 - Le 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 (comme lors de la réinitialisation d'usine, pas de redémarrage). Les appels ultérieurs à NV_CreateSpace doivent renvoyer NV_RESULT_OPERATION_DISABLED.

device - L'instance nvram_device .

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

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

Active un verrou en lecture pour l'espace donné en fonction de sa stratégie. 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 - L'instance nvram_device . index - L'index de l'espace. valeur_autorisation - Si l'espace a la règle NV_CONTROL_READ_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. (Notez qu'il n'y a aucune exigence d'accès en écriture pour verrouiller en lecture. Un verrou en lecture est toujours volatil.) Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size - Le 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, index uint32_t, const uint8_t *authorization_value, uint32_t autorisation_value_size)

Active un verrou en écriture pour l'espace donné en fonction de sa stratégie. 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 - L'instance nvram_device . index - L'index de l'espace. valeur_autorisation - Si l'espace a 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 - Le 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 - L'instance nvram_device . available_size - Reçoit la sortie. Ne peut pas être nulle.

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. Ce sera toujours au moins 32. Si une implémentation ne limite pas la taille maximale, elle peut fournir la taille totale.

device - L'instance nvram_device . max_space_size - Reçoit la sortie. Ne peut pas être nulle.

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

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

Indique le nombre total maximum d'espaces pouvant être alloués. Ce sera toujours au moins 8. Sorties NV_UNLIMITED_SPACES si n'importe quel nombre d'espaces est pris en charge (limité uniquement aux octets NVRAM disponibles).

device - L'instance nvram_device . num_spaces - Reçoit la sortie. Ne peut pas être nulle.

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 champs associés à un espace donné.

device - L'instance nvram_device . index - L'index de l'espace. max_list_size - Le nombre d'éléments dans la |control_list| déployer. control_list - Reçoit la liste des contrôles jusqu'à la |max_list_size| donnée. Peut être NULL si |max_list_size| est 0. list_size - Reçoit le nombre d'éléments remplis dans |control_list|, ou le nombre d'éléments disponibles si |control_list| est NUL.

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)

Génère une liste des index d'espace créés. Si |max_list_size| vaut 0, seul |list_size| est peuplé.

device - L'instance nvram_device . max_list_size - Le nombre d'éléments dans la |space_index_list| déployer. space_index_list - Reçoit la liste des espaces créés jusqu'à la |max_list_size| donnée. Peut être NULL si |max_list_size| est 0. list_size - Reçoit le nombre d'éléments remplis dans |space_index_list|, ou le nombre d'éléments disponibles si |space_index_list| est NUL.

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)

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

device - L'instance nvram_device . index - L'index de l'espace. size - Reçoit la sortie. Ne peut pas être nulle.

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. Ce sera toujours au moins 2048. Si une implémentation ne connaît pas la taille totale, elle peut fournir une estimation ou 2048.

device - L'instance nvram_device . total_size - Reçoit la sortie. Ne peut pas être nulle.

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

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

Indique si les verrous sont activés pour l'espace donné. Lorsqu'un verrou est activé, l'opération est désactivée et toute tentative d'exécution de cette opération entraînera NV_RESULT_OPERATION_DISABLED.

device - L'instance nvram_device . index - L'index de l'espace. write_lock_enabled - Sera défini sur non nul si les opérations d'écriture sont actuellement désactivées. read_lock_enabled - Sera défini sur non nul 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 - L'instance nvram_device . index - L'index de l'espace. num_bytes_to_read - Le nombre d'octets à lire ; |tampon| doit être suffisamment grand pour contenir ce nombre d'octets. Si c'est plus que la taille de l'espace, l'espace entier est lu. Si celle-ci est inférieure à la taille de l'espace, les premiers octets de l'espace sont lus. valeur_autorisation - Si l'espace a 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 - Le 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 de taille. bytes_read - Le nombre d'octets lus. Si NV_RESULT_SUCCESS est renvoyé, il sera défini sur le plus petit de |num_bytes_to_read| ou 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 autorisation_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 - L'instance nvram_device . index - L'index de l'espace. buffer - Les données à écrire. buffer_size - Le nombre d'octets dans |buffer|. Si celle-ci est inférieure à la taille de l'espace, les octets restants seront définis sur 0x00. Si c'est plus que la taille de l'espace, renvoie NV_RESULT_INVALID_PARAMETER. valeur_autorisation - Si l'espace a 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 - Le nombre d'octets dans |authorization_value|.

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


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