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 )(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, index uint32_t, 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 (* | désactiver_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 (* | activate_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
Documentation de terrain
struct hw_device_t commun |
Méthodes courantes du nvram_device . Il doit s'agir du premier membre de nvram_device car les utilisateurs de cette structure lanceront un pointeur hw_device_t vers nvram_device dans des contextes où l'on sait que hw_device_t fait référence à un nvram_device .
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 nouvel espace avec l'index, la taille, les contrôles et la valeur d'autorisation donnés.
périphérique - L'instance nvram_device . index - Un index pour le 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 - 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|. authorisation_value - Si |control_list| contient NV_CONTROL_READ_AUTHORIZATION et/ou NV_CONTROL_WRITE_AUTHORIZATION, alors ce paramètre fournit la valeur d'autorisation pour ces stratégies (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|.
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.
périphérique - L'instance nvram_device . index - L'index de l'espace. authorisation_value - Si l'espace a 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 - Le nombre d'octets dans |authorization_value|.
nvram_result_t (* désactiver_create)(const struct nvram_device *device) |
Désactive toute création ultérieure d'espaces jusqu'à la prochaine réinitialisation complète de l'appareil (comme lors d'une réinitialisation d'usine, pas de redémarrage). Les appels suivants à NV_CreateSpace doivent renvoyer NV_RESULT_OPERATION_DISABLED.
périphérique - L'instance nvram_device .
nvram_result_t (* activate_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Active un verrou en lecture pour l'espace donné en fonction de sa politique. Si l'espace n'a pas NV_CONTROL_BOOT_READ_LOCK défini, cette fonction n'a aucun effet et peut renvoyer une erreur.
périphérique - L'instance nvram_device . index - L'index de l'espace. authorisation_value - Si l'espace a la stratégie NV_CONTROL_READ_AUTHORIZATION, ce paramètre fournit la valeur d'autorisation. (Notez qu'il n'est pas nécessaire d'accéder en écriture pour verrouiller en lecture. Un verrou en lecture est toujours volatile.) Sinon, cette valeur est ignorée et peut être NULL. authorization_value_size - Le nombre d'octets dans |authorization_value|.
nvram_result_t (* activate_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Active un verrou en écriture pour l'espace donné selon sa politique. 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.
périphérique - L'instance nvram_device . index - L'index de l'espace. authorisation_value - Si l'espace a 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 - Le nombre d'octets dans |authorization_value|.
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.
périphérique - L'instance nvram_device . available_size - Reçoit la sortie. Ne peut pas être nulle.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
Affiche le nombre maximum 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.
périphérique - L'instance nvram_device . max_space_size - Reçoit la sortie. Ne peut pas être nulle.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Affiche le nombre total maximum d'espaces pouvant être alloués. Ce sera toujours au moins 8. Produit NV_UNLIMITED_SPACES si un nombre quelconque d'espaces est pris en charge (limité uniquement aux octets NVRAM disponibles).
périphérique - L'instance nvram_device . num_spaces - Reçoit la sortie. Ne peut pas être nulle.
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 contrôles associés à un espace donné.
périphérique - L'instance nvram_device . index - L'index de l'espace. max_list_size - Le nombre d'éléments dans la |control_list| tableau. 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 renseignés dans |control_list|, ou le nombre d'éléments disponibles si |control_list| est NULL.
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 index spatiaux créés. Si |max_list_size| est 0, seulement |list_size| est peuplé.
périphérique - L'instance nvram_device . max_list_size - Le nombre d'éléments dans la |space_index_list| tableau. 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 renseignés dans |space_index_list|, ou le nombre d'éléments disponibles si |space_index_list| est NULL.
nvram_result_t (* get_space_size)(const struct nvram_device *device, index uint32_t, uint64_t *size) |
Affiche la taille, en octets, d'un espace donné.
périphérique - L'instance nvram_device . index - L'index de l'espace. size - Reçoit la sortie. Ne peut pas être nulle.
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.
périphérique - L'instance nvram_device . total_size - Reçoit la sortie. Ne peut pas être nulle.
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 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.
périphérique - L'instance nvram_device . index - L'index de l'espace. write_lock_enabled - Sera défini sur une valeur différente de zéro si les opérations d'écriture iff sont actuellement désactivées. read_lock_enabled - Sera défini sur une valeur différente de zéro si les opérations de lecture iff sont actuellement désactivées.
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.
périphérique - 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 autant d’octets. Si cette valeur est supérieure à la taille de l'espace, la totalité de l'espace est lue. Si celle-ci est inférieure à la taille de l'espace, les premiers octets de l'espace sont lus. authorisation_value - Si l'espace a la stratégie 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 depuis l'espace. Doit être au moins |num_bytes_to_read| octets en taille. bytes_read - Le nombre d'octets lus. Si NV_RESULT_SUCCESS est renvoyé, celui-ci sera défini sur le plus petit des |num_bytes_to_read| ou la taille de l'espace.
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 alors les données d'entrée sont utilisées pour étendre les données actuelles.
périphérique - 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 cette valeur est supérieure à la taille de l'espace, renvoie NV_RESULT_INVALID_PARAMETER. authorisation_value - Si l'espace a 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 - Le nombre d'octets dans |authorization_value|.
La documentation de cette structure a été générée à partir du fichier suivant :
- matériel/libhardware/include/hardware/ nvram.h