Справочник по структуре 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 *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, 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_tauthorization_value_size)
nvram_result_t (* delete_space )(const struct nvram_device *device, индекс uint32_t, const uint8_t *authorization_value, uint32_tauthorization_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_tauthorization_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_tauthorization_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_tauthorization_value_size)
nvram_result_t (* Enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_tauthorization_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_tauthorization_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 index, const uint8_t *authorization_value, uint32_tauthorization_value_size)

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

устройство — экземпляр 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 index, const uint8_t *authorization_value, uint32_tauthorization_value_size)

Включает блокировку чтения для данного пространства в соответствии с его политикой. Если в пространстве не установлен 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 index, const uint8_t *authorization_value, uint32_tauthorization_value_size)

Включает блокировку записи для данного пространства в соответствии с его политикой. Если в пространстве не установлены 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 *device, uint64_t *available_size)

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

устройство — экземпляр nvram_device . доступный_размер — получает выходные данные. Не может быть НУЛЕМ.

Определение в строке 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 — получает выходные данные. Не может быть НУЛЕМ.

Определение в строке 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 — получает вывод. Не может быть НУЛЕМ.

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

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

устройство — экземпляр 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 *device, индекс uint32_t, uint64_t *size)

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

устройство — экземпляр nvram_device . index — индекс пространства. размер — Получает выходные данные. Не может быть НУЛЕМ.

Определение в строке 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 — Получает выходные данные. Не может быть НУЛЕМ.

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

nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, 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_tauthorization_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_tauthorization_value_size)

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

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

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


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