Справочник по структуре nvram_device

Справочник по структуре nvram_device

#include < nvram.h >

Поля данных

структура hw_device_t общий
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 * устройство, 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 * устройство, индекс uint32_t, uint64_t * размер)
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, 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)

Подробное описание

Определение в строке 48 файла nvram.h .

Полевая документация

общая структура hw_device_t

Общие методы nvram_device . Это должен быть первый элемент nvram_device , так как пользователи этой структуры будут приводить hw_device_t к указателю nvram_device в контекстах, где известно, что hw_device_t ссылается на nvram_device .

Определение в строке 55 файла 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)

Создает новое пространство с заданным индексом, размером, элементами управления и значением авторизации.

устройство — экземпляр nvram_device . index - индекс для нового пространства. Индекс может быть любым 32-битным значением, но не должен быть уже назначен существующему пространству. size_in_bytes — количество байтов, выделяемых для пространства. control_list — массив элементов управления, которые необходимо применить для пространства. list_size — количество элементов в |control_list|. авторизация_значение — если |control_list| содержит NV_CONTROL_READ_AUTHORIZATION и/или NV_CONTROL_WRITE_AUTHORIZATION, то этот параметр предоставляет значение авторизации для этих политик (если установлены оба элемента управления, то это значение применяется к обоим). В противном случае это значение игнорируется и может иметь значение NULL. authorization_value_size — количество байтов в |authorization_value|.

Определение в строке 187 файла nvram.h .

nvram_result_t (* delete_space) (const struct nvram_device *device, индекс uint32_t, const uint8_t *authorization_value, uint32_t авторизация_значение_размер)

Удаляет пробел.

устройство — экземпляр nvram_device . index - индекс пространства. авторизация_значение — если пространство имеет политику NV_CONTROL_WRITE_AUTHORIZATION, то этот параметр предоставляет значение авторизации. В противном случае это значение игнорируется и может иметь значение NULL. authorization_value_size — количество байтов в |authorization_value|.

Определение в строке 207 файла nvram.h .

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

Отключает любое дальнейшее создание пробелов до следующего полного сброса устройства (как при сбросе к заводским настройкам, а не при перезагрузке). Последующие вызовы NV_CreateSpace должны возвращать NV_RESULT_OPERATION_DISABLED.

устройство — экземпляр nvram_device .

Определение в строке 219 файла nvram.h .

nvram_result_t (* enable_read_lock) (const struct nvram_device *device, индекс uint32_t, const uint8_t *authorization_value, uint32_t авторизация_значение_размер)

Включает блокировку чтения для данного пространства в соответствии с его политикой. Если в пространстве не установлен NV_CONTROL_BOOT_READ_LOCK, эта функция не действует и может возвращать ошибку.

устройство — экземпляр nvram_device . index - индекс пространства. авторизация_значение — если пространство имеет политику NV_CONTROL_READ_AUTHORIZATION, то этот параметр предоставляет значение авторизации. (Обратите внимание, что для блокировки чтения не требуется доступ для записи. Блокировка чтения всегда нестабильна.) В противном случае это значение игнорируется и может быть NULL. authorization_value_size — количество байтов в |authorization_value|.

Определение в строке 317 файла nvram.h .

nvram_result_t (* enable_write_lock) (const struct nvram_device *device, индекс uint32_t, const uint8_t *authorization_value, uint32_t авторизация_значение_размер)

Включает блокировку записи для данного пространства в соответствии с его политикой. Если в пространстве не установлены NV_CONTROL_PERSISTENT_WRITE_LOCK или NV_CONTROL_BOOT_WRITE_LOCK, эта функция не действует и может возвращать ошибку.

устройство — экземпляр nvram_device . index - индекс пространства. авторизация_значение — если пространство имеет политику NV_CONTROL_WRITE_AUTHORIZATION, то этот параметр предоставляет значение авторизации. В противном случае это значение игнорируется и может иметь значение NULL. authorization_value_size — количество байтов в |authorization_value|.

Определение в строке 294 файла nvram.h .

nvram_result_t (* get_available_size_in_bytes) (const struct nvram_device * устройство, uint64_t * available_size)

Выводит нераспределенное количество байтов, доступных в NVRAM. Если реализация не знает доступный размер, она может предоставить оценку или общий размер.

устройство — экземпляр nvram_device . available_size — получает вывод. Не может быть NULL.

Определение в строке 76 файла nvram.h .

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

Выводит максимальное количество байтов, которое может быть выделено для одного пробела. Это всегда будет не менее 32. Если реализация не ограничивает максимальный размер, она может указать общий размер.

