O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Configurações

Este módulo inclui a abstração de plataforma para armazenamento não volátil de configurações.

Resumo

Enumerações

anonymous enum{
  OT_SETTINGS_KEY_ACTIVE_DATASET = 0x0001,
  OT_SETTINGS_KEY_PENDING_DATASET = 0x0002,
  OT_SETTINGS_KEY_NETWORK_INFO = 0x0003,
  OT_SETTINGS_KEY_PARENT_INFO = 0x0004,
  OT_SETTINGS_KEY_CHILD_INFO = 0x0005,
  OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
  OT_SETTINGS_KEY_DAD_INFO = 0x0008,
  OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
  OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
  OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
  OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f,
  OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010
}
tipo enumerado
Esta enumeração define as chaves das configurações.

Funções

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Adiciona um valor a uma configuração.
otPlatSettingsDeinit(otInstance *aInstance)
void
Faz qualquer desativação de inicialização do subsistema de configurações, se necessário.
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
Remove uma configuração do armazenamento de configurações.
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
Busca o valor de uma configuração.
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
Faz qualquer inicialização para o subsistema de configurações, se necessário.
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Define ou substitui o valor de uma configuração.
otPlatSettingsWipe(otInstance *aInstance)
void
Remove todas as configurações do armazenamento de configurações.

Enumerações

enumeração anônima

 anonymous enum

Esta enumeração define as chaves das configurações.

Observação: ao adicionar uma nova chave de configurações, se as configurações correspondentes à chave contiverem informações confidenciais de segurança, o desenvolvedor PRECISA adicionar a chave à matriz aSensitiveKeys, que é transmitida em otPlatSettingsInit().

Propriedades
OT_SETTINGS_KEY_ACTIVE_DATASET

Conjunto de dados operacional ativo.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Prefixos locais de BR no link.

OT_SETTINGS_KEY_BR_ULA_PREFIX

Prefixo para BR ULA.

OT_SETTINGS_KEY_CHILD_INFO

Informações do filho.

OT_SETTINGS_KEY_DAD_INFO

Informações de detecção de endereço (DAD, na sigla em inglês) duplicadas.

OT_SETTINGS_KEY_NETWORK_INFO

Informações da rede Thread.

OT_SETTINGS_KEY_PARENT_INFO

Informações do familiar responsável.

OT_SETTINGS_KEY_PENDING_DATASET

Conjunto de dados operacional pendente.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

Chave SLAAC para gerar um IID semanticamente opaco.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

Informações do cliente SRP (endereço do servidor SRP selecionado).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

Par de chaves públicas/privadas ECEC do cliente SRP.

OT_SETTINGS_KEY_SRP_SERVER_INFO

Informações do servidor SRP (porta UDP).

Funções

Adicione configurações de configuração

