Roteador/Líder

Esse módulo inclui funções para roteadores e líderes do Thread.

Resumo

Enumerações

otCacheEntryState enum
Define o estado de entrada do cache EID.
otNeighborTableEvent{
  OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
}
enum
Define as constantes usadas em otNeighborTableCallback para indicar mudanças na tabela vizinha.
otPowerSupply{
  OT_POWER_SUPPLY_BATTERY = 0,
  OT_POWER_SUPPLY_EXTERNAL = 1,
  OT_POWER_SUPPLY_EXTERNAL_STABLE = 2,
  OT_POWER_SUPPLY_EXTERNAL_UNSTABLE = 3
}
enum
Representa a propriedade da fonte de alimentação em um dispositivo.

Typedefs

otCacheEntryInfo typedef
Representa uma entrada de cache EID.
otCacheEntryIterator typedef
Representa um iterador usado para iterar as entradas da tabela de cache EID.
otCacheEntryState typedef
Define o estado de entrada do cache EID.
otChildIp6AddressIterator typedef
uint16_t
Usado para iterar endereços IPv6 de uma entrada Thread Child.
otDeviceProperties typedef
Representa as propriedades do dispositivo usadas para calcular o peso do líder local em um dispositivo.
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo) typedef
void(*
O ponteiro é chamado para notificar que há uma alteração na tabela vizinha.

remotas

otThreadBecomeLeader(otInstance *aInstance)
Torne-se um líder e crie uma nova partição.
otThreadBecomeRouter(otInstance *aInstance)
Tente se tornar um roteador.
otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance)
uint32_t
Recebe o valor máximo do intervalo atual usado pelo timer de truques do anúncio.
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
Recebe informações de diagnóstico de um filho anexado pelo ID do filho ou RLOC16.
otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
A função retém as informações de diagnóstico de um filho anexado pelo índice da tabela interna.
otThreadGetChildNextIp6Address(otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
Recebe o próximo endereço IPv6 (usando um iterador) para um determinado filho.
otThreadGetChildRouterLinks(otInstance *aInstance)
uint8_t
Consiga o parâmetro MLE_CHILD_ROUTER_LINKS usado no papel REED.
otThreadGetContextIdReuseDelay(otInstance *aInstance)
uint32_t
Consiga o parâmetro CONTEXT_ID_REUSE_ obrigatório usado na função de líder.
otThreadGetDeviceProperties(otInstance *aInstance)
Extrai as propriedades atuais do dispositivo.
otThreadGetJoinerUdpPort(otInstance *aInstance)
uint16_t
Recebe a porta UDP do Joiner.
otThreadGetLocalLeaderWeight(otInstance *aInstance)
uint8_t
Recebe o peso do líder da linha de execução usado ao operar na função de líder.
otThreadGetMaxAllowedChildren(otInstance *aInstance)
uint16_t
Extrai o número máximo permitido de crianças no momento.
otThreadGetMaxChildIpAddresses(otInstance *aInstance)
uint8_t
Recebe o número máximo de endereços IP que cada filho do MTD pode registrar com este dispositivo como pai.
otThreadGetMaxRouterId(otInstance *aInstance)
uint8_t
A função retorna o ID de roteador máximo permitido.
otThreadGetNetworkIdTimeout(otInstance *aInstance)
uint8_t
Consiga o parâmetro NETWORK_ID_TIMEOUT.
otThreadGetNextCacheEntry(otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator)
Recebe a próxima entrada de cache EID (usando um iterador).
otThreadGetNextHopAndPathCost(otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost)
void
Recebe o próximo salto e o custo do caminho para um determinado destino RLOC16.
otThreadGetParentPriority(otInstance *aInstance)
int8_t
Recebe a prioridade mãe atribuída.
otThreadGetPreferredLeaderPartitionId(otInstance *aInstance)
uint32_t
Recebe o ID de partição líder de linha de execução preferido usado ao operar no papel de líder.
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
Acessa o PSKc do Thread.
otThreadGetPskcRef(otInstance *aInstance)
Recebe a referência da chave para o PSKc da linha de execução armazenada.
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
uint8_t
Consiga o parâmetro ROUTER_DOWNGRADE_LIMIT usado no papel Roteador.
otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
Recebe o intervalo de IDs de roteador que podem ser atribuídos a nós na rede Thread.
otThreadGetRouterIdSequence(otInstance *aInstance)
uint8_t
Mostra a sequência atual do ID do roteador.
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
A função retém as informações de diagnóstico de um determinado roteador do Thread.
otThreadGetRouterSelectionJitter(otInstance *aInstance)
uint8_t
Consiga o parâmetro ROUTER_SELECTION_JITTER usado no papel REED/Roteador.
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
uint8_t
Receba o parâmetro ROUTER_UPGRADE_threshold usado no papel REED.
otThreadIsRouterEligible(otInstance *aInstance)
bool
Indica se o dispositivo é ou não qualificado para roteador.
otThreadIsRouterIdAllocated(otInstance *aInstance, uint8_t aRouterId)
bool
Indica se um ID de roteador está alocado ou não no momento.
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
void
Registra uma função de callback da tabela vizinha.
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
Libere um ID de roteador alocado pelo dispositivo na função de líder.
otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled)
void
Define se o dispositivo foi comissionado usando a CCM.
otThreadSetChildRouterLinks(otInstance *aInstance, uint8_t aChildRouterLinks)
Defina o parâmetro MLE_CHILD_ROUTER_LINKS usado no papel REED.
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
void
Defina o parâmetro CONTEXT_ID_REUSE_ chamado de líder.
otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
void
Defina as propriedades do dispositivo que serão usadas para determinar e definir a ponderação do líder.
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
Define a porta UDP do Joiner.
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
void
Define o peso do líder da linha de execução usado ao operar na função de líder.
otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren)
Define o número máximo de filhos permitidos no momento.
otThreadSetMaxChildIpAddresses(otInstance *aInstance, uint8_t aMaxIpAddresses)
Define ou restaura o número máximo de endereços IP que cada filho do MTD pode registrar com esse dispositivo como pai.
otThreadSetNetworkIdTimeout(otInstance *aInstance, uint8_t aTimeout)
void
Defina o parâmetro NETWORK_ID_TIMEOUT.
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
Defina a prioridade mãe.
otThreadSetPreferredLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
void
Define o ID de partição líder de linha de execução preferido usado ao operar no papel de líder.
otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId)
Defina o ID do roteador preferido.
otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc)
Define o PSKc da linha de execução.
otThreadSetPskcRef(otInstance *aInstance, otPskcRef aKeyRef)
Defina a referência da chave como o PSKc da linha de execução.
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Defina o parâmetro ROUTER_DOWNGRADE_REASON usado na função de líder.
otThreadSetRouterEligible(otInstance *aInstance, bool aEligible)
Define se o dispositivo é ou não qualificado para roteador.
otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId)
Define o intervalo de IDs de roteador que podem ser atribuídos a nós dentro da rede de linhas de execução.
otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitter)
void
Defina o parâmetro ROUTER_SELECTION_JITTER usado no papel REED/Roteador.
otThreadSetRouterUpgradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Defina o parâmetro ROUTER_UPGRADE_THRESHOLD usado no papel de líder.
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
void
Defina os dados de direcionamento fora da banda.
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
void
Define se o limite de versão do TLV da política de segurança para roteamento (campo RV) está ativado.

