Referencia de la struct nvram_device

Referencia de la struct nvram_device

#include < nvram.h >

Campos de datos

struct hw_device_t   común
 
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)
 

Descripción detallada

Definición en la línea 48 del archivo nvram.h .

Documentación de campos

struct hw_device_t común

Métodos comunes de nvram_device . Este debe ser el primer miembro de nvram_device , ya que los usuarios de esta estructura transmitirán un hw_device_t al puntero nvram_device en contextos en los que se sabe que hw_device_t hace referencia a un nvram_device .

Definición en la línea 55 del archivo 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)

Crea un espacio nuevo con el índice, el tamaño, los controles y el valor de autorización determinados.

device: Es la instancia de nvram_device . index: Es un índice para el espacio nuevo. El índice puede ser cualquier valor de 32 bits, pero no debe estar asignado a un espacio existente. size_in_bytes: Es la cantidad de bytes que se asignarán para el espacio. control_list: Es un array de controles que se aplicarán al espacio. list_size: Es la cantidad de elementos en |control_list|. authorization_value: Si |control_list| contiene NV_CONTROL_READ_AUTHORIZATION o NV_CONTROL_WRITE_AUTHORIZATION, este parámetro proporciona el valor de autorización para estas directivas (si se configuran ambos controles, este valor se aplica a ambos). De lo contrario, este valor se ignora y puede ser NULL. authorization_value_size: Es la cantidad de bytes en |authorization_value|.

Definición en la línea 187 del archivo 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)

Borra un espacio.

device: Es la instancia de nvram_device . index: Es el índice de espacio. authorization_value: Si el espacio tiene la política NV_CONTROL_WRITE_AUTHORIZATION, este parámetro proporciona el valor de autorización. De lo contrario, este valor se ignora y puede ser NULL. authorization_value_size: Es la cantidad de bytes en |authorization_value|.

Definición en la línea 207 del archivo nvram.h .

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

Inhabilita la creación de más espacios hasta el próximo restablecimiento completo del dispositivo (como en el restablecimiento de la configuración de fábrica, no en el reinicio). Las llamadas posteriores a NV_CreateSpace deberían mostrar NV_RESULT_OPERATION_DISABLED.

device: Es la instancia de nvram_device .

Definición en la línea 219 del archivo 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)

Habilita un bloqueo de lectura para el espacio determinado según su política. Si el espacio no tiene establecido NV_CONTROL_BOOT_READ_LOCK, esta función no tiene efecto y puede mostrar un error.

device: Es la instancia de nvram_device . index: Es el índice de espacio. authorization_value: Si el espacio tiene la política NV_CONTROL_READ_AUTHORIZATION, este parámetro proporciona el valor de autorización. (Ten en cuenta que no se requiere acceso de escritura para bloquear la lectura. Un bloqueo de lectura siempre es volátil). De lo contrario, este valor se ignora y puede ser NULL. authorization_value_size: Es la cantidad de bytes en |authorization_value|.

Definición en la línea 317 del archivo 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)

Habilita un bloqueo de escritura para el espacio determinado según su política. Si el espacio no tiene configurados NV_CONTROL_PERSISTENT_WRITE_LOCK o NV_CONTROL_BOOT_WRITE_LOCK, esta función no tendrá efecto y puede mostrar un error.

device: Es la instancia de nvram_device . index: Es el índice de espacio. authorization_value: Si el espacio tiene la política NV_CONTROL_WRITE_AUTHORIZATION, este parámetro proporciona el valor de autorización. De lo contrario, este valor se ignora y puede ser NULL. authorization_value_size: Es la cantidad de bytes en |authorization_value|.

Definición en la línea 294 del archivo nvram.h .

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

Muestra la cantidad de bytes no asignados disponibles en la NVRAM. Si una implementación no conoce el tamaño disponible, puede proporcionar una estimación o el tamaño total.

device: Es la instancia de nvram_device . available_size: Recibe el resultado. No puede ser NULO.

Definición en la línea 76 del archivo nvram.h .

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

Muestra la cantidad máxima de bytes que se pueden asignar para un solo espacio. Siempre será de al menos 32. Si una implementación no limita el tamaño máximo, puede proporcionar el tamaño total.

device: Es la instancia de nvram_device . max_space_size: Recibe el resultado. No puede ser NULO.

Definición en la línea 87 del archivo nvram.h .

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

Muestra la cantidad total máxima de espacios que se pueden asignar. Siempre será de al menos 8. Muestra NV_UNLIMITED_SPACES si se admite cualquier cantidad de espacios (limitado solo a los bytes de NVRAM disponibles).

