Referencia de estructura nvram_device
#include < nvram.h >
Campos de información | |
estructura hw_device_t | común |
nvram_resultado_t (* | get_total_size_in_bytes )(const struct nvram_device *dispositivo, uint64_t *total_size) |
nvram_resultado_t (* | get_disponible_tamaño_en_bytes )(const struct nvram_device *dispositivo, uint64_t *disponible_tamaño) |
nvram_resultado_t (* | get_max_space_size_in_bytes )(const struct nvram_device *dispositivo, uint64_t *max_space_size) |
nvram_resultado_t (* | get_max_spaces )(const struct nvram_device *dispositivo, uint32_t *núm_espacios) |
nvram_resultado_t (* | get_space_list )(const struct nvram_device *dispositivo, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
nvram_resultado_t (* | get_space_size )(const struct nvram_device *dispositivo, índice uint32_t, uint64_t *tamaño) |
nvram_resultado_t (* | get_space_controls )(const struct nvram_device *dispositivo, uint32_t índice, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
nvram_resultado_t (* | is_space_locked )(const struct nvram_device *dispositivo, índice uint32_t, int *write_lock_enabled, int *read_lock_enabled) |
nvram_resultado_t (* | create_space )(const struct nvram_device *dispositivo, uint32_t índice, uint64_t tamaño_en_bytes, const nvram_control_t *control_list, uint32_t lista_tamaño, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
nvram_resultado_t (* | delete_space )(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
nvram_resultado_t (* | disabled_create )(const struct nvram_device *dispositivo) |
nvram_resultado_t (* | write_space )(const struct nvram_device *dispositivo, índice uint32_t, const uint8_t *búfer, uint64_t tamaño_búfer, const uint8_t *valor_autorización, uint32_t tamaño_valor_autorización) |
nvram_resultado_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_resultado_t (* | enable_write_lock )(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
nvram_resultado_t (* | enable_read_lock )(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
Descripción detallada
Documentación de campo
estructura 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 emitirán un puntero hw_device_t a nvram_device en contextos donde se sabe que hw_device_t hace referencia a un nvram_device .
nvram_result_t (* create_space)(const struct nvram_device *dispositivo, uint32_t índice, uint64_t tamaño_en_bytes, const nvram_control_t *control_list, uint32_t lista_tamaño, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
Crea un nuevo espacio con el índice, el tamaño, los controles y el valor de autorización dados.
dispositivo: la instancia de nvram_device . index: un índice para el nuevo espacio. El índice puede ser cualquier valor de 32 bits, pero no debe estar asignado a un espacio existente. size_in_bytes: el número de bytes que se asignarán al espacio. control_list: una matriz de controles para aplicar en el espacio. list_size: el número de elementos en |control_list|. valor_autorización - Si |lista_control| contiene NV_CONTROL_READ_AUTHORIZATION y/o NV_CONTROL_WRITE_AUTHORIZATION, este parámetro proporciona el valor de autorización para estas políticas (si se establecen ambos controles, este valor se aplica a ambos). De lo contrario, este valor se ignora y puede ser NULL. autorización_valor_tamaño: el número de bytes en |autorización_valor|.
nvram_result_t (* delete_space)(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
Elimina un espacio.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. valor_autorización: 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. autorización_valor_tamaño: el número de bytes en |autorización_valor|.
nvram_result_t (* deshabilitar_crear)(construcción nvram_device *dispositivo) |
Deshabilita cualquier creación adicional de espacios hasta el próximo restablecimiento completo del dispositivo (como en el restablecimiento de fábrica, no en el reinicio). Las llamadas posteriores a NV_CreateSpace deberían devolver NV_RESULT_OPERATION_DISABLED.
dispositivo: la instancia de nvram_device .
nvram_result_t (* enable_read_lock)(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
Habilita un bloqueo de lectura para el espacio dado de acuerdo con su política. Si el espacio no tiene configurado NV_CONTROL_BOOT_READ_LOCK, esta función no tiene efecto y puede devolver un error.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. valor_autorización: si el espacio tiene la política NV_CONTROL_READ_AUTHORIZATION, este parámetro proporciona el valor de autorización. (Tenga en cuenta que no se requiere acceso de escritura para bloquear para lectura. Un bloqueo de lectura siempre es volátil). De lo contrario, este valor se ignora y puede ser NULL. autorización_valor_tamaño: el número de bytes en |autorización_valor|.
nvram_result_t (* enable_write_lock)(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *autorización_valor, uint32_t autorización_valor_tamaño) |
Habilita un bloqueo de escritura para el espacio dado de acuerdo con su política. Si el espacio no tiene configurado NV_CONTROL_PERSISTENT_WRITE_LOCK o NV_CONTROL_BOOT_WRITE_LOCK, esta función no tiene efecto y puede devolver un error.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. valor_autorización: 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. autorización_valor_tamaño: el número de bytes en |autorización_valor|.
nvram_result_t (* obtener_tamaño_disponible_en_bytes)(estructura const nvram_device *dispositivo, uint64_t *tamaño_disponible) |
Muestra el número no asignado de bytes disponibles en NVRAM. Si una implementación no conoce el tamaño disponible, puede proporcionar una estimación o el tamaño total.
dispositivo: la instancia de nvram_device . available_size: recibe la salida. No puede ser nulo.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *dispositivo, uint64_t *max_space_size) |
Muestra el número máximo de bytes que se pueden asignar para un solo espacio. Siempre será al menos 32. Si una implementación no limita el tamaño máximo, puede proporcionar el tamaño total.
dispositivo: la instancia de nvram_device . max_space_size: recibe la salida. No puede ser nulo.
nvram_result_t (* get_max_spaces)(const struct nvram_device *dispositivo, uint32_t *núm_espacios) |
Muestra el número total máximo de espacios que se pueden asignar. Siempre será al menos 8. Da salida a NV_UNLIMITED_SPACES si se admite cualquier número de espacios (limitado solo a los bytes de NVRAM disponibles).
dispositivo: la instancia de nvram_device . num_spaces: recibe la salida. No puede ser nulo.
nvram_result_t (* get_space_controls)(const struct nvram_device *dispositivo, uint32_t índice, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
Muestra la lista de controles asociados con un espacio dado.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. max_list_size - El número de elementos en la |control_list| formación. control_list - Recibe la lista de controles hasta el |max_list_size| dado. Puede ser NULL si |max_list_size| es 0. list_size: recibe el número de elementos rellenados en |control_list|, o el número de elementos disponibles si |control_list| es nulo.
nvram_result_t (* get_space_list)(const struct nvram_device *dispositivo, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
Muestra una lista de índices de espacio creados. Si |tamaño_máximo_de_lista| es 0, solo |list_size| está poblada.
dispositivo: la instancia de nvram_device . max_list_size: el número de elementos en |space_index_list| formación. space_index_list - Recibe la lista de espacios creados hasta el |max_list_size| dado. Puede ser NULL si |max_list_size| es 0. list_size: recibe el número de elementos poblados en |space_index_list|, o el número de elementos disponibles si |space_index_list| es nulo.
nvram_result_t (* get_space_size)(estructura const nvram_device *dispositivo, índice uint32_t, uint64_t *tamaño) |
Muestra el tamaño, en bytes, de un espacio dado.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. tamaño - Recibe la salida. No puede ser nulo.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *dispositivo, uint64_t *total_size) |
Muestra el número total de bytes disponibles en NVRAM. Siempre será al menos 2048. Si una implementación no conoce el tamaño total, puede proporcionar una estimación de 2048.
dispositivo: la instancia de nvram_device . total_size: recibe la salida. No puede ser nulo.
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 dado. Cuando se habilita un bloqueo, la operación se deshabilita y cualquier intento de realizar esa operación resultará en NV_RESULT_OPERATION_DISABLED.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. write_lock_enabled: se establecerá en un valor distinto de cero si las operaciones de escritura están deshabilitadas actualmente. read_lock_enabled: se establecerá en un valor distinto de cero si las operaciones de lectura están actualmente deshabilitadas.
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 nunca se ha escrito el espacio, todos los bytes leídos serán 0x00.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. num_bytes_to_read: el número de bytes para leer; |amortiguador| debe ser lo suficientemente grande para contener tantos bytes. Si esto es más 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. valor_autorización: 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. autorización_valor_tamaño: el número de bytes en |autorización_valor|. buffer: recibe los datos leídos del espacio. Debe tener al menos |num_bytes_to_read| bytes de tamaño. bytes_read: el número de bytes leídos. Si se devuelve NV_RESULT_SUCCESS, se establecerá en el menor de |num_bytes_to_read| o el tamaño del espacio.
nvram_result_t (* espacio_escritura)(const struct nvram_device *dispositivo, uint32_t índice, const uint8_t *búfer, uint64_t tamaño_búfer, const uint8_t *valor_autorización, uint32_t tamaño_valor_autorización) |
Escribe el contenido de un espacio. Si el espacio está configurado con NV_CONTROL_WRITE_EXTEND, los datos de entrada se utilizan para ampliar los datos actuales.
dispositivo: la instancia de nvram_device . índice - El índice del espacio. buffer - Los datos a escribir. buffer_size: el número 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, devuelve NV_RESULT_INVALID_PARAMETER. valor_autorización: 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. autorización_valor_tamaño: el número de bytes en |autorización_valor|.
La documentación para esta estructura se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ nvram.h