устройство — экземпляр nvram_device . max_space_size — получает вывод. Не может быть NULL.

Определение в строке 87 файла nvram.h .

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

Выводит максимальное общее количество пробелов, которые могут быть выделены. Всегда будет не менее 8. Выводит NV_UNLIMITED_SPACES, если поддерживается любое количество пробелов (ограничено только доступными байтами NVRAM).

устройство — экземпляр nvram_device . num_spaces — получает вывод. Не может быть NULL.

Определение в строке 99 файла nvram.h .

nvram_result_t (* get_space_controls) (const struct nvram_device *device, индекс uint32_t, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size)

Выводит список элементов управления, связанных с заданным пространством.

устройство — экземпляр nvram_device . index - индекс пространства. max_list_size — количество элементов в |control_list| множество. control_list — получает список элементов управления до заданного |max_list_size|. Может быть NULL, если |max_list_size| равно 0. list_size — получает количество элементов, заполненных в |control_list|, или количество доступных элементов, если |control_list| нулевой.

Определение в строке 144 файла 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)

Выводит список созданных пространственных индексов. Если |max_list_size| равен 0, только |list_size| населен.

устройство — экземпляр nvram_device . max_list_size — количество элементов в |space_index_list| множество. space_index_list - Получает список созданных пространств до заданного |max_list_size|. Может быть NULL, если |max_list_size| равно 0. list_size — получает количество элементов, заполненных в |space_index_list|, или количество доступных элементов, если |space_index_list| нулевой.

Определение в строке 116 файла nvram.h .

nvram_result_t (* get_space_size) (const struct nvram_device * устройство, индекс uint32_t, uint64_t * размер)

Выводит размер заданного пространства в байтах.

устройство — экземпляр nvram_device . index - индекс пространства. размер - получает вывод. Не может быть NULL.

Определение в строке 128 файла nvram.h .

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

Выводит общее количество байтов, доступных в NVRAM. Это всегда будет не менее 2048. Если реализация не знает общий размер, она может предоставить оценку или 2048.

устройство — экземпляр nvram_device . total_size — получает вывод. Не может быть NULL.

Определение в строке 65 файла nvram.h .

nvram_result_t (* is_space_locked) (const struct nvram_device *device, индекс uint32_t, int *write_lock_enabled, int *read_lock_enabled)

Выводит, включены ли блокировки для данного пространства. Когда блокировка включена, операция отключена, и любая попытка выполнить эту операцию приведет к NV_RESULT_OPERATION_DISABLED.

устройство — экземпляр nvram_device . index - индекс пространства. write_lock_enabled — будет установлено ненулевое значение, если операции записи в данный момент отключены. read_lock_enabled — будет установлено ненулевое значение, если операции чтения в настоящее время отключены.

Определение в строке 161 файла 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)

Читает содержимое пробела. Если пространство никогда не записывалось, все прочитанные байты будут 0x00.

устройство — экземпляр nvram_device . index - индекс пространства. num_bytes_to_read — количество байтов для чтения; |буфер| должен быть достаточно большим, чтобы вместить это количество байтов. Если это больше, чем размер пробела, читается весь пробел. Если это меньше размера пространства, считываются первые байты в пространстве. авторизация_значение — если пространство имеет политику NV_CONTROL_READ_AUTHORIZATION, то этот параметр предоставляет значение авторизации. В противном случае это значение игнорируется и может иметь значение NULL. authorization_value_size — количество байтов в |authorization_value|. буфер - Получает данные, считанные из пространства. Должно быть не менее |num_bytes_to_read| байтов по размеру. bytes_read — количество прочитанных байтов. Если возвращается NV_RESULT_SUCCESS, будет установлено меньшее из |num_bytes_to_read| или размер помещения.

Определение в строке 272 файла 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)

Записывает содержимое пробела. Если пространство настроено с помощью NV_CONTROL_WRITE_EXTEND, то входные данные используются для расширения текущих данных.

устройство — экземпляр nvram_device . index - индекс пространства. буфер - данные для записи. buffer_size — количество байтов в |буфере|. Если это меньше размера пространства, оставшиеся байты будут установлены на 0x00. Если это больше, чем размер пространства, возвращает NV_RESULT_INVALID_PARAMETER. авторизация_значение — если пространство имеет политику NV_CONTROL_WRITE_AUTHORIZATION, то этот параметр предоставляет значение авторизации. В противном случае это значение игнорируется и может иметь значение NULL. authorization_value_size — количество байтов в |authorization_value|.

Определение в строке 241 файла nvram.h .


Документация для этой структуры была сгенерирована из следующего файла:
  • оборудование/libhardware/include/оборудование/ nvram.h