Estruturas

otCacheEntryInfo

Representa uma entrada de cache EID.

otCacheEntryIterator

Representa um iterador usado para iterar as entradas da tabela de cache EID.

otChildInfo

Mantém as informações de diagnóstico de um Thread Child.

otDeviceProperties

Representa as propriedades do dispositivo usadas para calcular o peso do líder local em um dispositivo.

otNeighborTableEntryInfo

Representa as informações de entrada de uma tabela vizinha (filho ou roteador) e é usada como parâmetro no callback da tabela vizinha otNeighborTableCallback.

Enumerações

otCacheEntryState

 otCacheEntryState

Define o estado de entrada do cache EID.

otNeighborTableEvent

 otNeighborTableEvent

Define as constantes usadas em otNeighborTableCallback para indicar mudanças na tabela vizinha.

Propriedades
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED

Uma criança está sendo adicionada.

OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED

O modo de uma criança já existente foi alterado.

OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED

Uma criança está sendo removida.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED

Um roteador está sendo adicionado.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED

Um roteador está sendo removido.

otPowerSupply

 otPowerSupply

Representa a propriedade da fonte de alimentação em um dispositivo.

Ela é usada como uma propriedade no otDeviceProperties para calcular o peso do líder.

Propriedades
OT_POWER_SUPPLY_BATTERY

