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.

SRP

Este módulo inclui funções que controlam o comportamento do cliente SRP.

Resumo

Este módulo inclui funções do Protocolo de registro de serviço.

Este módulo inclui funções para buffers de cliente SRP e pool de serviço.

As funções neste módulo só estão disponíveis quando o recurso OPENThread_CONFIG_SRP_CLIENT_BUFFERS_ENABLE está ativado.

Enumerações

anonymous enum{
  OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0,
  OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1,
  OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2,
  OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3
}
tipo enumerado
anonymous enum{
  OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE)
}
tipo enumerado
otSrpClientItemState{
  OT_SRP_CLIENT_ITEM_STATE_TO_ADD,
  OT_SRP_CLIENT_ITEM_STATE_ADDING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH,
  OT_SRP_CLIENT_ITEM_STATE_REFRESHING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE,
  OT_SRP_CLIENT_ITEM_STATE_REMOVING,
  OT_SRP_CLIENT_ITEM_STATE_REGISTERED,
  OT_SRP_CLIENT_ITEM_STATE_REMOVED
}
tipo enumerado
Essa enumeração especifica um estado de item do cliente SRP (informações de serviço ou host).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
tipo enumerado
Esta enumeração representa o modo de endereço usado pelo servidor SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
tipo enumerado
Esta enumeração representa o estado do servidor SRP.

Typedefs

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Esse tipo de ponteiro de função define o callback usado pelo cliente SRP para notificar o usuário quando ele for iniciado ou interrompido automaticamente.
otSrpClientBuffersServiceEntry typedef
Este struct representa uma entrada de pool de serviços de clientes de SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Esse tipo de ponteiro de função define o callback usado pelo cliente SRP para notificar o usuário sobre mudanças/eventos/erros.
otSrpClientHostInfo typedef
Essa estrutura representa as informações do host de um cliente SRP.
otSrpClientService typedef
Essa estrutura representa um serviço ao cliente SRP.
otSrpServerAddressMode typedef
Esta enumeração representa o modo de endereço usado pelo servidor SRP.
otSrpServerHost typedef
Esse tipo opaco representa um host de serviço SRP.
otSrpServerLeaseConfig typedef
Essa estrutura inclui as configurações de servidor SRP LEASE e KEY-LEASE.
otSrpServerLeaseInfo typedef
Essa estrutura inclui informações de locação de servidores SRP de um host/serviço.
otSrpServerResponseCounters typedef
Essa estrutura inclui as estatísticas das respostas do servidor SRP.
otSrpServerService typedef
Esse tipo opaco representa um serviço de SRP.
otSrpServerServiceFlags typedef
uint8_t
O tipo de sinalização de serviço para indicar quais serviços incluir ou excluir ao pesquisar (ou iterar) a lista de serviços de SRP.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Essa função gerencia as atualizações do serviço SRP.
otSrpServerServiceUpdateId typedef
uint32_t
O ID de uma transação de atualização do serviço SRP no servidor SRP.
otSrpServerTtlConfig typedef
Essa estrutura inclui as configurações de TTL do servidor SRP.

Funções

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Essa função adiciona um serviço para ser registrado no servidor.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Essa função aloca uma nova entrada de serviço do pool.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Essa função libera todas as entradas de serviço alocadas anteriormente.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Essa função libera uma entrada de serviço alocada anteriormente.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Essa função recebe a matriz de entradas de endereço IPv6 a serem usadas como lista de endereços de host do cliente SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Essa função recebe o buffer de string a ser usado para o nome do host do cliente SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Essa função recebe o buffer de string do nome da instância de serviço em uma entrada de serviço.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Essa função recebe o buffer de string do nome do serviço em uma entrada de serviço.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Essa função recebe o buffer para o registro TXT de uma entrada de serviço.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Essa função recebe a matriz de identificadores de subtipo de serviço na entrada de serviço.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Essa função limpa todas as informações do host e todos os serviços.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Essa função limpa um serviço, removendo-o imediatamente da lista de serviços do cliente.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Esta função desativa o modo de início automático.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Esta função ativa o modo de endereço do host automático.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Esta função ativa o modo de início automático.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Esta função recebe o nome de domínio usado pelo cliente SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
Essa função recebe as informações do host.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Essa função recebe o intervalo de lease de chave padrão usado em solicitações de atualização de SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Essa função recebe o intervalo de locação padrão usado nas solicitações de atualização do SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Essa função acessa o endereço do soquete (endereço IPv6 e número da porta) do servidor SRP que está sendo usado pelo cliente SRP.
otSrpClientGetServices(otInstance *aInstance)
Essa função recebe a lista de serviços que estão sendo gerenciados pelo cliente.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Essa função recebe o valor TTL em cada registro incluído nas solicitações de atualização do SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Esta função indica o estado atual do modo de início automático (ativado ou desativado).
otSrpClientIsRunning(otInstance *aInstance)
bool
Esta função indica se o cliente SRP está em execução ou não.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Esse método indica se o modo de inclusão de registro de chave de serviço"está ativado ou desativado.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Essa função converte um otSrpClientItemState em uma string.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Essa função inicia o processo de remoção das informações do host e de todos os serviços.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Esta função solicita um serviço para cancelar o registro com o servidor.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Esta função define o callback para notificar o autor da chamada de eventos/alterações de clientes SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Essa função define o nome de domínio que será usado pelo cliente SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Esta função define/atualiza a lista de endereços IPv6 do host.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Essa função define o rótulo do nome do host.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Essa função define o intervalo de lease de chave padrão usado em solicitações de atualização de SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Essa função define o intervalo de locação padrão usado nas solicitações de atualização do SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Esta função ativa/desativa o modo de inclusão de registro de chave de serviço".
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Essa função define o valor TTL em cada registro incluído nas solicitações de atualização do SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Essa função inicia a operação do cliente SRP.
otSrpClientStop(otInstance *aInstance)
void
Essa função interrompe a operação do cliente SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Essa função retorna o modo de endereço usado pelo servidor SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Essa função retorna o número de sequência usado com o modo de endereço Anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Essa função retorna o domínio autorizado ao servidor SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Essa função retorna as configurações de servidor SRP LEASE e KEY-LEASE.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Essa função retorna o próximo host registrado no servidor SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Essa função retorna a porta que o servidor SRP está detectando.
otSrpServerGetResponseCounters(otInstance *aInstance)
Essa função retorna os contadores de resposta do servidor SRP.
otSrpServerGetState(otInstance *aInstance)
Essa função retorna o estado do servidor SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Essa função retorna a configuração do TTL do servidor SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Esta função informa o resultado do processamento de uma atualização de SRP para o servidor de SRP.
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
Essa função encontra o próximo serviço correspondente no host.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Essa função retorna os endereços do host especificado.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Essa função retorna o nome completo do host.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Essa função retorna as informações de LEASE e KEY-LEASE de um determinado host.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Essa função retorna o próximo serviço (excluindo qualquer tipo de serviço) do host em questão.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Essa função informa se o host de serviço SRP foi excluído.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Esta função indica se o modo de ativação automática está ativado ou desativado.
otSrpServerServiceGetFullName(const otSrpServerService *aService)
const char *
Essa função retorna o nome completo da instância do serviço.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Essa função retorna o host em que a instância de serviço reside.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Essa função retorna o nome completo da instância do serviço.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Essa função retorna as informações de LEASE e KEY-LEASE de um determinado serviço.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Essa função retorna a porta da instância de serviço.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Essa função retorna a prioridade da instância de serviço.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Essa função retorna o nome completo do serviço.
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
Essa função recebe o rótulo do subtipo do nome do serviço.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Essa função retorna o TTL da instância de serviço.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Essa função retorna os dados do registro TXT da instância de serviço.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Essa função retorna o peso da instância de serviço.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Esta função indica se o serviço SRP foi excluído ou não.
otSrpServerServiceIsSubType(const otSrpServerService *aService)
bool
Essa função indica se o serviço SRP é um subtipo.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Essa função define o modo de endereço a ser usado pelo servidor SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Essa função define o número de sequência usado com o modo de endereço Anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Esta função ativa/desativa o modo de ativação automática no servidor SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Essa função define o domínio no servidor SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Esta função ativa/desativa o servidor SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Esta função define as configurações de servidor SRP LEASE e KEY-LEASE.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Essa função define o gerenciador de atualizações do serviço SRP no servidor SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Esta função define a configuração do TTL do servidor SRP.

