Referência de estrutura nvram_device
#include < nvram.h >
Campos de dados | |
struct hw_device_t | comum |
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) |
Descrição detalhada
Documentação de campo
struct hw_device_t comum |
Métodos comuns do nvram_device . Este deve ser o primeiro membro de nvram_device , pois os usuários dessa estrutura lançarão um ponteiro hw_device_t para nvram_device em contextos em que é conhecido que hw_device_t referencia um 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) |
Cria um novo espaço com o índice, tamanho, controles e valor de autorização fornecidos.
device - A instância nvram_device . index - Um índice para o novo espaço. O índice pode ser qualquer valor de 32 bits, mas ainda não deve estar atribuído a um espaço existente. size_in_bytes - O número de bytes a serem alocados para o espaço. control_list - Uma matriz de controles para aplicar para o espaço. list_size - O número de itens em |control_list|. valor_autorização - Se |lista_controle| contém NV_CONTROL_READ_AUTHORIZATION e/ou NV_CONTROL_WRITE_AUTHORIZATION, esse parâmetro fornece o valor de autorização para essas políticas (se ambos os controles estiverem definidos, esse valor se aplicará a ambos). Caso contrário, esse valor é ignorado e pode ser NULL. authorization_value_size - O número de bytes em |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) |
Exclui um espaço.
device - A instância nvram_device . index - O índice do espaço. authorization_value - Se o espaço tiver a política NV_CONTROL_WRITE_AUTHORIZATION, esse parâmetro fornecerá o valor de autorização. Caso contrário, esse valor é ignorado e pode ser NULL. authorization_value_size - O número de bytes em |authorization_value|.
nvram_result_t (* disable_create)(const struct nvram_device *device) |
Desativa qualquer criação adicional de espaços até a próxima reinicialização completa do dispositivo (como na reinicialização de fábrica, não na reinicialização). As chamadas subsequentes para NV_CreateSpace devem retornar NV_RESULT_OPERATION_DISABLED.
device - A instância nvram_device .
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 um bloqueio de leitura para um determinado espaço de acordo com sua política. Se o espaço não tiver NV_CONTROL_BOOT_READ_LOCK definido, essa função não terá efeito e poderá retornar um erro.
device - A instância nvram_device . index - O índice do espaço. authorization_value - Se o espaço tiver a política NV_CONTROL_READ_AUTHORIZATION, esse parâmetro fornecerá o valor de autorização. (Observe que não há necessidade de acesso de gravação para bloquear para leitura. Um bloqueio de leitura é sempre volátil.) Caso contrário, esse valor será ignorado e poderá ser NULL. authorization_value_size - O número de bytes em |authorization_value|.
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 um bloqueio de gravação para o espaço fornecido de acordo com sua política. Se o espaço não tiver NV_CONTROL_PERSISTENT_WRITE_LOCK ou NV_CONTROL_BOOT_WRITE_LOCK definido, essa função não terá efeito e poderá retornar um erro.
device - A instância nvram_device . index - O índice do espaço. authorization_value - Se o espaço tiver a política NV_CONTROL_WRITE_AUTHORIZATION, esse parâmetro fornecerá o valor de autorização. Caso contrário, esse valor é ignorado e pode ser NULL. authorization_value_size - O número de bytes em |authorization_value|.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
Gera o número não alocado de bytes disponíveis na NVRAM. Se uma implementação não conhece o tamanho disponível, pode fornecer uma estimativa ou o tamanho total.
device - A instância nvram_device . available_size - Recebe a saída. Não pode ser nulo.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
Gera o número máximo de bytes que podem ser alocados para um único espaço. Isso sempre será pelo menos 32. Se uma implementação não limitar o tamanho máximo, ela poderá fornecer o tamanho total.
device - A instância nvram_device . max_space_size - Recebe a saída. Não pode ser nulo.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Gera o número total máximo de espaços que podem ser alocados. Isso sempre será pelo menos 8. Emite NV_UNLIMITED_SPACES se qualquer número de espaços for suportado (limitado apenas aos bytes NVRAM disponíveis).
device - A instância nvram_device . num_spaces - Recebe a saída. Não pode ser nulo.
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) |
Gera a lista de controles associados a um determinado espaço.
device - A instância nvram_device . index - O índice do espaço. max_list_size - O número de itens na |control_list| variedade. control_list - Recebe a lista de controles até o dado |max_list_size|. Pode ser NULL se |max_list_size| é 0. list_size - Recebe o número de itens preenchidos em |control_list|, ou o número de itens disponíveis se |control_list| é nulo.
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) |
Gera uma lista de índices de espaço criados. Se |max_list_size| é 0, apenas |list_size| é povoado.
device - A instância nvram_device . max_list_size - O número de itens na |space_index_list| variedade. space_index_list - Recebe a lista de espaços criados até o dado |max_list_size|. Pode ser NULL se |max_list_size| é 0. list_size - Recebe o número de itens preenchidos em |space_index_list|, ou o número de itens disponíveis se |space_index_list| é nulo.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size) |
Gera o tamanho, em bytes, de um determinado espaço.
device - A instância nvram_device . index - O índice do espaço. size - Recebe a saída. Não pode ser nulo.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
Gera o número total de bytes disponíveis na NVRAM. Este será sempre pelo menos 2048. Se uma implementação não souber o tamanho total pode fornecer uma estimativa ou 2048.
device - A instância nvram_device . total_size - Recebe a saída. Não pode ser nulo.
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
Mostra se os bloqueios estão habilitados para o espaço fornecido. Quando um bloqueio é habilitado, a operação é desabilitada e qualquer tentativa de realizar essa operação resultará em NV_RESULT_OPERATION_DISABLED.
device - A instância nvram_device . index - O índice do espaço. write_lock_enabled - Será definido como diferente de zero se as operações de gravação estiverem desabilitadas no momento. read_lock_enabled - Será definido como diferente de zero se as operações de leitura estiverem desabilitadas no momento.
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) |
Lê o conteúdo de um espaço. Se o espaço nunca foi escrito, todos os bytes lidos serão 0x00.
device - A instância nvram_device . index - O índice do espaço. num_bytes_to_read - O número de bytes a serem lidos; |tampão| deve ser grande o suficiente para conter tantos bytes. Se for maior que o tamanho do espaço, todo o espaço será lido. Se for menor que o tamanho do espaço, os primeiros bytes do espaço serão lidos. authorization_value - Se o espaço tiver a política NV_CONTROL_READ_AUTHORIZATION, esse parâmetro fornecerá o valor de autorização. Caso contrário, esse valor é ignorado e pode ser NULL. authorization_value_size - O número de bytes em |authorization_value|. buffer - Recebe os dados lidos do espaço. Deve ser pelo menos |num_bytes_to_read| bytes de tamanho. bytes_read - O número de bytes lidos. Se NV_RESULT_SUCCESS for retornado, isso será definido como o menor de |num_bytes_to_read| ou o tamanho do espaço.
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) |
Grava o conteúdo de um espaço. Se o espaço estiver configurado com NV_CONTROL_WRITE_EXTEND, os dados de entrada serão usados para estender os dados atuais.
device - A instância nvram_device . index - O índice do espaço. buffer - Os dados a serem gravados. buffer_size - O número de bytes em |buffer|. Se for menor que o tamanho do espaço, os bytes restantes serão definidos como 0x00. Se for maior que o tamanho do espaço, retorna NV_RESULT_INVALID_PARAMETER. authorization_value - Se o espaço tiver a política NV_CONTROL_WRITE_AUTHORIZATION, esse parâmetro fornecerá o valor de autorização. Caso contrário, esse valor é ignorado e pode ser NULL. authorization_value_size - O número de bytes em |authorization_value|.
A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ nvram.h