Referência de estrutura nvram_device

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

Definição na linha 48 do arquivo nvram.h .

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 .

Definição na linha 55 do arquivo 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)

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|.

Definição na linha 187 do arquivo 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)

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|.

Definição na linha 207 do arquivo nvram.h .

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 .

Definição na linha 219 do arquivo 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 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|.

Definição na linha 317 do arquivo 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 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|.

Definição na linha 294 do arquivo nvram.h .

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.

Definição na linha 76 do arquivo nvram.h .

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.

Definição na linha 87 do arquivo nvram.h .

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.

Definição na linha 99 do arquivo 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)

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.

Definição na linha 144 do arquivo 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)

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.

Definição na linha 116 do arquivo nvram.h .

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.

Definição na linha 128 do arquivo nvram.h .

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.

Definição na linha 65 do arquivo nvram.h .

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.

Definição na linha 161 do arquivo 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)

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.

Definição na linha 272 do arquivo 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)

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|.

Definição na linha 241 do arquivo nvram.h .


A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
  • hardware/libhardware/include/hardware/ nvram.h