Estruturas

otSrpClientBuffersServiceEntry

Este struct representa uma entrada de pool de serviços de clientes de SRP.

otSrpClientHostInfo

Essa estrutura representa as informações do host de um cliente SRP.

OtSrpClientService

Essa estrutura representa um serviço ao cliente SRP.

otSrpServerLeaseConfig

Essa estrutura inclui as configurações de servidor SRP LEASE e KEY-LEASE.

otSrpServerLeaseInfo

Essa estrutura inclui informações de locação de servidores SRP de um host/serviço.

otSrpServerResponseCounters

Essa estrutura inclui as estatísticas das respostas do servidor SRP.

otSrpServerTtlConfig.

Essa estrutura inclui as configurações de TTL do servidor SRP.

Enumerações

enumeração anônima

 anonymous enum
Propriedades
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

Incluir serviços ativos (não excluídos).

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

Incluir serviços base (não um subtipo)

OT_SRP_SERVER_SERVICE_FLAG_DELETED

Incluir serviços excluídos.

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

Incluir serviços de subtipo.

enumeração anônima

 anonymous enum
Propriedades
OT_SRP_SERVER_FLAGS_ANY_SERVICE

Essa constante define uma combinação de otSrpServerServiceFlags aceitando qualquer serviço (base/subtipo, ativo/excluído).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

Essa constante define uma combinação de otSrpServerServiceFlags aceitando qualquer serviço ativo (não excluído).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

Essa constante define uma combinação de otSrpServerServiceFlags aceitando qualquer serviço excluído.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

Essa constante define uma combinação de otSrpServerServiceFlags aceitando apenas o serviço base.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

Essa constante define uma combinação de otSrpServerServiceFlags aceitando apenas um serviço de subtipo.

OtSrpClientItemState

 otSrpClientItemState

Essa enumeração especifica um estado de item do cliente SRP (informações de serviço ou host).

Propriedades
OT_SRP_CLIENT_ITEM_STATE_ADDING

O item está sendo adicionado/registrado.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

O item está sendo atualizado.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

O item está registrado no servidor.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Item removido.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

O item está sendo removido.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Item a ser adicionado/registrado.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Item a ser atualizado. Faça o registro novamente para renovar o lease.

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Item a ser removido.

OtSrpServerAddressMode

 otSrpServerAddressMode

Esta enumeração representa o modo de endereço usado pelo servidor SRP.

O modo de endereço especifica como o endereço e o número da porta são determinados pelo servidor SRP e como essas informações são publicadas nos dados da rede Thread.

Propriedades
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Modo de endereço Anycast.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Modo de endereço Unicast.

OtSrpServerState

 otSrpServerState

Esta enumeração representa o estado do servidor SRP.

Propriedades
OT_SRP_SERVER_STATE_DISABLED

O servidor SRP está desativado.

OT_SRP_SERVER_STATE_RUNNING

O servidor SRP está ativado e em execução.

OT_SRP_SERVER_STATE_STOPPED

O servidor SRP está ativado, mas interrompido.

Typedefs

OtSrpClientAutoStartCallback

void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)

Esse tipo de ponteiro de função define o callback usado pelo cliente SRP para notificar o usuário quando ele for iniciado ou interrompido automaticamente.

Isso é usado apenas quando o recurso de início automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está ativado.

Esse callback é invocado quando o modo de início automático está ativado e o cliente SRP é iniciado ou interrompido automaticamente.

Detalhes
Parâmetros
[in] aServerSockAddr
Um ponteiro não NULL indica que o servidor SRP foi iniciado, e o ponteiro fornecerá o endereço do soquete do servidor selecionado. Um ponteiro NULL indica que o servidor SRP foi interrompido.
[in] aContext
Um ponteiro para um contexto arbitrário (fornecido quando o callback foi registrado).

OtSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Este struct representa uma entrada de pool de serviços de clientes de SRP.

OtSrpClientCallback

void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)

Esse tipo de ponteiro de função define o callback usado pelo cliente SRP para notificar o usuário sobre mudanças/eventos/erros.

Esse callback é invocado em uma inscrição bem-sucedida de uma atualização (por exemplo, adição/remoção de host-info e/ou de alguns serviços) com o servidor SRP, ou se há uma falha ou erro (por exemplo, o servidor rejeita uma solicitação de atualização ou o tempo limite do cliente espera por resposta etc.).

No caso de um novo registro de uma atualização, o parâmetro aError será OT_ERROR_NONE, e as informações do host e a lista completa de serviços serão fornecidos como parâmetros de entrada para o callback. Observe que as informações e serviços do host rastreiam o próprio estado na variável de membro mState correspondente da estrutura de dados relacionada (o estado que indica se o serviço/informações do host está registrado ou removido ou ainda está sendo adicionado/removido etc.).

A lista de serviços removidos é transmitida como a própria lista vinculada aRemovedServices no callback. Quando o callback é invocado, o cliente SRP (implementação do OpenThread) é feito com as instâncias de serviço removidas listadas em aRemovedServices, e não é mais o rastreamento/o armazenamento. Ou seja, se do callback chamar otSrpClientGetServices() os serviços removidos não estarão presentes na lista retornada. Fornecer uma lista separada de serviços removidos no callback ajuda a indicar ao usuário quais itens foram removidos e permitir que o usuário reivindique/reutilize as instâncias.

Se o servidor rejeitar uma solicitação de atualização de SRP, o código de resposta de DNS (RFC 2136) será mapeado para os seguintes erros:

  • (0) SEM ERROS (sem condição de erro) -> OT_ERROR_NONE
  • (1) O servidor FORMERR não conseguiu interpretar devido a um erro de formato -> OT_ERROR_PARSE
  • (2) O servidor SERVFAIL encontrou uma falha interna -> OT_ERROR_FAILED
  • (3) Nome NXDOMAIN que deveria existir, não existe -> OT_ERROR_NOT_FOUND
  • (4) O servidor NOTIMP não oferece suporte ao tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) REFUSED Servidor recusado por violação de políticas/segurança -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Um nome que não deveria existir, existe -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Parte do RRset que não deveria existir, existe -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Alguns RRset que deveriam existir, não existem -> OT_ERROR_NOT_FOUND
  • (9) O serviço NOTAUTH não é autoritativo para a zona -> OT_ERROR_SECURITY
  • (10) NOTZONE A nome A não está na zona -> OT_ERROR_PARSE
  • (20) BADNAME Nome inválido -> OT_ERROR_PARSE
  • (21) BADALG: algoritmo inválido -> OT_ERROR_SECURITY
  • (22) BADTRUN truncada – g&g; OT_ERROR_PARSE
  • Outros códigos de resposta -> OT_ERROR_FAILED

