Referência de estrutura nvram_device
#include < nvram.h >
Campos de dados | |
estrutura hw_device_t | comum |
nvram_result_t (* | get_total_size_in_bytes )(const struct nvram_device *dispositivo, uint64_t *total_size) |
nvram_result_t (* | get_available_size_in_bytes )(const struct nvram_device *dispositivo, 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 *dispositivo, índice uint32_t, uint64_t *tamanho) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *dispositivo, índice uint32_t, 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, índice uint32_t, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *dispositivo, índice uint32_t, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t autorização_value_size) |
nvram_result_t (* | delete_space )(const struct nvram_device *dispositivo, índice uint32_t, const uint8_t *valor_de_autorização, uint32_t valor_de_autorização_tamanho) |
nvram_result_t (* | disable_create )(const struct nvram_device *dispositivo) |
nvram_result_t (* | write_space )(const struct nvram_device *dispositivo, índice uint32_t, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *valor_de_autorização, uint32_t tamanho_de_valor_de_autorização) |
nvram_result_t (* | read_space ) (const struct nvram_device * dispositivo, índice uint32_t, uint64_t num_bytes_to_read, const uint8_t * valor_de_autorização, uint32_t valor_de_autorização_size, uint8_t *buffer, uint64_t *bytes_read) |
nvram_result_t (* | enable_write_lock )(const struct nvram_device *dispositivo, índice uint32_t, const uint8_t *valor_de_autorização, uint32_t valor_de_autorização_tamanho) |
nvram_result_t (* | enable_read_lock )(const struct nvram_device *dispositivo, índice uint32_t, const uint8_t *valor_de_autorização, uint32_t valor_de_autorização_tamanho) |
Descrição detalhada
Documentação de campo
estrutura hw_device_t comum |
Métodos comuns do nvram_device . Este deve ser o primeiro membro de nvram_device , pois os usuários desta estrutura lançarão um ponteiro hw_device_t para nvram_device em contextos onde é conhecido que hw_device_t faz referência a um nvram_device .
nvram_result_t (* create_space)(const struct nvram_device *device, índice uint32_t, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t autorização_value_size) |
Cria um novo espaço com o índice, tamanho, controles e valor de autorização fornecidos.
dispositivo - 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 a serem aplicados no espaço. list_size - O número de itens em |control_list|. valor_de_autorização - Se |lista_de_controle| contém NV_CONTROL_READ_AUTHORIZATION e/ou NV_CONTROL_WRITE_AUTHORIZATION, então este parâmetro fornece o valor de autorização para essas políticas (se ambos os controles estiverem definidos, então este valor se aplica a ambos). Caso contrário, este valor será ignorado e poderá ser NULL. Authorization_value_size - O número de bytes em |authorization_value|.
nvram_result_t (* delete_space)(const struct nvram_device *device, índice uint32_t, const uint8_t *valor_de_autorização, uint32_t valor_de_autorização_tamanho) |
Exclui um espaço.
dispositivo - 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, então este parâmetro fornece o valor de autorização. Caso contrário, este valor será ignorado e poderá ser NULL. Authorization_value_size - O número de bytes em |authorization_value|.
nvram_result_t (*disable_create)(const struct nvram_device *dispositivo) |
Desativa qualquer criação adicional de espaços até a próxima redefinição completa do dispositivo (como na redefinição de fábrica, não na reinicialização). As chamadas subsequentes para NV_CreateSpace devem retornar NV_RESULT_OPERATION_DISABLED.
dispositivo - A instância nvram_device .
nvram_result_t (* enable_read_lock)(const struct nvram_device *dispositivo, índice uint32_t, const uint8_t *valor_de_autorização, uint32_t valor_de_autorização_tamanho) |
Ativa 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, esta função não terá efeito e poderá retornar um erro.
dispositivo - 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, então este parâmetro fornece o valor de autorização. (Observe que não há nenhum requisito 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 *dispositivo, índice uint32_t, const uint8_t *valor_de_autorização, uint32_t tamanho_de_valor_de_autorização) |
Ativa um bloqueio de gravação para um determinado espaço 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, esta função não terá efeito e poderá retornar um erro.
dispositivo - 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, então este parâmetro fornece o valor de autorização. Caso contrário, este valor será ignorado e poderá 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) |
Produz o número não alocado de bytes disponíveis na NVRAM. Se uma implementação não souber o tamanho disponível, poderá fornecer uma estimativa ou o tamanho total.
dispositivo - 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) |
Produz o número máximo de bytes que podem ser alocados para um único espaço. Será sempre pelo menos 32. Se uma implementação não limitar o tamanho máximo, ela poderá fornecer o tamanho total.
dispositivo - 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) |
Produz o número total máximo de espaços que podem ser alocados. Será sempre pelo menos 8. Produz NV_UNLIMITED_SPACES se qualquer número de espaços for suportado (limitado apenas aos bytes NVRAM disponíveis).
dispositivo - 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, índice uint32_t, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
Produz a lista de controles associados a um determinado espaço.
dispositivo - 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 |max_list_size| fornecido. Pode ser NULO 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) |
Produz uma lista de índices de espaço criados. Se |max_list_size| é 0, apenas |list_size| está povoado.
dispositivo - 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 |max_list_size| fornecido. Pode ser NULO 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 *dispositivo, índice uint32_t, uint64_t *tamanho) |
Produz o tamanho, em bytes, de um determinado espaço.
dispositivo - 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 *dispositivo, uint64_t *total_size) |
Produz o número total de bytes disponíveis na NVRAM. Será sempre pelo menos 2048. Se uma implementação não souber o tamanho total, poderá fornecer uma estimativa ou 2048.
dispositivo - 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, índice uint32_t, int *write_lock_enabled, int *read_lock_enabled) |
Mostra se os bloqueios estão habilitados para o espaço determinado. Quando um bloqueio é habilitado, a operação é desabilitada e qualquer tentativa de realizar essa operação resultará em NV_RESULT_OPERATION_DISABLED.
dispositivo - 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_tauthorization_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.
dispositivo - A instância nvram_device . index - O índice do espaço. num_bytes_to_read - O número de bytes a serem lidos; |amortecedor| 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, então este parâmetro fornece o valor de autorização. Caso contrário, este valor será ignorado e poderá 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, 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, índice uint32_t, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
Grava o conteúdo de um espaço. Se o espaço estiver configurado com NV_CONTROL_WRITE_EXTEND então os dados de entrada serão usados para estender os dados atuais.
dispositivo - 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, então este parâmetro fornece o valor de autorização. Caso contrário, este valor será ignorado e poderá ser NULL. Authorization_value_size - O número de bytes em |authorization_value|.
A documentação desta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ nvram.h