otError otPlatSettingsAdd(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

Adiciona um valor a uma configuração.

Essa função adiciona o valor a uma configuração identificada por aKey, sem substituir os valores existentes.

A implementação não é necessária para manter a ordem dos itens associados a uma chave específica. O valor adicionado pode ser incluído no fim, no início ou até mesmo em algum lugar no meio. A ordem dos valores preexistentes também pode mudar.

Chamar essa função pode fazer com que as configurações não relacionadas com vários valores sejam reordenadas.

A pilha do OpenThread garante o uso do método otPlatSettingsAdd() para um aKey que foi gerenciado anteriormente por otPlatSettingsAdd() (ou seja, contém um ou mais itens) ou está vazio e/ou totalmente excluído (não tem valor).

A camada de plataforma pode confiar e usar esse fato para otimizar a implementação dela.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.
[in] aKey
A chave associada à configuração que será alterada.
[in] aValue
Um ponteiro para ler o novo valor da configuração. NÃO PRECISA ser NULL se aValueLength for diferente de zero.
[in] aValueLength
O tamanho dos dados indicados por aValue. Pode ser zero.
Valores de retorno
OT_ERROR_NONE
A configuração especificada foi adicionada ou preparada para ser adicionada.
OT_ERROR_NOT_IMPLEMENTED
Esta função não está implementada nesta plataforma.
OT_ERROR_NO_BUFS
Não há mais espaço para armazenar a configuração especificada.

OtPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

Faz qualquer desativação de inicialização do subsistema de configurações, se necessário.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.

Exclusão de configurações

otError otPlatSettingsDelete(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex
)

Remove uma configuração do armazenamento de configurações.

Esta função exclui um valor específico da configuração identificada por aKey no armazenamento de configurações.

A implementação não é necessária para manter a ordem dos itens associados a uma chave específica.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.
[in] aKey
A chave associada à configuração solicitada.
[in] aIndex
O índice do valor a ser removido. Se definido como -1, todos os valores para aKey serão removidos.
Valores de retorno
OT_ERROR_NONE
A chave e o índice fornecidos foram encontrados e removidos.
OT_ERROR_NOT_FOUND
A chave ou o índice fornecido não foi encontrado no armazenamento de configurações.
OT_ERROR_NOT_IMPLEMENTED
Esta função não está implementada nesta plataforma.

OtPlatSettingsGet

otError otPlatSettingsGet(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex,
  uint8_t *aValue,
  uint16_t *aValueLength
)

Busca o valor de uma configuração.

Essa função busca o valor da configuração identificada por aKey e grava-a na memória apontada por aValue. Em seguida, ele grava o comprimento no número inteiro apontado por aValueLength. O valor inicial de aValueLength é o número máximo de bytes a serem gravados em aValue.

Essa função pode ser usada para verificar a existência de uma chave sem buscar o valor definindo aValue e aValueLength como NULL. Também é possível verificar a duração da configuração sem buscar ela definindo apenas aValue para NULL.

A implementação do armazenamento subjacente não é necessária para manter a ordem de configurações com vários valores. A ordem desses valores PODE mudar após QUALQUER operação de gravação no armazenamento.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.
[in] aKey
A chave associada à configuração solicitada.
[in] aIndex
O índice do item específico a ser recebido.
[out] aValue
Um ponteiro para onde o valor da configuração precisa ser gravado. Pode ser definido como NULL se for feito apenas o teste de presença ou duração de uma configuração.
[in,out] aValueLength
Um ponteiro para o comprimento do valor. Quando chamado, esse ponteiro precisa apontar para um número inteiro contendo o tamanho máximo de valor que pode ser gravado em aValue. Em contrapartida, a duração real da configuração é escrita. Este campo pode ser definido como NULL se uma verificação de presença for realizada.
Valores de retorno
OT_ERROR_NONE
A configuração especificada foi encontrada e buscada com êxito.
OT_ERROR_NOT_FOUND
A configuração especificada não foi encontrada no armazenamento de configurações.
OT_ERROR_NOT_IMPLEMENTED
Esta função não está implementada nesta plataforma.

OtPlatSettingsInit

void otPlatSettingsInit(
  otInstance *aInstance,
  const uint16_t *aSensitiveKeys,
  uint16_t aSensitiveKeysLength
)

Faz qualquer inicialização para o subsistema de configurações, se necessário.

Essa função também define as chaves confidenciais que precisam ser armazenadas na área segura.

A memória apontada por aSensitiveKeys NÃO PRECISA ser liberada antes que aInstance seja destruído.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.
[in] aSensitiveKeys
Um ponteiro para uma matriz com a lista de chaves confidenciais. Pode ser NULL somente se aSensitiveKeysLength for 0, o que significa que não há chaves confidenciais.
[in] aSensitiveKeysLength
O número de entradas na matriz aSensitiveKeys.

Conjunto de configurações otPlat

otError otPlatSettingsSet(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

Define ou substitui o valor de uma configuração.

Esta função define ou substitui o valor de uma configuração identificada por aKey.

Chamar essa função pode fazer com que as configurações não relacionadas com vários valores sejam reordenadas.

A pilha do OpenThread garante o uso do método otPlatSettingsSet() para um aKey que foi definido anteriormente usando otPlatSettingsSet() (ou seja, contém um único valor) ou está vazio e/ou totalmente excluído (não contém valor).

A camada de plataforma pode confiar e usar esse fato para otimizar a implementação dela.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.
[in] aKey
A chave associada à configuração que será alterada.
[in] aValue
Um ponteiro para ler o novo valor da configuração. NÃO PRECISA ser NULL se aValueLength for diferente de zero.
[in] aValueLength
O tamanho dos dados indicados pelo aValue. Pode ser zero.
Valores de retorno
OT_ERROR_NONE
A configuração especificada foi alterada ou preparada.
OT_ERROR_NOT_IMPLEMENTED
Esta função não está implementada nesta plataforma.
OT_ERROR_NO_BUFS
Não há mais espaço para armazenar a configuração especificada.

OtPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

Remove todas as configurações do armazenamento de configurações.

Essa função exclui todas as configurações do armazenamento de configurações, redefinindo-a para o estado inicial de fábrica.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.

Recursos

Os tópicos de referência da API OpenThread são provenientes do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.