Os seguintes erros também são possíveis:

  • OT_ERROR_RESPONSE_THRESHOLD : o tempo limite foi excedido para a resposta do servidor (o cliente continuaria tentando novamente);
  • OT_ERROR_INVALID_ARGS : a estrutura de serviços fornecida é inválida (por exemplo, nome de serviço inválido ou otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : buffer insuficiente para preparar ou enviar a mensagem de atualização.

Em caso de falha, o cliente continua a operação, ou seja, prepara e (re)transmite a mensagem de atualização de SRP para o servidor após algum intervalo de espera. O intervalo de espera da nova tentativa começa com o valor mínimo e é aumentado pelo fator de crescimento a cada falha até o valor máximo. Consulte o parâmetro de configuração OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL e os relacionados para mais detalhes.

Detalhes
Parâmetros
[in] aError
Erro (veja acima).
[in] aHostInfo
Um ponteiro para hospedar informações.
[in] aServices
O chefe da lista vinculada que contém todos os serviços (exceto os removidos). NULL se a lista estiver vazia.
[in] aRemovedServices
Cabeçalho da lista vinculada que contém todos os serviços removidos. NULL se a lista estiver vazia.
[in] aContext
Um ponteiro para um contexto arbitrário (fornecido quando o callback foi registrado).

OtSrpClientHost

struct otSrpClientHostInfo otSrpClientHostInfo

Essa estrutura representa as informações do host de um cliente SRP.

Serviço de cliente otSrp

struct otSrpClientService otSrpClientService

Essa estrutura representa um serviço ao cliente SRP.

Os valores nessa estrutura, incluindo os buffers de string para os nomes e as entradas de registro TXT, PRECISAM persistir e permanecer constantes depois que uma instância dessa estrutura é transmitida para o OpenThread de otSrpClientAddService() ou otSrpClientRemoveService().

Os campos mState, mData e mNext são usados/gerenciados apenas pelo núcleo OT. O valor delas é ignorado quando uma instância da otSrpClientService é transmitida na otSrpClientAddService(), no otSrpClientRemoveService() ou em outras funções. O autor da chamada não precisa definir esses campos.

Os campos mLease e mKeyLease especificam os intervalos de lease e de chave de chave desejados para este serviço. O valor zero indica que o intervalo não é especificado e, em seguida, os intervalos de lease ou de chave padrão de otSrpClientGetLeaseInterval() e otSrpClientGetKeyLeaseInterval() são usados para esse serviço. Se o intervalo de lease de chave (seja definido explicitamente ou determinado a partir do padrão) for menor que o intervalo de lease de um serviço, o cliente SRP também vai reutilizar o valor do intervalo de lease para o intervalo de lease de chave. Por exemplo, se no serviço mLease for explicitamente definido como dois dias e mKeyLease for definido como zero e o lease de chave padrão for definido como um dia, ao registrar este serviço, o lease de chave solicitado para o serviço também será definido como dois dias.

OtSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Esta enumeração representa o modo de endereço usado pelo servidor SRP.

O modo de endereço especifica como o endereço e o número da porta são determinados pelo servidor SRP e como essas informações são publicadas nos dados da rede Thread.

Host do otSrpServer

struct otSrpServerHost otSrpServerHost

Esse tipo opaco representa um host de serviço SRP.

OtSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Essa estrutura inclui as configurações de servidor SRP LEASE e KEY-LEASE.

OtSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Essa estrutura inclui informações de locação de servidores SRP de um host/serviço.

OtSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Essa estrutura inclui as estatísticas das respostas do servidor SRP.

Serviço OtSrpServer

struct otSrpServerService otSrpServerService

Esse tipo opaco representa um serviço de SRP.

OtSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

O tipo de sinalização de serviço para indicar quais serviços incluir ou excluir ao pesquisar (ou iterar) a lista de serviços de SRP.

Isso é uma combinação de sinalizações de bits. As sinalizações de bits específicas são definidas na enumeração OT_SRP_SERVER_FLAG_*.

OtSrpServerServiceUpdateHandler

void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)

Essa função gerencia as atualizações do serviço SRP.

Essa função é chamada pelo servidor SRP para notificar que um host SRP e, possivelmente, serviços SRP estão sendo atualizados. É importante que as atualizações de SRP não sejam confirmadas até que o gerenciador retorne o resultado chamando otSrpServerHandleServiceUpdateResult ou expira após aTimeout.

Um observador de serviço SRP sempre deve chamar otSrpServerHandleServiceUpdateResult com o código de erro OT_ERROR_NONE imediatamente depois de receber os eventos de atualização.

Um gerenciador mais genérico pode realizar validações no host/serviços do SRP e rejeitar as atualizações do SRP se houver falha na validação. Por exemplo, um proxy de publicidade precisa anunciar (ou remover) o host e os serviços em um link compatível com multicast e retornar um código de erro específico se ocorrer qualquer falha.

Detalhes
Parâmetros
[in] aId
O ID da transação de atualização do serviço. Esse ID precisa ser retornado com otSrpServerHandleServiceUpdateResult.
[in] aHost
Um ponteiro para o objeto otSrpServerHost que contém as atualizações de SRP. O gerenciador precisa publicar/cancelar a publicação do host, e cada serviço aponta para esse host com as regras abaixo:
  1. Se o host não for excluído (indicado por otSrpServerHostIsDeleted), ele precisará ser publicado ou atualizado com mDNS. Caso contrário, o host deverá ser não publicado (remover RRs AAAA).
  2. Se o host tiver que ser publicado, ele deverá ter a publicação cancelada para cada host. Caso contrário, o gerenciador publicará ou atualizará o serviço quando ele não for excluído (indicado por otSrpServerServiceIsDeleted) e cancelará a publicação quando excluído.
[in] aTimeout
O tempo máximo em milissegundos para o gerenciador processar o evento de serviço.
[in] aContext
Um ponteiro para contextos específicos do aplicativo.
Veja também:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

OtSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

O ID de uma transação de atualização do serviço SRP no servidor SRP.

OtSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

Essa estrutura inclui as configurações de TTL do servidor SRP.

Funções

Serviço OtSrpClientAdd

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Essa função adiciona um serviço para ser registrado no servidor.

Após uma chamada bem-sucedida para essa função, otSrpClientCallback será chamado para informar o status da adição/registro do serviço com o servidor SRP.

A instância de otSrpClientService apontada por aService PRECISA persistir e permanecer inalterada após retornar dessa função (com OT_ERROR_NONE). O OpenThread salvará o ponteiro na instância de serviço.

A instância otSrpClientService não é mais rastreada pelo OpenThread e só pode ser recuperada quando

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aService
Um ponteiro para uma instância otSrpClientService a ser adicionada.
Valores de retorno
OT_ERROR_NONE
A adição do serviço foi iniciada. O otSrpClientCallback será chamado para informar o status.
OT_ERROR_ALREADY
Um serviço com os mesmos nomes de instância e serviço já está na lista.
OT_ERROR_INVALID_ARGS
A estrutura do serviço é inválida (por exemplo, nome de serviço inválido ou otDnsTxtEntry).

OtSrpClientBuffersLocService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Essa função aloca uma nova entrada de serviço do pool.