Ligado a bateria.

OT_POWER_SUPPLY_EXTERNAL

Com alimentação externa.

OT_POWER_SUPPLY_EXTERNAL_STABLE

Fonte de alimentação externa estável com uma bateria reserva ou UPS.

OT_POWER_SUPPLY_EXTERNAL_UNSTABLE

Extensão potencialmente instável (por exemplo, lâmpada alimentada por um interruptor).

Typedefs

otCacheEntryInfo

struct otCacheEntryInfo otCacheEntryInfo

Representa uma entrada de cache EID.

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

Representa um iterador usado para iterar as entradas da tabela de cache EID.

Para inicializar o iterador e começar da primeira entrada na tabela de cache, defina todos os campos na estrutura como zero (por exemplo, memset o iterador para zero).

otCacheEntryState

enum otCacheEntryState otCacheEntryState

Define o estado de entrada do cache EID.

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

Usado para iterar endereços IPv6 de uma entrada Thread Child.

otDeviceProperties

struct otDeviceProperties otDeviceProperties

Representa as propriedades do dispositivo usadas para calcular o peso do líder local em um dispositivo.

Os parâmetros são definidos com base na capacidade do dispositivo, seja atuando como roteador de borda, configuração da fonte de alimentação etc.

mIsUnstable indica a estabilidade operacional do dispositivo e é determinado por um mecanismo específico do fornecedor. Ela pode incluir os seguintes casos:

  • O dispositivo detecta internamente que perde a fonte de alimentação externa com mais frequência do que o normal. O que é normal é determinado pelo fornecedor.
  • O dispositivo detecta internamente que é reinicializado com mais frequência que o normal. O que é normal é determinado pelo fornecedor.

otNeighborTableCallback

void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)

O ponteiro é chamado para notificar que há uma alteração na tabela vizinha.

Detalhes
Parâmetros
[in] aEvent
Uma flag de evento.
[in] aEntryInfo
Um ponteiro para informações de entrada na tabela.

remotas

otThreadBecomeLeader

otError otThreadBecomeLeader(
  otInstance *aInstance
)

Torne-se um líder e crie uma nova partição.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
Tornou-se líder e iniciou uma nova partição.
OT_ERROR_INVALID_STATE
A linha de execução está desativada.

otThreadBecomeRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

Tente se tornar um roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
Tentativa de se tornar um roteador que foi iniciada.
OT_ERROR_INVALID_STATE
A linha de execução está desativada.

otThreadGetAdvertisementTrickleIntervalMax

uint32_t otThreadGetAdvertisementTrickleIntervalMax(
  otInstance *aInstance
)

Recebe o valor máximo do intervalo atual usado pelo timer de truques do anúncio.

Essa API requer OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE e se destina apenas a testes.

Detalhes
Retorna
O intervalo máximo do timer do gesto de publicidade em milissegundos.

otThreadGetChildInfoById

otError otThreadGetChildInfoById(
  otInstance *aInstance,
  uint16_t aChildId,
  otChildInfo *aChildInfo
)