device: Es la instancia de nvram_device . num_spaces: Recibe el resultado. No puede ser NULO.

Definición en la línea 99 del archivo 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)

Muestra la lista de controles asociados con un espacio determinado.

device: Es la instancia de nvram_device . index: Es el índice de espacio. max_list_size: Es la cantidad de elementos en el array |control_list|. control_list: Recibe la lista de controles hasta el |max_list_size| determinado. Puede ser NULL si |max_list_size| es 0. list_size: Recibe la cantidad de elementos propagados en |control_list| o la cantidad de elementos disponibles si |control_list| es NULL.

Definición en la línea 144 del archivo 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)

Muestra una lista de los índices de espacio creados. Si |max_list_size| es 0, solo se propaga |list_size|.

device: Es la instancia de nvram_device . max_list_size: Es la cantidad de elementos en el array |space_index_list|. space_index_list: Recibe la lista de espacios creados hasta el |max_list_size| determinado. Puede ser NULL si |max_list_size| es 0. list_size: Recibe la cantidad de elementos propagados en |space_index_list| o la cantidad de elementos disponibles si |space_index_list| es NULL.

Definición en la línea 116 del archivo nvram.h .

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

Muestra el tamaño, en bytes, de un espacio determinado.

device: Es la instancia de nvram_device . index: Es el índice de espacio. size: Recibe el resultado. No puede ser NULO.

Definición en la línea 128 del archivo nvram.h .

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

Muestra la cantidad total de bytes disponibles en la NVRAM. Siempre será de al menos 2,048. Si una implementación no conoce el tamaño total, puede proporcionar una estimación o 2048.

device: Es la instancia de nvram_device . total_size: Recibe el resultado. No puede ser NULO.

Definición en la línea 65 del archivo nvram.h .

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

Muestra si los bloqueos están habilitados para el espacio determinado. Cuando se habilita un bloqueo, se inhabilita la operación y cualquier intento de realizarla generará NV_RESULT_OPERATION_DISABLED.

device: Es la instancia de nvram_device . index: Es el índice de espacio. write_lock_enabled: Se establecerá en un valor distinto de cero si las operaciones de escritura están inhabilitadas actualmente. read_lock_enabled: Se establecerá en un valor distinto de cero si las operaciones de lectura están inhabilitadas actualmente.

Definición en la línea 161 del archivo 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)

Lee el contenido de un espacio. Si el espacio nunca se escribió, todos los bytes leídos serán 0x00.

device: Es la instancia de nvram_device . index: Es el índice de espacio. num_bytes_to_read: Es la cantidad de bytes que se deben leer. |buffer| debe ser lo suficientemente grande como para contener esta cantidad de bytes. Si es mayor que el tamaño del espacio, se lee todo el espacio. Si es menor que el tamaño del espacio, se leen los primeros bytes del espacio. authorization_value: Si el espacio tiene la política NV_CONTROL_READ_AUTHORIZATION, este parámetro proporciona el valor de autorización. De lo contrario, este valor se ignora y puede ser NULL. authorization_value_size: Es la cantidad de bytes en |authorization_value|. buffer: Recibe los datos leídos del espacio. Debe tener un tamaño de al menos |num_bytes_to_read| bytes. bytes_read: Es la cantidad de bytes leídos. Si se muestra NV_RESULT_SUCCESS, se establecerá en el valor más bajo de |num_bytes_to_read| o el tamaño del espacio.

Definición en la línea 272 del archivo 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)

Escribe el contenido de un espacio. Si el espacio está configurado con NV_CONTROL_WRITE_EXTEND, los datos de entrada se usan para extender los datos actuales.

device: Es la instancia de nvram_device . index: Es el índice de espacio. buffer: Son los datos que se escribirán. buffer_size: Es la cantidad de bytes en |buffer|. Si es menor que el tamaño del espacio, los bytes restantes se establecerán en 0x00. Si es mayor que el tamaño del espacio, se muestra NV_RESULT_INVALID_PARAMETER. authorization_value: Si el espacio tiene la política NV_CONTROL_WRITE_AUTHORIZATION, este parámetro proporciona el valor de autorización. De lo contrario, este valor se ignora y puede ser NULL. authorization_value_size: Es la cantidad de bytes en |authorization_value|.

Definición en la línea 241 del archivo nvram.h .


La documentación de esta struct se generó a partir del siguiente archivo:
  • hardware/libhardware/include/hardware/ nvram.h