A instância de entrada de serviço retornada será inicializada da seguinte maneira:

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
Um ponteiro para a entrada de serviço recém-alocada ou NULL, se não houver mais entradas disponíveis no pool.

OtSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Essa função libera todas as entradas de serviço alocadas anteriormente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.

Serviço otSrpClientBuffersFree

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Essa função libera uma entrada de serviço alocada anteriormente.

O aService PRECISA ser alocado usando otSrpClientBuffersAllocateService() e ainda não foi liberado. Caso contrário, o comportamento dessa função será indefinido.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aService
Um ponteiro para a entrada de serviço livre (NÃO DEVE ser NULL).

OtSrpClientBuffersGetHostAddressesArray

otIp6Address * otSrpClientBuffersGetHostAddressesArray(
  otInstance *aInstance,
  uint8_t *aArrayLength
)

Essa função recebe a matriz de entradas de endereço IPv6 a serem usadas como lista de endereços de host do cliente SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[out] aArrayLength
Ponteiro para uma variável para retornar o tamanho da matriz, ou seja, o número de entradas de endereço IPv6 na matriz (NÃO PODE ser NULO).
Retorna
Um ponteiro para uma matriz de entradas otIp6Address (o número de entradas é retornado em aArrayLength).

OtSrpClientBuffersGetHostNameString

char * otSrpClientBuffersGetHostNameString(
  otInstance *aInstance,
  uint16_t *aSize
)

Essa função recebe o buffer de string a ser usado para o nome do host do cliente SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[out] aSize
Ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer da string (NÃO DEVE ser NULL).
Retorna
Um ponteiro para usar o buffer de caracteres para usar no nome do host do cliente SRP.

OtSrpClientBuffersGetServiceEntryInstanceNameString

char * otSrpClientBuffersGetServiceEntryInstanceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Essa função recebe o buffer de string do nome da instância de serviço em uma entrada de serviço.

Detalhes
Parâmetros
[in] aEntry
Um ponteiro para uma entrada de serviço alocada anteriormente (NÃO PODE ser NULO).
[out] aSize
Um ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer da string (NÃO pode ser NULL).
Retorna
Um ponteiro para o buffer da string.

OtSrpClientBuffersGetServiceEntryServiceNameString

char * otSrpClientBuffersGetServiceEntryServiceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Essa função recebe o buffer de string do nome do serviço em uma entrada de serviço.

Detalhes
Parâmetros
[in] aEntry
Um ponteiro para uma entrada de serviço alocada anteriormente (NÃO PODE ser NULO).
[out] aSize
Um ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer da string (NÃO pode ser NULL).
Retorna
Um ponteiro para o buffer da string.

OtSrpClientBuffersGetServiceEntryTxtBuffer

uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Essa função recebe o buffer para o registro TXT de uma entrada de serviço.

Detalhes
Parâmetros
[in] aEntry
Um ponteiro para uma entrada de serviço alocada anteriormente (NÃO PODE ser NULO).
[out] aSize
Um ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer (NÃO DEVE ser NULL).
Retorna
Um ponteiro para o buffer.

OtSrpClientBuffersGetSubTypeLabelArray

const char ** otSrpClientBuffersGetSubTypeLabelsArray(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aArrayLength
)

Essa função recebe a matriz de identificadores de subtipo de serviço na entrada de serviço.

Detalhes
Parâmetros
[in] aEntry
Um ponteiro para uma entrada de serviço alocada anteriormente (NÃO PODE ser NULO).
[out] aArrayLength
Um ponteiro para uma variável para retornar o tamanho da matriz (NÃO DEVE ser NULL).
Retorna
Um ponteiro para a matriz.

OtSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Essa função limpa todas as informações do host e todos os serviços.

Ao contrário de otSrpClientRemoveHostAndServices(), que envia uma mensagem de atualização ao servidor para remover todas as informações, essa função limpa todas as informações imediatamente, sem qualquer interação com o servidor.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.

Serviço otSrpClientClear

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Essa função limpa um serviço, removendo-o imediatamente da lista de serviços do cliente.

Ao contrário de otSrpClientRemoveService(), que envia uma mensagem de atualização ao servidor para remover o serviço, essa função limpa o serviço da lista de serviços do cliente sem qualquer interação com o servidor. Em uma chamada bem-sucedida para essa função, o otSrpClientCallback NÃO será chamado, e a entrada aService poderá ser recuperada e reutilizada imediatamente pelo autor da chamada.

Essa função pode ser usada com uma chamada subsequente para otSrpClientAddService() (possivelmente reutilizando a mesma entrada aService com os mesmos nomes de serviço e instância) para atualizar alguns dos parâmetros em um serviço existente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aService
Um ponteiro para uma instância otSrpClientService para excluir.
Valores de retorno
OT_ERROR_NONE
O aService foi excluído. Ela pode ser recuperada e reutilizada imediatamente.
OT_ERROR_NOT_FOUND
O serviço não foi encontrado na lista.

OtSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Esta função desativa o modo de início automático.

Disponível apenas quando o recurso de início automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE estiver ativado.

Desativar o modo de início automático não interromperá o cliente se ele já estiver em execução, mas o cliente deixará de monitorar os dados da rede Thread para verificar se o servidor SRP selecionado ainda está presente nele.

Observe que uma chamada para otSrpClientStop() também desativará o modo de início automático.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.

OtSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Esta função ativa o modo de endereço do host automático.

Quando ativado, os endereços IPv6 do host são definidos automaticamente pelo cliente SRP usando todos os endereços unicast na rede Thread, excluindo todos os endereços link-local e mesh-local. Se não houver um endereço válido, o EID local da malha será adicionado. O cliente SRP se registrará novamente quando/se os endereços no Thread netif forem atualizados (novos endereços são adicionados ou os atuais são removidos).

O modo de endereço do host automático pode ser ativado antes ou durante a operação do cliente SRP, exceto quando as informações do host são removidas (o cliente está ocupado processando uma solicitação de remoção de uma chamada para otSrpClientRemoveHostAndServices() e as informações do host ainda estão nos estados STATE_TO_REMOVE ou STATE_REMOVING).

Depois que o modo de endereço do host automático for ativado, ele poderá ser desativado por uma chamada para otSrpClientSetHostAddresses(), que definirá explicitamente os endereços do host.

Detalhes
Valores de retorno
OT_ERROR_NONE
O modo de endereço do host automático foi ativado.
OT_ERROR_INVALID_STATE
O host está sendo removido e, portanto, não pode ativar o modo de endereço do host automático.

OtSrpClientEnableAutoStartMode

void otSrpClientEnableAutoStartMode(
  otInstance *aInstance,
  otSrpClientAutoStartCallback aCallback,
  void *aContext
)

Esta função ativa o modo de início automático.

Disponível apenas quando o recurso de início automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE estiver ativado.

A opção de configuração OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE especifica o modo de início automático padrão (se estará ativado ou desativado no início da pilha de OT).

Quando o início automático estiver ativado, o cliente SRP vai monitorar os dados da rede Thread para descobrir servidores SRP e selecionar o servidor preferido e iniciar e interromper automaticamente o cliente quando um servidor SRP for detectado.

Há três categorias de entradas de dados de rede que indicam a presença do servidor de SRP. Eles têm preferência na seguinte ordem:

1) Entradas unicast preferidas em que o endereço do servidor está incluído nos dados do serviço Se houver várias opções, a que tiver menor endereço IPv6 numericamente terá preferência.