Recebe informações de diagnóstico de um filho anexado pelo ID do filho ou RLOC16.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChildId
O ID do filho ou RLOC16 do filho anexado.
[out] aChildInfo
Um ponteiro para o local onde as informações do filho são colocadas.
Valores de retorno
OT_ERROR_NONE
aChildInfo foi atualizado com as informações do ID fornecido.
OT_ERROR_NOT_FOUND
Não há filho válido com este ID filho.
OT_ERROR_INVALID_ARGS
Se aChildInfo for NULL.

otThreadGetChildInfoByIndex

otError otThreadGetChildInfoByIndex(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildInfo *aChildInfo
)

A função retém as informações de diagnóstico de um filho anexado pelo índice da tabela interna.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChildIndex
O índice da tabela.
[out] aChildInfo
Um ponteiro para o local onde as informações do filho são colocadas.
Valores de retorno
OT_ERROR_NONE
aChildInfo foi atualizado com as informações do índice especificado.
OT_ERROR_NOT_FOUND
Não há filhos válidos neste índice.
OT_ERROR_INVALID_ARGS
aChildInfo é NULL ou aChildIndex está fora do intervalo (maior que o índice máximo da tabela).
Consulte também:
otGetMaxAllowedChildren

otThreadGetChildNextIp6Address

otError otThreadGetChildNextIp6Address(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildIp6AddressIterator *aIterator,
  otIp6Address *aAddress
)

Recebe o próximo endereço IPv6 (usando um iterador) para um determinado filho.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChildIndex
O índice filho.
[in,out] aIterator
Um ponteiro para o iterador. Se for bem-sucedido, o iterador será atualizado para apontar para a próxima entrada na lista. Para conseguir o primeiro endereço IPv6, o iterador precisa ser definido como OT_CHILD_IP6_ADDRESS_ITERATOR_INIT.
[out] aAddress
Um ponteiro para um endereço IPv6 em que o próximo endereço do filho é colocado (em caso de êxito).
Valores de retorno
OT_ERROR_NONE
O próximo endereço IPv6 foi encontrado (aAddress foi atualizado).
OT_ERROR_NOT_FOUND
O filho não tem uma entrada de endereço IPv6 subsequente.
OT_ERROR_INVALID_ARGS
aIterator ou aAddress são NULL ou o filho em aChildIndex não é válido.
Consulte também:
otThreadGetChildInfoByIndex

uint8_t otThreadGetChildRouterLinks(
  otInstance *aInstance
)

Consiga o parâmetro MLE_CHILD_ROUTER_LINKS usado no papel REED.

Este parâmetro especifica o número máximo de roteadores vizinhos com os quais o dispositivo (como um FED) tentará estabelecer o link.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor de MLE_CHILD_ROUTER_LINKS.
Consulte também:
otThreadSetChildRouterLinks

otThreadGetContextIdReuseDelay

uint32_t otThreadGetContextIdReuseDelay(
  otInstance *aInstance
)

Consiga o parâmetro CONTEXT_ID_REUSE_ obrigatório usado na função de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor CONTEXT_ID_REUSE_ chamado.
Consulte também:
otThreadSetContextIdReuseDelay

otThreadGetDeviceProperties

const otDeviceProperties * otThreadGetDeviceProperties(
  otInstance *aInstance
)

Extrai as propriedades atuais do dispositivo.

Exige OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE.

Detalhes
Retorna
As propriedades do dispositivo otDeviceProperties.

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

Recebe a porta UDP do Joiner.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O número da porta UDP do participante.
Consulte também:
otThreadSetJoinerUdpPort

otThreadGetLocalLeaderWeight

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

Recebe o peso do líder da linha de execução usado ao operar na função de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor do peso do líder da linha de execução.
Confira também:
otThreadSetLeaderWeight
otThreadSetDeviceProperties

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

Extrai o número máximo permitido de crianças no momento.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O número máximo de filhos permitido no momento.
Consulte também:
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddresses

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

Recebe o número máximo de endereços IP que cada filho do MTD pode registrar com este dispositivo como pai.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O número máximo de endereços IP que cada filho do MTD pode registrar com este dispositivo como pai.
Consulte também:
otThreadSetMaxChildIpAddresses