2) Entradas Anycast que têm um número de sequência. Um número de sequência maior no sentido especificado pela lógica aritmética de número de série no RFC-1982 é considerado mais recente e, portanto, preferível. O maior número sequencial usando a aritmética do número de série tem preferência se for bem definido (ou seja, o número da sequência é maior que todos os outros números da sequência). Se não estiver bem definido, é preferível usar o maior número numérico da sequência.

3) Entradas Unicast em que as informações de endereço do servidor estão incluídas nos dados do servidor. Se houver várias opções, a que tiver menor endereço IPv6 numericamente terá preferência.

Quando houver uma alteração nas entradas de dados da rede, o cliente verificará se o servidor selecionado ainda está presente nos dados de rede e é o servidor preferencial. Caso contrário, o cliente vai mudar para o novo servidor preferido ou parar, se não houver nenhum.

Quando o cliente SRP é explicitamente iniciado por uma chamada bem-sucedida para otSrpClientStart(), o endereço do servidor SRP em otSrpClientStart() continuará sendo usado independentemente do estado do modo de início automático e se o mesmo endereço de servidor SRP for descoberto ou não nos dados da rede Thread. Nesse caso, apenas uma chamada otSrpClientStop() explícita interromperá o cliente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aCallback
Um callback para notificar quando o cliente for iniciado/interrompido automaticamente. Poderá ser NULL se não for necessário.
[in] aContext
Um contexto a ser transmitido ao invocar aCallback.

OtSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Esta função recebe o nome de domínio usado pelo cliente SRP.

Esta função requer a ativação de OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Se o nome de domínio não for definido, "default.service.arpa" será usado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
String do nome do domínio.

OtSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Essa função recebe as informações do host.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
Um ponteiro para hospedar a estrutura de informações.

OtSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Essa função recebe o intervalo de lease de chave padrão usado em solicitações de atualização de SRP.

O intervalo padrão é usado apenas para instâncias de otSrpClientService com mKeyLease definido como zero.

Observe que essa é a duração do lease solicitada pelo cliente SRP. O servidor pode escolher aceitar um intervalo de lease diferente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
O intervalo de locação da chave (em segundos).

OtSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Essa função recebe o intervalo de locação padrão usado nas solicitações de atualização do SRP.

O intervalo padrão é usado apenas para instâncias de otSrpClientService com mLease definido como zero.

Observe que essa é a duração do lease solicitada pelo cliente SRP. O servidor pode escolher aceitar um intervalo de lease diferente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
O intervalo de locação (em segundos).

OtSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Essa função acessa o endereço do soquete (endereço IPv6 e número da porta) do servidor SRP que está sendo usado pelo cliente SRP.

Se o cliente não está em execução, o endereço não é especificado (todos zero) com um número de porta zero.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
Um ponteiro para o endereço de soquete do servidor SRP (sempre é NULL).

OtSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Essa função recebe a lista de serviços que estão sendo gerenciados pelo cliente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
Um ponteiro para o cabeçalho da lista vinculada de todos os serviços ou NULL se a lista estiver vazia.

OtSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Essa função recebe o valor TTL em cada registro incluído nas solicitações de atualização do SRP.

Observe que esse é o TTL solicitado pelo cliente da SRP. O servidor pode escolher aceitar um TTL diferente.

Por padrão, o TTL é igual ao intervalo de locação. Transmitir 0 ou um valor maior que o intervalo de locação por otSrpClientSetTtl() também fará com que o TTL seja igual ao intervalo de locação.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
TTL (em segundos).

OtSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Esta função indica o estado atual do modo de início automático (ativado ou desativado).

Disponível apenas quando o recurso de início automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE estiver ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
TRUE se o modo de início automático estiver ativado. Caso contrário, FALSE.

OtSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Esta função indica se o cliente SRP está em execução ou não.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
Verdadeiro se o cliente SRP estiver em execução. Caso contrário, FALSO.

OtSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Esse método indica se o modo de inclusão de registro de chave de serviço"está ativado ou desativado.

Esta função estará disponível quando a configuração de OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE estiver ativada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
VERDADEIRO se o modo de inclusão de registro de chave de serviço" estiver ativado; caso contrário, FALSO.

OtSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Essa função converte um otSrpClientItemState em uma string.

Detalhes
Parâmetros
[in] aItemState
Um estado do item.
Retorna
Uma representação de string de aItemState.

OtSrpClientRemoveHostAndServices

otError otSrpClientRemoveHostAndServices(
  otInstance *aInstance,
  bool aRemoveKeyLease,
  bool aSendUnregToServer
)

Essa função inicia o processo de remoção das informações do host e de todos os serviços.

Depois de retornar dessa função, otSrpClientCallback será chamado para informar o status da solicitação de remoção com o servidor SRP.

Se as informações do host forem removidas permanentemente do servidor, aRemoveKeyLease deverá ser definido como true, o que removerá o lease de chave associado ao host no servidor. Caso contrário, o registro do lease de chave é mantido como antes, o que garante que o servidor mantenha o nome do host reservado para quando o cliente puder fornecer e registrar os serviços novamente.

O aSendUnregToServer determina o comportamento quando as informações do host ainda não estão registradas no servidor. Se aSendUnregToServer for definido como false (o valor padrão/esperado), o cliente SRP vai remover imediatamente as informações e serviços do host sem enviar uma mensagem de atualização para o servidor (não é necessário atualizar o servidor se nada ainda estiver registrado com ele). Se aSendUnregToServer estiver definido como true, o cliente SRP enviará uma mensagem de atualização ao servidor. Se as informações do host forem registradas, o valor de aSendUnregToServer não importa, e o cliente SRP sempre enviará uma mensagem de atualização ao servidor solicitando a remoção de todas as informações.

Uma situação em que aSendUnregToServer pode ser útil é redefinir ou reiniciar o dispositivo. Talvez o autor da chamada queira remover todos os serviços registrados anteriormente com o servidor. Nesse caso, o autor da chamada pode otSrpClientSetHostName() e, em seguida, solicitar otSrpClientRemoveHostAndServices() com aSendUnregToServer como true.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aRemoveKeyLease
Um booleano indicando se o lease da chave de host também precisa ser removido.
[in] aSendUnregToServer
Um booleano indicando se a atualização será enviada para o servidor quando as informações do host não estiverem registradas.
Valores de retorno
OT_ERROR_NONE
A remoção de informações e serviços do host foi iniciada. O otSrpClientCallback será chamado para informar o status.
OT_ERROR_ALREADY
As informações do host já foram removidas.

Serviço otSrpClientRemove

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Esta função solicita um serviço para cancelar o registro com o servidor.

Após uma chamada bem-sucedida para esta função, otSrpClientCallback será chamado para informar o status da solicitação de remoção com o servidor SRP.

A instância de otSrpClientService apontada por aService PRECISA persistir e permanecer inalterada após retornar dessa função (com OT_ERROR_NONE). O OpenThread manterá a instância de serviço durante o processo de remoção. Somente depois que o otSrpClientCallback for chamado, isso indica que a instância de serviço foi removida da lista de serviços do cliente SRP e pode ser liberada/reutilizada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aService
Um ponteiro para uma instância otSrpClientService a ser removida.
Valores de retorno
OT_ERROR_NONE
A remoção do serviço foi iniciada. O otSrpClientCallback será chamado para informar o status.
OT_ERROR_NOT_FOUND
O serviço não foi encontrado na lista.

OtSrpClientSetCallback

void otSrpClientSetCallback(
  otInstance *aInstance,
  otSrpClientCallback aCallback,
  void *aContext
)