otThreadGetMaxRouterId

uint8_t otThreadGetMaxRouterId(
  otInstance *aInstance
)

A função retorna o ID de roteador máximo permitido.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O ID de roteador máximo permitido.

otThreadGetNetworkIdTimeout

uint8_t otThreadGetNetworkIdTimeout(
  otInstance *aInstance
)

Consiga o parâmetro NETWORK_ID_TIMEOUT.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor NETWORK_ID_TIMEOUT.
Consulte também:
otThreadSetNetworkIdTimeout

otThreadGetNextCacheEntry

otError otThreadGetNextCacheEntry(
  otInstance *aInstance,
  otCacheEntryInfo *aEntryInfo,
  otCacheEntryIterator *aIterator
)

Recebe a próxima entrada de cache EID (usando um iterador).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aEntryInfo
Um ponteiro para onde as informações de entrada do cache EID são colocadas.
[in,out] aIterator
Um ponteiro para um iterador. Ele será atualizado para apontar para a próxima entrada em caso de êxito. Para conseguir a primeira entrada, inicialize o iterador definindo todos os campos dele como zero (por exemplo, memset a estrutura do iterador para zero).
Valores de retorno
OT_ERROR_NONE
aEntryInfo preenchido para a próxima entrada de cache EID.
OT_ERROR_NOT_FOUND
Não há mais entradas na tabela de cache de endereços.

otThreadGetNextHopAndPathCost

void otThreadGetNextHopAndPathCost(
  otInstance *aInstance,
  uint16_t aDestRloc16,
  uint16_t *aNextHopRloc16,
  uint8_t *aPathCost
)

Recebe o próximo salto e o custo do caminho para um determinado destino RLOC16.

Pode ser usado com aNextHopRloc16 ou aPathCost sendo NULL, indicando que o autor da chamada não quer receber o valor.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aDestRloc16
O RLOC16 de destino.
[out] aNextHopRloc16
Um ponteiro para retornar RLOC16 do próximo salto, 0xfffe se não houver próximo salto.
[out] aPathCost
Um ponteiro para retornar o custo do caminho em direção ao destino.

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

Recebe a prioridade mãe atribuída.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor de prioridade pai atribuído, -2, significa que não foi atribuído.
Consulte também:
otThreadSetParentPriority

otThreadGetPreferredLeaderPartitionId

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

Recebe o ID de partição líder de linha de execução preferido usado ao operar no papel de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor do ID de partição do líder da linha de execução.

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

Acessa o PSKc do Thread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aPskc
Um ponteiro para um otPskc para retornar a PSKc da linha de execução recuperada.
Consulte também:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

Recebe a referência da chave para o PSKc da linha de execução armazenada.

É necessário que o recurso de tempo de build OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE esteja ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Referência da chave ao PSKc
Consulte também:
otThreadSetPskcRef

otThreadGetRouterDowngradeThreshold

uint8_t otThreadGetRouterDowngradeThreshold(
  otInstance *aInstance
)

Consiga o parâmetro ROUTER_DOWNGRADE_LIMIT usado no papel Roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor de ROUTER_DOWNGRADE_Threshold.
Consulte também:
otThreadSetRouterDowngradeThreshold

otThreadGetRouterIdRange

void otThreadGetRouterIdRange(
  otInstance *aInstance,
  uint8_t *aMinRouterId,
  uint8_t *aMaxRouterId
)

Recebe o intervalo de IDs de roteador que podem ser atribuídos a nós na rede Thread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aMinRouterId
O ID mínimo do roteador.
[out] aMaxRouterId
O ID máximo do roteador.
Consulte também:
otThreadSetRouterIdRange

otThreadGetRouterIdSequence

uint8_t otThreadGetRouterIdSequence(
  otInstance *aInstance
)

Mostra a sequência atual do ID do roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
A sequência do ID do roteador.

otThreadGetRouterInfo