Esta função define o callback para notificar o autor da chamada de eventos/alterações de clientes SRP.

O cliente SRP permite o registro de um único callback. Portanto, chamadas consecutivas para essa função substituirão todas as funções de callback definidas anteriormente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aCallback
O callback para notificar eventos e mudanças. Poderá ser NULL se não for necessário.
[in] aContext
Um contexto arbitrário usado com aCallback.

OtSrpClientSetDomainName

otError otSrpClientSetDomainName(
  otInstance *aInstance,
  const char *aName
)

Essa função define o nome de domínio que será usado pelo cliente SRP.

Esta função requer a ativação de OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Se não for definido, "quoquo;default.service.arpa" será usado.

O buffer da string de nome apontado por aName PRECISA persistir e permanecer inalterado após retornar dessa função. O OpenThread manterá o ponteiro para a string.

O nome de domínio pode ser definido antes ou depois do início do cliente, mas antes de as informações do host serem registradas no servidor (as informações do host precisam estar em STATE_TO_ADD ou STATE_TO_REMOVE).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aName
Um ponteiro para a string de nome de domínio. Se NULL for definido como "default.service.arpa" padrão.
Valores de retorno
OT_ERROR_NONE
O marcador do nome de domínio foi definido.
OT_ERROR_INVALID_STATE
As informações do host já estão registradas no servidor.

OtSrpClientSetHostAddresses

otError otSrpClientSetHostAddresses(
  otInstance *aInstance,
  const otIp6Address *aIp6Addresses,
  uint8_t aNumAddresses
)

Esta função define/atualiza a lista de endereços IPv6 do host.

Os endereços IPv6 do host podem ser definidos/alterados antes do início ou durante a operação do cliente SRP (por exemplo, para adicionar/remover ou alterar um endereço de host registrado anteriormente), exceto quando as informações do host estão sendo removidas (o cliente está ocupado processando uma solicitação de remoção de uma chamada anterior para otSrpClientRemoveHostAndServices() e as informações do host ainda estão nos estados STATE_TO_REMOVE ou STATE_REMOVING).

A matriz de endereços IPv6 do host apontada por aIp6Addresses PRECISA persistir e permanecer inalterada após retornar desta função (com OT_ERROR_NONE). O OpenThread salvará o ponteiro na matriz.

Após uma chamada bem-sucedida para esta função, otSrpClientCallback será chamado para informar o status do registro do endereço no servidor SRP.

Chamar essa função desativa o modo automático de endereço do host se ele tiver sido ativado anteriormente de uma chamada bem-sucedida para otSrpClientEnableAutoHostAddress().

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aIp6Addresses
Um ponteiro para a matriz com os endereços IPv6 do host.
[in] aNumAddresses
O número de endereços na matriz aIp6Addresses.
Valores de retorno
OT_ERROR_NONE
A alteração da lista de endereços IPv6 do host foi iniciada. O otSrpClientCallback será chamado para informar o status do registro de endereços com o servidor.
OT_ERROR_INVALID_ARGS
A lista de endereços é inválida (por exemplo, precisa conter pelo menos um endereço).
OT_ERROR_INVALID_STATE
O host está sendo removido e, portanto, não pode alterar o endereço do host.

OtSrpClientSetHostName

otError otSrpClientSetHostName(
  otInstance *aInstance,
  const char *aName
)

Essa função define o rótulo do nome do host.

Após uma chamada bem-sucedida para esta função, otSrpClientCallback será chamado para informar o status do registro de informações do host com o servidor SRP.

O buffer da string de nome apontado por aName PRECISA persistir e permanecer inalterado após retornar dessa função. O OpenThread manterá o ponteiro para a string.

O nome do host pode ser definido antes ou depois do início do cliente, mas antes de as informações do host serem registradas no servidor (as informações do host precisam estar em STATE_TO_ADD ou STATE_REMOVED).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aName
Um ponteiro para string de rótulo de nome de host (NÃO pode ser NULL). O ponteiro para o buffer de string PRECISA persistir e permanecer válido e constante após o retorno dessa função.
Valores de retorno
OT_ERROR_NONE
O marcador do nome do host foi definido.
OT_ERROR_INVALID_ARGS
O aName é NULO.
OT_ERROR_INVALID_STATE
O nome do host já foi definido e registrado no servidor.

OtSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Essa função define o intervalo de lease de chave padrão usado em solicitações de atualização de SRP.

O intervalo padrão é usado apenas para instâncias de otSrpClientService com mKeyLease definido como zero.

Alterar o intervalo de lease não afeta o intervalo de lease aceito dos serviços/host-info já registrados. Ele afeta apenas mensagens de atualização de SRP futuras (por exemplo, adição de novos serviços e/ou atualizações de serviços existentes).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aInterval
O intervalo de locação da chave (em segundos). Se for zero, o valor padrão especificado por OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE será usado.

OtSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Essa função define o intervalo de locação padrão usado nas solicitações de atualização do SRP.

O intervalo padrão é usado apenas para instâncias de otSrpClientService com mLease definido como zero.

Mudar o intervalo de lease não afeta o intervalo de lease aceito dos serviços/host-info já registrados. Ele afeta apenas as mensagens de atualização futuras de SRP (por exemplo, adição de novos serviços e/ou atualizações dos serviços existentes).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aInterval
O intervalo de locação (em segundos). Se for zero, o valor padrão especificado por OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE será usado.

OtSrpClientSetServiceKeyKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta função ativa/desativa o modo de inclusão de registro de chave de serviço".

Quando ativado, o cliente SRP incluirá o registro KEY nas instruções de descrição do serviço nas mensagens de atualização de SRP que ele envia.

Esta função estará disponível quando a configuração de OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE estiver ativada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aEnabled
TRUE para ativar, FALSE para desativar o modo de inclusão de registro de chave de serviço.

OtSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Essa função define o valor TTL em cada registro incluído nas solicitações de atualização do SRP.

A alteração do TTL não afeta o TTL de serviços/host-info já registrados, mas afeta apenas mensagens de atualização de SRP futuras (ou seja, adição de novos serviços e/ou atualizações dos serviços existentes).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aTtl
TTL (em segundos). Se o valor for zero ou maior que o intervalo de locação, o TTL será definido para o intervalo de locação.

OtSrpClientStart

otError otSrpClientStart(
  otInstance *aInstance,
  const otSockAddr *aServerSockAddr
)

Essa função inicia a operação do cliente SRP.

O cliente SRP vai preparar e enviar a mensagem "SRP Update" para o servidor SRP assim que todas as condições a seguir forem atendidas:

Não importa a ordem em que essas funções são chamadas. Quando todas as condições forem atendidas, o cliente SRP aguardará um pequeno atraso antes de preparar uma mensagem de "SRP Update" e enviá-la ao servidor. Esse atraso permite que o usuário adicione vários serviços e/ou endereços IPv6 antes do envio da primeira mensagem de atualização de SRP (garantindo que uma única atualização de SRP seja enviada contendo todas as informações). A configuração OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY especifica o intervalo de atraso.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aServerSockAddr
O endereço de soquete (endereço IPv6 e número da porta) do servidor SRP.
Valores de retorno
OT_ERROR_NONE
A operação do cliente SRP foi iniciada ou já está em execução com o mesmo endereço de soquete do servidor e callback.
OT_ERROR_BUSY
O cliente SRP está ocupado com um endereço de soquete diferente.
OT_ERROR_FAILED
Falha ao abrir/conectar o soquete UDP do cliente.

OtSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Essa função interrompe a operação do cliente SRP.

Essa função interrompe outras interações com o servidor SRP. Não remove ou apaga informações do host e/ou lista de serviços. Marca todos os serviços a serem adicionados/removidos quando o cliente é (re)iniciado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.

OtSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Essa função retorna o modo de endereço usado pelo servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O modo de endereço do servidor SRP.

OtSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Essa função retorna o número de sequência usado com o modo de endereço Anycast.

O número sequencial está incluído na entrada "DNS/SRP de serviço Anycast" publicada nos dados da rede.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O número da sequência Anycast.

OtSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Essa função retorna o domínio autorizado ao servidor SRP.

Se o domínio não definido por SetDomain, "default.service.arpa." será retornado. Um ponto final é sempre anexado, mesmo que o domínio esteja definido sem ele.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Um ponteiro para a string de domínio conjunto por pontos.

OtSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Essa função retorna as configurações de servidor SRP LEASE e KEY-LEASE.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aLeaseConfig
Um ponteiro para uma instância otSrpServerLeaseConfig.

OtSrpServerGetNextHost

const otSrpServerHost * otSrpServerGetNextHost(
  otInstance *aInstance,
  const otSrpServerHost *aHost
)

Essa função retorna o próximo host registrado no servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHost
Um ponteiro para o host atual. Use NULL para conseguir o primeiro host.
Retorna
Um ponteiro para o host registrado. NULL, caso não seja possível encontrar mais hosts.

OtSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Essa função retorna a porta que o servidor SRP está detectando.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
A porta do servidor SRP. Ele retornará 0 se o servidor não estiver em execução.

OtSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Essa função retorna os contadores de resposta do servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Um ponteiro para os contadores de resposta do servidor SRP.

OtSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Essa função retorna o estado do servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O estado atual do servidor SRP.

OtSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Essa função retorna a configuração do TTL do servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aTtlConfig
Um ponteiro para uma instância otSrpServerTtlConfig.

OtSrpServerHandleServiceUpdateResult

void otSrpServerHandleServiceUpdateResult(
  otInstance *aInstance,
  otSrpServerServiceUpdateId aId,
  otError aError
)

Esta função informa o resultado do processamento de uma atualização de SRP para o servidor de SRP.

O gerenciador de atualizações de serviço precisa chamar essa função para retornar o resultado do processamento de uma atualização de SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aId
O ID da transação de atualização do serviço. Precisa ser o mesmo informado por otSrpServerServiceUpdateHandler.
[in] aError
Um erro a ser retornado ao servidor SRP. Use OT_ERROR_DUPLICATED para representar conflitos de nome de DNS.

Serviço OtSrpServerHostFindNext

const otSrpServerService * otSrpServerHostFindNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aPrevService,
  otSrpServerServiceFlags aFlags,
  const char *aServiceName,
  const char *aInstanceName
)

Essa função encontra o próximo serviço correspondente no host.

A combinação de sinalizações e nomes de serviços e instâncias permite iterar a lista completa de serviços e/ou um subconjunto deles que atendem a determinadas condições ou encontrar um serviço específico.

Para iterar todos os serviços de um host: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);

Para iterar somente em serviços base (excluir subtipos): service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);

Para iterar os subtipos de um nome de instância específico instanceName: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);

Para encontrar um serviço específico com o nome do serviço serviceName e o nome da instância de serviço instanceName: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);

Para encontrar o serviço de tipo base com um determinado nome de instância de serviço instanceName: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);

Detalhes
Parâmetros
[in] aHost
Um ponteiro para o host de serviço do SRP (NÃO DEVE ser NULL).
[in] aPrevService
Um ponteiro para o serviço anterior ou NULL para começar do início da lista.
[in] aFlags
Sinalizações que indicam quais serviços incluir (base/subtipo, ativo/excluído).
[in] aServiceName
O nome do serviço a ser correspondente. Defina como NULL para aceitar qualquer nome.
[in] aInstanceName
O nome da instância de serviço para correspondência. Defina como NULL para aceitar qualquer nome.
Retorna
Um ponteiro para o próximo serviço correspondente ou NULL, se nenhum serviço correspondente for encontrado.

OtSrpServerHostGetAddresses

const otIp6Address * otSrpServerHostGetAddresses(
  const otSrpServerHost *aHost,
  uint8_t *aAddressesNum
)

Essa função retorna os endereços do host especificado.

Detalhes
Parâmetros
[in] aHost
Um ponteiro para o host do serviço SRP.
[out] aAddressesNum
Um ponteiro para o qual o número de endereços precisa ser gerado.
Retorna
Um ponteiro para a matriz de endereços IPv6.

OtSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Essa função retorna o nome completo do host.

Detalhes
Parâmetros
[in] aHost
Um ponteiro para o host do serviço SRP.
Retorna
Um ponteiro para a string de nome de host com terminação nula.

OtSrpServerHostGetLeaseInfo

void otSrpServerHostGetLeaseInfo(
  const otSrpServerHost *aHost,
  otSrpServerLeaseInfo *aLeaseInfo
)

Essa função retorna as informações de LEASE e KEY-LEASE de um determinado host.

Detalhes
Parâmetros
[in] aHost
Um ponteiro para o host do servidor SRP.
[out] aLeaseInfo
Um ponteiro para onde gerar as informações de LEASE e KEY-LEASE.

OtSrpServerHostGetNextService

const otSrpServerService * otSrpServerHostGetNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aService
)

Essa função retorna o próximo serviço (excluindo qualquer tipo de serviço) do host em questão.

Detalhes
Parâmetros
[in] aHost
Um ponteiro para o host do serviço SRP.
[in] aService
Um ponteiro para a instância de serviço SRP atual. Use NULL para receber o primeiro serviço.
Retorna
Um ponteiro para o próximo serviço ou NULL se não houver mais serviços.

OtSrpServerHostIsExcluído

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Essa função informa se o host de serviço SRP foi excluído.

Um host de serviço SRP pode ser excluído, mas mantém o nome dele para usos futuros. Nesse caso, a instância do host não é removida do servidor/registro SRP.

Detalhes
Parâmetros
[in] aHost
Um ponteiro para o host do serviço SRP.
Retorna
Verdadeiro se o host tiver sido excluído. Caso contrário, será FALSO.

OtSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Esta função indica se o modo de ativação automática está ativado ou desativado.

Esta função requer o recurso OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
TRUE
O modo de ativação automática está ativado.
FALSE
O modo de ativação automática está desativado.

OtSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

Essa função retorna o nome completo da instância do serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
Um ponteiro para a string de nome da instância de serviço com terminação nula.

OtSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Essa função retorna o host em que a instância de serviço reside.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
Um ponteiro para a instância do host.

OtSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Essa função retorna o nome completo da instância do serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
Um ponteiro para a string de nome da instância de serviço com terminação nula.

OtSrpServerServiceGetLeaseInfo

void otSrpServerServiceGetLeaseInfo(
  const otSrpServerService *aService,
  otSrpServerLeaseInfo *aLeaseInfo
)

Essa função retorna as informações de LEASE e KEY-LEASE de um determinado serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço do servidor SRP.
[out] aLeaseInfo
Um ponteiro para onde gerar as informações de LEASE e KEY-LEASE.

OtSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Essa função retorna a porta da instância de serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
A porta do serviço.

OtSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Essa função retorna a prioridade da instância de serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
É a prioridade do serviço.

OtSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Essa função retorna o nome completo do serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
Um ponteiro para a string de nome de serviço terminada em nulo.

OtSrpServerServiceGetServiceSubTypeLabel

otError otSrpServerServiceGetServiceSubTypeLabel(
  const otSrpServerService *aService,
  char *aLabel,
  uint8_t aMaxSize
)

Essa função recebe o rótulo do subtipo do nome do serviço.

Ela é usada quando o aService é um subtipo, ou seja, otSrpServerServiceIsSubType() para o serviço retorna TRUE. Se não for um subtipo, esta função retornará OT_ERROR_INVALID_ARGS.

O nome completo de um subtipo de serviço segue "._sub...". Essa função copia o para o buffer aLabel.

O aLabel garante que seja sempre terminado em nulo após retornar mesmo em caso de falha.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
[out] aLabel
Um ponteiro para um buffer para copiar o nome do rótulo do subtipo.
[in] aMaxSize
Tamanho máximo do buffer do aLabel.
Valores de retorno
OT_ERROR_NONE
O aLabel foi atualizado.
OT_ERROR_NO_BUFS
O rótulo do subtipo não cabia no buffer aLabel. O número de caracteres do rótulo que poderia caber são copiados em aLabel, garantindo que ele seja encerrado como nulo.
OT_ERROR_INVALID_ARGS
O serviço SRP não é um subtipo.

OtSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Essa função retorna o TTL da instância de serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
O TTL da instância de serviço.

OtSrpServerServiceGetTxtData

const uint8_t * otSrpServerServiceGetTxtData(
  const otSrpServerService *aService,
  uint16_t *aDataLength
)

Essa função retorna os dados do registro TXT da instância de serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
[out] aDataLength
Um ponteiro para retornar o tamanho dos dados do registro TXT. NÃO PRECISA ser NULL.
Retorna
Um ponteiro para o buffer que contém os dados do registro TXT. O tamanho dos dados TXT é retornado em aDataLength.

OtSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Essa função retorna o peso da instância de serviço.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
O peso do serviço.

OtSrpServerServiceIsExcluído

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Esta função indica se o serviço SRP foi excluído ou não.

Um serviço SRP pode ser excluído, mas mantém o nome para usos futuros. Nesse caso, a instância de serviço não é removida do servidor/registro SRP. Todos os serviços serão excluídos se o host for excluído.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
Verdadeiro se o serviço tiver sido excluído. Caso contrário, é FALSO.

OtSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

Essa função indica se o serviço SRP é um subtipo.

Detalhes
Parâmetros
[in] aService
Um ponteiro para o serviço SRP.
Retorna
VERDADEIRO se o serviço for um subtipo, FALSO se não for.

OtSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Essa função define o modo de endereço a ser usado pelo servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMode
O modo de endereço a ser usado.
Valores de retorno
OT_ERROR_NONE
O modo de endereço foi definido.
OT_ERROR_INVALID_STATE
O servidor SRP está ativado, e o modo de endereço não pode ser alterado.

OtSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Essa função define o número de sequência usado com o modo de endereço Anycast.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSequenceNumber
O número da sequência a ser usado.
Valores de retorno
OT_ERROR_NONE
O modo de endereço foi definido.
OT_ERROR_INVALID_STATE
O servidor SRP está ativado e o número sequencial não pode ser alterado.

OtSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

Esta função ativa/desativa o modo de ativação automática no servidor SRP.

Esta função requer o recurso OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Quando esse modo está ativado, o Border Routing Manager controla se/quando ativar ou desativar o servidor SRP. O servidor SRP é ativado automaticamente se/quando o roteamento de borda é iniciado e é feito com o prefixo inicial e as configurações de rota (quando os prefixos OMR e on-link são determinados, anunciados na mensagem de publicidade do roteador emitido no lado da infraestrutura e publicados nos dados da rede Thread). O servidor SRP será desativado automaticamente se/quando a BR for interrompida (por exemplo, se a interface de rede da infraestrutura for desativada ou se a BR for removida).

Esse modo pode ser desativado por uma chamada de otSrpServerSetAutoEnableMode() com aEnabled definido como false ou se o servidor SRP estiver explicitamente ativado ou desativado por uma chamada para a função de otSrpServerSetEnabled(). Desativar o modo de ativação automática usando otSrpServerSetAutoEnableMode(false) não vai mudar o estado atual do servidor de SRP (por exemplo, se estiver ativado, ele permanecerá ativado).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnbaled
Um booleano para ativar/desativar o modo de ativação automática.

OtSrpServerSetDomain

otError otSrpServerSetDomain(
  otInstance *aInstance,
  const char *aDomain
)

Essa função define o domínio no servidor SRP.

Um ponto final será anexado a aDomain se ainda não estiver lá. Esta função só deve ser chamada antes da ativação do servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aDomain
O domínio a ser definido. NÃO PRECISA ser NULL.
Valores de retorno
OT_ERROR_NONE
O domínio foi definido como aDomain.
OT_ERROR_INVALID_STATE
O servidor SRP já está ativado e não é possível alterar o domínio.
OT_ERROR_INVALID_ARGS
O argumento aDomain não é um nome de domínio de DNS válido.
OT_ERROR_NO_BUFS
Não há memória para armazenar conteúdo de aDomain.

OtSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta função ativa/desativa o servidor SRP.

Em um roteador de borda, é recomendável usar otSrpServerSetAutoEnableMode().

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnabled
Um booleano para ativar/desativar o servidor SRP.

OtSrpServerSetLeaseConfig

otError otSrpServerSetLeaseConfig(
  otInstance *aInstance,
  const otSrpServerLeaseConfig *aLeaseConfig
)

Esta função define as configurações de servidor SRP LEASE e KEY-LEASE.

Quando um tempo de LEASE diferente de zero é solicitado de um cliente, o valor concedido é limitado no intervalo [aMinLease, aMaxLease], e um KEY-LEASE diferente de zero é concedido no intervalo [aMinKeyLease, aMaxKeyLease]. Para os horários zero LEASE ou KEY-LEASE, nenhum valor será atribuído.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aLeaseConfig
Um ponteiro para uma instância otSrpServerLeaseConfig.
Valores de retorno
OT_ERROR_NONE
Os intervalos LEASE e KEY-LEASE foram definidos.
OT_ERROR_INVALID_ARGS
O intervalo de LEASE ou KEY-LEASE não é válido.

OtSrpServerSetServiceUpdateHandler

void otSrpServerSetServiceUpdateHandler(
  otInstance *aInstance,
  otSrpServerServiceUpdateHandler aServiceHandler,
  void *aContext
)

Essa função define o gerenciador de atualizações do serviço SRP no servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aServiceHandler
Um ponteiro para um gerenciador de serviço. Use NULL para remover o gerenciador.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.

OtSrpServerSetTtlConfig

otError otSrpServerSetTtlConfig(
  otInstance *aInstance,
  const otSrpServerTtlConfig *aTtlConfig
)

Esta função define a configuração do TTL do servidor SRP.

O TTL concedido sempre será maior que o intervalo máximo de locação configurado por otSrpServerSetLeaseConfig(), independentemente da configuração de TTL mínima e máxima.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aTtlConfig
Um ponteiro para uma instância otSrpServerTtlConfig.
Valores de retorno
OT_ERROR_NONE
A configuração do TTL foi definida.
OT_ERROR_INVALID_ARGS
A configuração de TTL não é válida.

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.