otError otThreadGetRouterInfo(
  otInstance *aInstance,
  uint16_t aRouterId,
  otRouterInfo *aRouterInfo
)

A função retém as informações de diagnóstico de um determinado roteador do Thread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aRouterId
O ID do roteador, ou RLOC16, de um determinado roteador.
[out] aRouterInfo
Um ponteiro para onde as informações do roteador estão colocadas.
Valores de retorno
OT_ERROR_NONE
As informações do roteador para o ID fornecido foram recuperadas.
OT_ERROR_NOT_FOUND
Não há nenhuma entrada de roteador com o ID fornecido.
OT_ERROR_INVALID_ARGS
aRouterInfo é NULL.

otThreadGetRouterSelectionJitter

uint8_t otThreadGetRouterSelectionJitter(
  otInstance *aInstance
)

Consiga o parâmetro ROUTER_SELECTION_JITTER usado no papel REED/Roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor de ROUTER_SELECTION_JITTER.
Consulte também:
otThreadSetRouterSelectionJitter

otThreadGetRouterUpgradeThreshold

uint8_t otThreadGetRouterUpgradeThreshold(
  otInstance *aInstance
)

Receba o parâmetro ROUTER_UPGRADE_threshold usado no papel REED.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O valor de ROUTER_UPGRADE_Threshold.
Consulte também:
otThreadSetRouterUpgradeThreshold

otThreadIsRouterEligible

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

Indica se o dispositivo é ou não qualificado para roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
TRUE
Se o dispositivo é qualificado para roteador.
FALSE
Se o dispositivo não for qualificado para roteador.

otThreadIsRouterIdAllocated

bool otThreadIsRouterIdAllocated(
  otInstance *aInstance,
  uint8_t aRouterId
)

Indica se um ID de roteador está alocado ou não no momento.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aRouterId
O ID do roteador a ser verificado.
Valores de retorno
TRUE
O aRouterId está alocado.
FALSE
O aRouterId não está alocado.

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

Registra uma função de callback da tabela vizinha.

O callback fornecido (se non-NULL) será invocado quando houver uma alteração na tabela vizinha (por exemplo, uma entrada vizinha filha ou um roteador vizinha estiver sendo adicionada/removida ou o modo de um filho existente for alterado).

As chamadas seguintes para esse método substituirão o retorno de chamada anterior. Esse callback é invocado enquanto a tabela vizinha/filha está sendo atualizada e sempre antes do otStateChangedCallback.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aCallback
Um ponteiro para a função gerenciadora de callback.

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Libere um ID de roteador alocado pelo dispositivo na função de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aRouterId
O ID do roteador a ser liberado. O intervalo válido é [0, 62].
Valores de retorno
OT_ERROR_NONE
O ID do roteador foi liberado.
OT_ERROR_INVALID_ARGS
aRouterId não está no intervalo [0, 62].
OT_ERROR_INVALID_STATE
O dispositivo não está operando como líder no momento.
OT_ERROR_NOT_FOUND
O ID do roteador não está alocado no momento.

otThreadSetCcmEnabled

void otThreadSetCcmEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Define se o dispositivo foi comissionado usando a CCM.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnabled
TRUE se o dispositivo foi comissionado usando CCM; FALSE caso contrário.
otError otThreadSetChildRouterLinks(
  otInstance *aInstance,
  uint8_t aChildRouterLinks
)

Defina o parâmetro MLE_CHILD_ROUTER_LINKS usado no papel REED.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChildRouterLinks
O valor de MLE_CHILD_ROUTER_LINKS.
Valores de retorno
OT_ERROR_NONE
O valor foi definido.
OT_ERROR_INVALID_STATE
Os protocolos de Thread estão ativados.
Consulte também:
otThreadGetChildRouterLinks

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

Defina o parâmetro CONTEXT_ID_REUSE_ chamado de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aDelay
O valor CONTEXT_ID_REUSE_ chamado.
Consulte também:
otThreadGetContextIdReuseDelay

otThreadSetDeviceProperties

void otThreadSetDeviceProperties(
  otInstance *aInstance,
  const otDeviceProperties *aDeviceProperties
)

Defina as propriedades do dispositivo que serão usadas para determinar e definir a ponderação do líder.

Exige OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aDeviceProperties
As propriedades do dispositivo.

otThreadSetJoinerUdpPort

otError otThreadSetJoinerUdpPort(
  otInstance *aInstance,
  uint16_t aJoinerUdpPort
)

Define a porta UDP do Joiner.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aJoinerUdpPort
O número da porta UDP do participante.
Valores de retorno
OT_ERROR_NONE
A porta UDP do Joiner foi definida.
Consulte também:
otThreadGetJoinerUdpPort

otThreadSetLocalLeaderWeight

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

Define o peso do líder da linha de execução usado ao operar na função de líder.

Define diretamente a ponderação do líder como o novo valor, substituindo o valor anterior (que pode ter sido determinado a partir do otDeviceProperties atual).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aWeight
O valor do peso do líder da linha de execução.
Consulte também:
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

Define o número máximo de filhos permitidos no momento.

Esse parâmetro só poderá ser definido quando a operação do protocolo Thread tiver sido interrompida.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMaxChildren
O número máximo de filhos permitidos.
Valores de retorno
OT_ERROR_NONE
O valor máximo de CPC foi definido.
OT_ERROR_INVALID_ARGS
Se aMaxChildren não estiver no intervalo [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN].
OT_ERROR_INVALID_STATE
Se o Thread não estiver interrompido,
Consulte também:
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

Define ou restaura o número máximo de endereços IP que cada filho do MTD pode registrar com esse dispositivo como pai.

Transmita 0 para limpar a configuração e restaurar o padrão.

Disponível quando o OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE estiver ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMaxIpAddresses
O número máximo de endereços IP que cada filho do MTD pode registrar com este dispositivo como pai. 0 para limpar a configuração e restaurar o padrão.
Valores de retorno
OT_ERROR_NONE
O número foi definido/apagado.
OT_ERROR_INVALID_ARGS
Se exceder o número máximo permitido.
Consulte também:
otThreadGetMaxChildIpAddresses

otThreadSetNetworkIdTimeout

void otThreadSetNetworkIdTimeout(
  otInstance *aInstance,
  uint8_t aTimeout
)

Defina o parâmetro NETWORK_ID_TIMEOUT.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aTimeout
O valor NETWORK_ID_TIMEOUT.
Consulte também:
otThreadGetNetworkIdTimeout

otThreadSetParentPriority

otError otThreadSetParentPriority(
  otInstance *aInstance,
  int8_t aParentPriority
)

Defina a prioridade mãe.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aParentPriority
O valor de prioridade pai.
Valores de retorno
OT_ERROR_NONE
A prioridade mãe foi definida.
OT_ERROR_INVALID_ARGS
Se o valor de prioridade pai não estiver entre 1, 0, -1 e -2.
Consulte também:
otThreadGetParentPriority

otThreadSetPreferredLeaderPartitionId

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

Define o ID de partição líder de linha de execução preferido usado ao operar no papel de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPartitionId
O valor do ID de partição do líder da linha de execução.

otThreadSetPreferredRouterId

otError otThreadSetPreferredRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Defina o ID do roteador preferido.

Ao se tornar um roteador/líder, o nó tenta usar esse ID de roteador. Se o ID do roteador preferido não estiver definido ou não puder ser usado, um ID gerado aleatoriamente vai ser escolhido. Essa propriedade só pode ser definida quando a função do dispositivo é removida ou desativada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aRouterId
O ID do roteador preferido.
Valores de retorno
OT_ERROR_NONE
O ID de roteador preferido foi definido.
OT_ERROR_INVALID_STATE
Não foi possível definir (o papel não foi removido nem desativado)

otThreadSetPskc

otError otThreadSetPskc(
  otInstance *aInstance,
  const otPskc *aPskc
)

Define o PSKc da linha de execução.

Só será bem-sucedido quando os protocolos Thread estiverem desativados. Uma chamada bem-sucedida para essa função também invalidará os conjuntos de dados operacionais ativos e pendentes na memória não volátil.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPskc
Um ponteiro para o novo PSKc da linha de execução.
Valores de retorno
OT_ERROR_NONE
A PSKc da linha de execução foi definida.
OT_ERROR_INVALID_STATE
Os protocolos de Thread estão ativados.
Consulte também:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

Defina a referência da chave como o PSKc da linha de execução.

É necessário que o recurso de tempo de build OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE esteja ativado.

Só será bem-sucedido quando os protocolos Thread estiverem desativados. Após a conclusão, isso também invalidará os conjuntos de dados operacionais ativos e pendentes na memória não volátil.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aKeyRef
Referência de chave para o novo PSKc da Thread.
Valores de retorno
OT_ERROR_NONE
A PSKc da linha de execução foi definida.
OT_ERROR_INVALID_STATE
Os protocolos de Thread estão ativados.
Consulte também:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Defina o parâmetro ROUTER_DOWNGRADE_REASON usado na função de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aThreshold
O valor de ROUTER_DOWNGRADE_Threshold.
Consulte também:
otThreadGetRouterDowngradeThreshold

otThreadSetRouterEligible

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

Define se o dispositivo é ou não qualificado para roteador.

Se aEligible for "false" e o dispositivo estiver operando como roteador, essa chamada vai fazer com que o dispositivo seja desconectado e tente se conectar novamente como filho.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEligible
TRUE para configurar o dispositivo como qualificado para roteador. Caso contrário, FALSE.
Valores de retorno
OT_ERROR_NONE
A configuração qualificada para roteador foi definida.
OT_ERROR_NOT_CAPABLE
O dispositivo não pode se tornar um roteador.

otThreadSetRouterIdRange

otError otThreadSetRouterIdRange(
  otInstance *aInstance,
  uint8_t aMinRouterId,
  uint8_t aMaxRouterId
)

Define o intervalo de IDs de roteador que podem ser atribuídos a nós dentro da rede de linhas de execução.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMinRouterId
O ID mínimo do roteador.
[in] aMaxRouterId
O ID máximo do roteador.
Valores de retorno
OT_ERROR_NONE
O intervalo foi definido.
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId, ou o intervalo não é coberto por [0, 62].
Consulte também:
otThreadGetRouterIdRange

otThreadSetRouterSelectionJitter

void otThreadSetRouterSelectionJitter(
  otInstance *aInstance,
  uint8_t aRouterJitter
)

Defina o parâmetro ROUTER_SELECTION_JITTER usado no papel REED/Roteador.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aRouterJitter
O valor de ROUTER_SELECTION_JITTER.
Consulte também:
otThreadGetRouterSelectionJitter

otThreadSetRouterUpgradeThreshold

void otThreadSetRouterUpgradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Defina o parâmetro ROUTER_UPGRADE_THRESHOLD usado no papel de líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aThreshold
O valor de ROUTER_UPGRADE_Threshold.
Consulte também:
otThreadGetRouterUpgradeThreshold

otThreadSetSteeringData

void otThreadSetSteeringData(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Defina os dados de direcionamento fora da banda.

A opção de configuração OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE precisa ser definida para ativar a configuração de direcionamento de dados fora de banda.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aExtAddress
Endereço usado para atualizar os dados de direção. Todos os zeros para limpar os dados de direção (sem dados de direção). Todos os 0xFFs para definir o filtro de dados/Bloom de direcionamento para aceitar/permitir tudo. Um EUI64 específico que é então adicionado ao filtro de flores/dados de direcionamento atual.

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Define se o limite de versão do TLV da política de segurança para roteamento (campo RV) está ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnabled
Verdadeiro para ativar o limite de versão do TLV da política de segurança para o roteamento. Caso contrário, será FALSO.

Macros

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

Inicializador para otChildIP6AddressIterator.

Recursos

Os tópicos de Referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.