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ços.
As funções deste módulo só estão disponíveis quando o recurso OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE está habilitado.
Enumerações | |
---|---|
anonymous enum { | enumerar |
anonymous enum { | enumerar |
otSrpClientItemState { | enumerar Essa enumeração especifica um estado de item de cliente SRP (serviço ou informações de host). |
otSrpServerAddressMode { | enumerar Essa enumeração representa o modo de endereço usado pelo servidor SRP. |
otSrpServerState { | enumerar Representa o estado de um servidor SRP. |
Typedefs | |
---|---|
otSrpClientAutoStartCallback )(const otSockAddr *aServerSockAddr, void *aContext) | typedefvoid(* Esse tipo de ponteiro de função define o retorno de chamada usado pelo cliente SRP para notificar o usuário quando ele é iniciado ou interrompido automaticamente. |
otSrpClientBuffersServiceEntry | typedef Essa estrutura representa uma entrada do pool de serviços do cliente SRP. |
otSrpClientCallback )(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) | typedefvoid(* Esse tipo de ponteiro de função define o retorno de chamada usado pelo cliente SRP para notificar o usuário sobre alterações/eventos/erros. |
otSrpClientHostInfo | typedefstruct otSrpClientHostInfo Essa estrutura representa uma informação de host do cliente SRP. |
otSrpClientService | typedefstruct otSrpClientService Essa estrutura representa um serviço de cliente SRP. |
otSrpServerAddressMode | typedef Essa enumeração representa o modo de endereço usado pelo servidor SRP. |
otSrpServerHost | typedefstruct otSrpServerHost Esse tipo opaco representa um host de serviço SRP. |
otSrpServerLeaseConfig | typedefstruct otSrpServerLeaseConfig Essa estrutura inclui as configurações de LEASE e KEY-LEASE do servidor SRP. |
otSrpServerService | typedefstruct otSrpServerService Este tipo opaco representa um serviço SRP. |
otSrpServerServiceFlags | typedefuint8_t O tipo de sinalizador de serviço para indicar quais serviços incluir ou excluir ao pesquisar (ou iterar) na lista de serviços SRP. |
otSrpServerServiceUpdateHandler )(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) | typedefvoid(* Esta função trata das atualizações do serviço SRP. |
otSrpServerServiceUpdateId | typedefuint32_t A ID de uma transação de atualização de serviço SRP no servidor SRP. |
Funções | |
---|---|
otSrpClientAddService ( otInstance *aInstance, otSrpClientService *aService) | Esta função adiciona um serviço a ser registrado no servidor. |
otSrpClientBuffersAllocateService ( otInstance *aInstance) | Esta função aloca uma nova entrada de serviço do pool. |
otSrpClientBuffersFreeAllServices ( otInstance *aInstance) | void Esta função libera todas as entradas de serviço alocadas anteriormente. |
otSrpClientBuffersFreeService ( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService) | void Esta função libera uma entrada de serviço previamente alocada. |
otSrpClientBuffersGetHostAddressesArray ( otInstance *aInstance, uint8_t *aArrayLength) | Esta função obtém a matriz de entradas de endereço IPv6 para usar como lista de endereços de host do cliente SRP. |
otSrpClientBuffersGetHostNameString ( otInstance *aInstance, uint16_t *aSize) | char * Esta função obtém 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 obtém o buffer de string para o nome da instância de serviço de uma entrada de serviço. |
otSrpClientBuffersGetServiceEntryServiceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize) | char * Esta função obtém o buffer de string para o nome do serviço de uma entrada de serviço. |
otSrpClientBuffersGetServiceEntryTxtBuffer ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize) | uint8_t * Esta função obtém o buffer para o registro TXT de uma entrada de serviço. |
otSrpClientBuffersGetSubTypeLabelsArray ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength) | const char ** Essa função obtém a matriz para rótulos de subtipo de serviço da entrada de serviço. |
otSrpClientClearHostAndServices ( otInstance *aInstance) | void Esta função limpa todas as informações do host e todos os serviços. |
otSrpClientClearService ( otInstance *aInstance, otSrpClientService *aService) | Esta 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. |
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 obtém o nome de domínio que está sendo usado pelo cliente SRP. |
otSrpClientGetHostInfo ( otInstance *aInstance) | const otSrpClientHostInfo * Esta função obtém as informações do host. |
otSrpClientGetKeyLeaseInterval ( otInstance *aInstance) | uint32_t Essa função obtém o intervalo de concessão de chave usado nas solicitações de atualização de SRP. |
otSrpClientGetLeaseInterval ( otInstance *aInstance) | uint32_t Essa função obtém o intervalo de concessão usado nas solicitações de atualização do SRP. |
otSrpClientGetServerAddress ( otInstance *aInstance) | const otSockAddr * Esta função obtém 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) | const otSrpClientService * Esta função obtém a lista de serviços que estão sendo gerenciados pelo cliente. |
otSrpClientIsAutoStartModeEnabled ( otInstance *aInstance) | bool Esta função indica o estado atual do modo de inicialização automática (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 Este método indica se o modo "inclusão de registro de chave de serviço" está habilitado ou desabilitado. |
otSrpClientItemStateToString ( otSrpClientItemState aItemState) | const char * Esta função converte um otSrpClientItemState em uma string. |
otSrpClientRemoveHostAndServices ( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer) | Esta 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 que um serviço seja desregistrado no servidor. |
otSrpClientSetCallback ( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext) | void Esta função define o retorno de chamada para notificar o chamador sobre eventos/alterações do cliente SRP. |
otSrpClientSetDomainName ( otInstance *aInstance, const char *aName) | Esta função define o nome de domínio a ser usado pelo cliente SRP. |
otSrpClientSetHostAddresses ( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses) | Esta função configura/atualiza a lista de endereços IPv6 do host. |
otSrpClientSetHostName ( otInstance *aInstance, const char *aName) | Esta função define o rótulo do nome do host. |
otSrpClientSetKeyLeaseInterval ( otInstance *aInstance, uint32_t aInterval) | void Essa função define o intervalo de concessão de chave usado nas solicitações de atualização de SRP. |
otSrpClientSetLeaseInterval ( otInstance *aInstance, uint32_t aInterval) | void Essa função define o intervalo de concessão usado nas solicitações de atualização do SRP. |
otSrpClientSetServiceKeyRecordEnabled ( otInstance *aInstance, bool aEnabled) | void Esta função ativa/desativa o modo "inclusão de registro de chave de serviço". |
otSrpClientStart ( otInstance *aInstance, const otSockAddr *aServerSockAddr) | Esta função inicia a operação do cliente SRP. |
otSrpClientStop ( otInstance *aInstance) | void Esta função interrompe a operação do cliente SRP. |
otSrpServerGetAddressMode ( otInstance *aInstance) | Esta função retorna o modo de endereço que está sendo usado pelo servidor SRP. |
otSrpServerGetAnycastModeSequenceNumber ( otInstance *aInstance) | uint8_t Esta função retorna o número de sequência usado com o modo de endereço anycast. |
otSrpServerGetDomain ( otInstance *aInstance) | const char * Esta função retorna o domínio autorizado ao servidor SRP. |
otSrpServerGetLeaseConfig ( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig) | void Esta função retorna as configurações de LEASE e KEY-LEASE do servidor SRP. |
otSrpServerGetNextHost ( otInstance *aInstance, const otSrpServerHost *aHost) | const otSrpServerHost * Esta função retorna o próximo host registrado no servidor SRP. |
otSrpServerGetState ( otInstance *aInstance) | Esta função retorna o estado do servidor SRP. |
otSrpServerHandleServiceUpdateResult ( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError) | void Esta função relata o resultado do processamento de uma atualização SRP para o servidor SRP. |
otSrpServerHostFindNextService (const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName) | const otSrpServerService * Esta função encontra o próximo serviço correspondente no host. |
otSrpServerHostGetAddresses (const otSrpServerHost *aHost, uint8_t *aAddressesNum) | const otIp6Address * Esta função retorna os endereços de um determinado host. |
otSrpServerHostGetFullName (const otSrpServerHost *aHost) | const char * Esta função retorna o nome completo do host. |
otSrpServerHostGetNextService (const otSrpServerHost *aHost, const otSrpServerService *aService) | const otSrpServerService * Esta função retorna o próximo serviço (excluindo quaisquer serviços de subtipo) de determinado host. |
otSrpServerHostIsDeleted (const otSrpServerHost *aHost) | bool Esta função informa se o host do serviço SRP foi excluído. |
otSrpServerServiceGetFullName (const otSrpServerService *aService) | const char * Esta função retorna o nome completo da instância de serviço do serviço. |
otSrpServerServiceGetHost (const otSrpServerService *aService) | const otSrpServerHost * Essa função retorna o host no qual a instância de serviço reside. |
otSrpServerServiceGetInstanceName (const otSrpServerService *aService) | const char * Esta função retorna o nome completo da instância de serviço do serviço. |
otSrpServerServiceGetPort (const otSrpServerService *aService) | uint16_t Esta função retorna a porta da instância de serviço. |
otSrpServerServiceGetPriority (const otSrpServerService *aService) | uint16_t Esta função retorna a prioridade da instância de serviço. |
otSrpServerServiceGetServiceName (const otSrpServerService *aService) | const char * Esta função retorna o nome completo do serviço. |
otSrpServerServiceGetServiceSubTypeLabel (const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize) | Esta função obtém o rótulo do subtipo do nome do 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 Esta 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 Esta função indica se o serviço SRP é ou não de subtipo. |
otSrpServerSetAddressMode ( otInstance *aInstance, otSrpServerAddressMode aMode) | Esta função define o modo de endereço a ser usado pelo servidor SRP. |
otSrpServerSetAnycastModeSequenceNumber ( otInstance *aInstance, uint8_t aSequenceNumber) | Esta função define o número de sequência usado com o modo de endereço anycast. |
otSrpServerSetDomain ( otInstance *aInstance, const char *aDomain) | Esta função define o domínio no servidor SRP. |
otSrpServerSetEnabled ( otInstance *aInstance, bool aEnabled) | void Esta função habilita/desabilita o servidor SRP. |
otSrpServerSetLeaseConfig ( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig) | Esta função define as configurações de LEASE e KEY-LEASE do servidor SRP. |
otSrpServerSetServiceUpdateHandler ( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext) | void Esta função define o manipulador de atualizações do serviço SRP no servidor SRP. |
Estruturas | |
---|---|
otSrpClientBuffersServiceEntry | Essa estrutura representa uma entrada do pool de serviços do cliente SRP. |
otSrpClientHostInfo | Essa estrutura representa uma informação de host do cliente SRP. |
otSrpClientService | Essa estrutura representa um serviço de cliente SRP. |
otSrpServerLeaseConfig | Essa estrutura inclui as configurações de LEASE e KEY-LEASE do servidor SRP. |
Enumerações
enumeração anônima
anonymous enum
enumeração anônima
anonymous enum
otSrpClientItemState
otSrpClientItemState
Essa enumeração especifica um estado de item de cliente SRP (serviço ou informações de host).
otSrpServerAddressMode
otSrpServerAddressMode
Essa 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 de rede de 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
Typedefs
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
Esse tipo de ponteiro de função define o retorno de chamada usado pelo cliente SRP para notificar o usuário quando ele é iniciado ou interrompido automaticamente.
Isso só é usado quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
está ativado.
Esse retorno de chamada é invocado quando o modo de inicialização automática está habilitado e o cliente SRP é iniciado ou interrompido automaticamente.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
Essa estrutura representa uma entrada do pool de serviços do cliente 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 retorno de chamada usado pelo cliente SRP para notificar o usuário sobre alterações/eventos/erros.
Este retorno de chamada é invocado em um registro bem-sucedido de uma atualização (por exemplo, adicionar/remover informações do host e/ou alguns serviços) com o servidor SRP, ou se houver uma falha ou erro (por exemplo, o servidor rejeita uma atualização solicitação ou cliente expira esperando por resposta, etc).
No caso de um novo registro bem-sucedido de uma atualização, o parâmetro aError
seria OT_ERROR_NONE
e as informações do host e a lista completa de serviços são fornecidas como parâmetros de entrada para o retorno de chamada. Observe que as informações e serviços do host rastreiam seu próprio estado na variável de membro mState
correspondente da estrutura de dados relacionada (o estado que indica se o host-info/serviço está registrado ou removido ou ainda está sendo adicionado/removido, etc).
A lista de serviços removidos é passada como sua própria lista vinculada aRemovedServices
no retorno de chamada. Observe que quando o retorno de chamada é invocado, o cliente SRP (implementação OpenThread) é feito com as instâncias de serviço removidas listadas em aRemovedServices
e não as rastreia/armazena mais (ou seja, se do retorno de chamada chamamos otSrpClientGetServices()
os serviços removidos não serão presente na lista retornada). Fornecer uma lista separada de serviços removidos no retorno de chamada ajuda a indicar ao usuário quais itens foram removidos e permite que o usuário reivindique/reutilize as instâncias.
Se o servidor rejeitar uma solicitação de atualização do SRP, o código de resposta do DNS (RFC 2136) será mapeado para os seguintes erros:
- (0) NOERROR Sucesso (sem condição de erro) -> OT_ERROR_NONE
- (1) FORMERR Server incapaz de interpretar devido a erro de formato -> OT_ERROR_PARSE
- (2) O servidor SERVFAIL encontrou uma falha interna -> OT_ERROR_FAILED
- (3) NXDOMAIN Nome que deveria existir, não existe -> OT_ERROR_NOT_FOUND
- (4) O NOTIMP Server não suporta o tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
- (5) REFUSED Servidor recusado por motivos de política/segurança -> OT_ERROR_SECURITY
- (6) YXDOMAIN Algum nome que não deveria existir, existe -> OT_ERROR_DUPLICATED
- (7) YXRRSET Algum RRset que não deveria existir, existe -> OT_ERROR_DUPLICATED
- (8) NXRRSET Algum RRset que deveria existir, não existe -> OT_ERROR_NOT_FOUND
- (9) O serviço NOTAUTH não é autoritativo para a zona -> OT_ERROR_SECURITY
- (10) NOTZONE Um nome não está na zona -> OT_ERROR_PARSE
- (20) BADNAME Nome inválido -> OT_ERROR_PARSE
- (21) BADALG Algoritmo incorreto -> OT_ERROR_SECURITY
- (22) BADTRUN Truncamento incorreto -> OT_ERROR_PARSE
- Outros códigos de resposta -> OT_ERROR_FAILED
Os seguintes erros também são possíveis:
- OT_ERROR_RESPONSE_TIMEOUT: Tempo limite esgotado aguardando resposta do servidor (o cliente continuaria tentando novamente).
- OT_ERROR_INVALID_ARGS : A estrutura de serviço fornecida é inválida (por exemplo, nome de serviço incorreto ou
otDnsTxtEntry
). - OT_ERROR_NO_BUFS : Buffer insuficiente para preparar ou enviar a mensagem de atualização.
Observe que em caso de alguma falha, o cliente continua a operação, ou seja, prepara e (re)transmite a mensagem de atualização do SRP para o servidor, após algum intervalo de espera. O intervalo de espera de repetição começa no 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 obter mais detalhes).
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
otSrpClientHostInfo
struct otSrpClientHostInfo otSrpClientHostInfo
Essa estrutura representa uma informação de host do cliente SRP.
otSrpClientService
struct otSrpClientService otSrpClientService
Essa estrutura representa um serviço de cliente SRP.
Os valores nessa estrutura, incluindo os buffers de string para os nomes e as entradas do registro TXT, DEVEM persistir e permanecer constantes após uma instância dessa estrutura ser passada para OpenThread de otSrpClientAddService()
ou otSrpClientRemoveService()
.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
Essa 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 de rede de thread.
otSrpServerHost
struct otSrpServerHost otSrpServerHost
Esse tipo opaco representa um host de serviço SRP.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
Essa estrutura inclui as configurações de LEASE e KEY-LEASE do servidor SRP.
otSrpServerService
struct otSrpServerService otSrpServerService
Este tipo opaco representa um serviço SRP.
otSrpServerServiceFlags
uint8_t otSrpServerServiceFlags
O tipo de sinalizador de serviço para indicar quais serviços incluir ou excluir ao pesquisar (ou iterar) na lista de serviços SRP.
Esta é uma combinação de sinalizadores de bits. Os bit-flags específicos são definidos na enumeração OT_SRP_SERVER_FLAG_*
.
otSrpServerServiceUpdateHandler
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
Esta função trata das 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 SRP não sejam confirmadas até que o manipulador retorne o resultado chamando otSrpServerHandleServiceUpdateResult ou expire após aTimeout
.
Um observador de serviço SRP deve sempre chamar otSrpServerHandleServiceUpdateResult com o código de erro OT_ERROR_NONE imediatamente após receber os eventos de atualização.
Um manipulador mais genérico pode realizar validações no host/serviços SRP e rejeitar as atualizações SRP se alguma validação falhar. Por exemplo, um Proxy de Publicidade deve 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 alguma falha.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId
uint32_t otSrpServerServiceUpdateId
A ID de uma transação de atualização de serviço SRP no servidor SRP.
Funções
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
Esta função adiciona um serviço a ser registrado no servidor.
Após uma chamada bem-sucedida para esta função, otSrpClientCallback
será chamado para relatar o status da adição/registro do serviço com o servidor SRP.
A instância otSrpClientService
apontada por aService
DEVE persistir e permanecer inalterada após retornar desta função (com OT_ERROR_NONE
). OpenThread salvará o ponteiro para a instância de serviço.
A instância otSrpClientService
não é mais rastreada pelo OpenThread e pode ser recuperada somente quando
- Ele é removido explicitamente por uma chamada para
otSrpClientRemoveService()
ou removido junto com outros serviços por uma chamada paraotSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback` ser chamado indicando que o serviço foi removido. Ou, - Uma chamada para
otSrpClientClearHostAndServices()
que remove o host e todos os serviços relacionados imediatamente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Valores de retorno |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
Esta função aloca uma nova entrada de serviço do pool.
A instância de entrada de serviço retornada será inicializada da seguinte forma:
-
mService.mName
apontará para um buffer de string alocado que pode ser recuperado usando a funçãootSrpClientBuffersGetServiceEntryServiceNameString()
. -
mService.mInstanceName
apontará para um buffer de string alocado que pode ser recuperado usando a funçãootSrpClientBuffersGetServiceEntryInstanceNameString()
. -
mService.mSubTypeLabels
aponta para uma matriz que é retornada deotSrpClientBuffersGetSubTypeLabelsArray()
. -
mService.mTxtEntries
apontará paramTxtEntry
. -
mService.mNumTxtEntries
será definido como um. - Outros campos
mService
(porta, prioridade, peso) são definidos como zero. -
mTxtEntry.mKey
é definido como NULL (o valor é tratado como já codificado). -
mTxtEntry.mValue
apontará para um buffer alocado que pode ser recuperado usando a funçãootSrpClientBuffersGetServiceEntryTxtBuffer()
. -
mTxtEntry.mValueLength
é definido como zero. - Todos os buffers e arrays de dados/string relacionados são zerados.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Um ponteiro para a entrada de serviço recém-alocada ou NULL se não houver mais entrada disponível no pool. |
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
Esta função libera todas as entradas de serviço alocadas anteriormente.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
Esta função libera uma entrada de serviço previamente alocada.
O aService
DEVE ser previamente alocado usando otSrpClientBuffersAllocateService()
e ainda não liberado. Caso contrário, o comportamento desta função é indefinido.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
Esta função obtém a matriz de entradas de endereço IPv6 para usar como lista de endereços de host do cliente SRP.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | Um ponteiro para uma matriz de entradas otIp6Address (o número de entradas é retornado em aArrayLength ). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
Esta função obtém o buffer de string a ser usado para o nome do host do cliente SRP.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | Um ponteiro para char buffer a ser usado para o nome do host do cliente SRP. |
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Essa função obtém o buffer de string para o nome da instância de serviço de uma entrada de serviço.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | Um ponteiro para o buffer de string. |
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Esta função obtém o buffer de string para o nome do serviço de uma entrada de serviço.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | Um ponteiro para o buffer de string. |
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Esta função obtém o buffer para o registro TXT de uma entrada de serviço.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | Um ponteiro para o buffer. |
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
Essa função obtém a matriz para rótulos de subtipo de serviço da entrada de serviço.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | Um ponteiro para a matriz. |
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
Esta função limpa todas as informações do host e todos os serviços.
Ao contrário otSrpClientRemoveHostAndServices()
que envia uma mensagem de atualização ao servidor para remover todas as informações, esta função limpa todas as informações imediatamente sem qualquer interação com o servidor.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
Esta função limpa um serviço, removendo-o imediatamente da lista de serviços do cliente.
Ao contrário otSrpClientRemoveService()
que envia uma mensagem de atualização ao servidor para remover o serviço, esta 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 pelo chamador imediatamente.
Essa função pode ser usada junto com uma chamada subsequente para otSrpClientAddService()
(potencialmente reutilizando a mesma entrada aService
com o mesmo serviço e nomes de instância) para atualizar alguns dos parâmetros em um serviço existente.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Valores de retorno |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
Esta função desativa o modo de início automático.
Isso só está disponível quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
está ativado.
A desativação do modo de inicialização automática não interromperá o cliente se ele já estiver em execução, mas o cliente interromperá o monitoramento dos dados de rede de thread para verificar se o servidor SRP selecionado ainda está presente nele.
Observe que uma chamada para otSrpClientStop()
também desabilitará o modo de inicialização automática.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
otSrpClientEnableAutoStartMode
void otSrpClientEnableAutoStartMode( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext )
Esta função ativa o modo de início automático.
Isso só está disponível quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
está ativado.
A opção de configuração OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE
especifica o modo de inicialização automática padrão (se está ativado ou desativado no início da pilha OT).
Quando a inicialização automática está habilitada, o cliente SRP monitorará os dados de rede de thread para entradas de serviço de servidor SRP e iniciará e interromperá automaticamente o cliente quando um servidor SRP for detectado.
Se vários servidores SRP forem encontrados, um aleatório será selecionado. Se o servidor SRP selecionado não for mais detectado (não estiver mais presente nos dados da rede de threads), o cliente SRP será interrompido e poderá alternar para outro servidor SRP (se disponível).
Quando o cliente SRP é iniciado explicitamente por meio de uma chamada bem-sucedida para otSrpClientStart()
, o endereço do servidor SRP fornecido em otSrpClientStart()
continuará a ser usado independentemente do estado do modo de inicialização automática e se o mesmo endereço do servidor SRP for descoberto ou não nos dados da rede de threads. Nesse caso, apenas uma chamada explícita otSrpClientStop()
interromperá o cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
Esta função obtém o nome de domínio que está sendo usado pelo cliente SRP.
Esta função requer que OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
esteja habilitada.
Se o nome de domínio não for definido, "default.service.arpa" será usado.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | A cadeia de caracteres do nome de domínio. |
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
Esta função obtém as informações do host.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Um ponteiro para hospedar a estrutura de informações. |
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
Essa função obtém o intervalo de concessão de chave usado nas solicitações de atualização de SRP.
Observe que esta é a duração da concessão solicitada pelo cliente SRP. O servidor pode optar por aceitar um intervalo de concessão diferente.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | O intervalo de concessão da chave (em segundos). |
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
Essa função obtém o intervalo de concessão usado nas solicitações de atualização do SRP.
Observe que esta é a duração da concessão solicitada pelo cliente SRP. O servidor pode optar por aceitar um intervalo de concessão diferente.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | O intervalo de concessão (em segundos). |
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
Esta função obtém 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 estiver em execução, o endereço não será especificado (todo zero) com número de porta zero.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Um ponteiro para o endereço de soquete do servidor SRP (é sempre não NULL). |
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
Esta função obtém a lista de serviços que estão sendo gerenciados pelo cliente.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Um ponteiro para o cabeçalho da lista vinculada de todos os serviços ou NULL se a lista estiver vazia. |
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
Esta função indica o estado atual do modo de inicialização automática (ativado ou desativado).
Isso só está disponível quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
está ativado.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | TRUE se o modo de inicialização automática estiver ativado, FALSE caso contrário. |
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
Esta função indica se o cliente SRP está em execução ou não.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | TRUE se o cliente SRP estiver em execução, FALSE caso contrário. |
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
Este método indica se o modo "inclusão de registro de chave de serviço" está habilitado ou desabilitado.
Esta função está disponível quando a configuração OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
está habilitada.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | TRUE se o modo "inclusão de registro de chave de serviço" estiver ativado, FALSE caso contrário. |
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
Esta função converte um otSrpClientItemState
em uma string.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Uma representação de string de aItemState . |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
Esta função inicia o processo de remoção das informações do host e de todos os serviços.
Após retornar desta função, otSrpClientCallback
será chamado para relatar o status da solicitação de remoção com o servidor SRP.
Se as informações do host devem ser removidas permanentemente do servidor, aRemoveKeyLease
deve ser definido como true
, o que remove a concessão de chave associada ao host no servidor. Caso contrário, o registro de concessão de chave é mantido como antes, o que garante que o servidor mantenha o nome do host em reserva para quando o cliente puder novamente fornecer e registrar seu(s) serviço(s).
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
(que é o valor padrão/esperado), o cliente SRP removerá imediatamente as informações e os serviços do host sem enviar uma mensagem de atualização ao servidor (não é necessário atualizar o servidor se ainda não houver nada registrado). Se aSendUnregToServer
for definido como true
, o cliente SRP enviará uma mensagem de atualização ao servidor. Observe que, se as informações do host estiverem 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 é em uma reinicialização/reinicialização do dispositivo, o chamador pode querer remover quaisquer serviços registrados anteriormente com o servidor. Nesse caso, o chamador pode otSrpClientSetHostName()
e, em seguida, solicitar otSrpClientRemoveHostAndServices()
com aSendUnregToServer
como true
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Valores de retorno |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
Esta função solicita que um serviço seja desregistrado no servidor.
Após uma chamada bem-sucedida para esta função, otSrpClientCallback
será chamado para relatar o status da solicitação de remoção com o servidor SRP.
A instância otSrpClientService
apontada por aService
DEVE persistir e permanecer inalterada após retornar desta função (com OT_ERROR_NONE
). O OpenThread manterá a instância de serviço durante o processo de remoção. Somente depois que otSrpClientCallback
é chamado, indicando 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 |
| ||||
Valores de retorno |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
Esta função define o retorno de chamada para notificar o chamador sobre eventos/alterações do cliente SRP.
O cliente SRP permite que um único retorno de chamada seja registrado. Portanto, chamadas consecutivas para essa função substituirão quaisquer funções de retorno de chamada definidas anteriormente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otSrpClientSetDomainName
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
Esta função define o nome de domínio a ser usado pelo cliente SRP.
Esta função requer que OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
esteja habilitada.
Se não for definido "default.service.arpa" será usado.
O buffer de string de nome apontado por aName
DEVE persistir e permanecer inalterado após retornar desta função. OpenThread manterá o ponteiro para a string.
O nome de domínio pode ser definido antes que o cliente seja iniciado ou após o início, mas antes que as informações do host sejam registradas no servidor (as informações do host devem estar em STATE_TO_ADD
ou STATE_TO_REMOVE
).
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Valores de retorno |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
Esta função configura/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 lidando com uma solicitação de remoção de um chamada 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
DEVE persistir e permanecer inalterada após o retorno desta função (com OT_ERROR_NONE
). OpenThread salvará o ponteiro para a matriz.
Após uma chamada bem-sucedida para esta função, otSrpClientCallback
será chamado para relatar o status do registro do endereço no servidor SRP.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Valores de retorno |
|
otSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
This function sets the host name label.
After a successful call to this function, otSrpClientCallback
will be called to report the status of host info registration with SRP server.
The name string buffer pointed to by aName
MUST persist and stay unchanged after returning from this function. OpenThread will keep the pointer to the string.
The host name can be set before client is started or after start but before host info is registered with server (host info should be in either STATE_TO_ADD
or STATE_REMOVED
).
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
| ||||||
Return Values |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
This function sets the key lease interval used in SRP update requests.
Changing the lease interval does not impact the accepted lease interval of already registered services/host-info. It only affects any future SRP update messages (ie, adding new services and/or refreshes of existing services).
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
This function sets the lease interval used in SRP update requests.
Changing the lease interval does not impact the accepted lease interval of already registered services/host-info. It only affects any future SRP update messages (ie, adding new services and/or refreshes of the existing services).
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
This function enables/disables "service key record inclusion" mode.
When enabled, SRP client will include KEY record in Service Description Instructions in the SRP update messages that it sends.
This function is available when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
configuration is enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
This function starts the SRP client operation.
SRP client will prepare and send "SRP Update" message to the SRP server once all the following conditions are met:
- The SRP client is started -
otSrpClientStart()
is called. - Host name is set -
otSrpClientSetHostName()
is called. - At least one host IPv6 address is set -
otSrpClientSetHostName()
is called. - At least one service is added -
otSrpClientAddService()
is called.
It does not matter in which order these functions are called. When all conditions are met, the SRP client will wait for a short delay before preparing an "SRP Update" message and sending it to server. This delay allows for user to add multiple services and/or IPv6 addresses before the first SRP Update message is sent (ensuring a single SRP Update is sent containing all the info). The config OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
specifies the delay interval.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
| ||||||
Return Values |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
This function stops the SRP client operation.
This function stops any further interactions with the SRP server. Note that it does not remove or clear host info and/or list of services. It marks all services to be added/removed again once the client is (re)started.
Details | |||
---|---|---|---|
Parameters |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
This function returns the address mode being used by the SRP server.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | The SRP server's address mode. |
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
This function returns the sequence number used with anycast address mode.
The sequence number is included in "DNS/SRP Service Anycast Address" entry published in the Network Data.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | The anycast sequence number. |
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
This function returns the domain authorized to the SRP server.
If the domain if not set by SetDomain, "default.service.arpa." will be returned. A trailing dot is always appended even if the domain is set without it.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | A pointer to the dot-joined domain string. |
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
This function returns SRP server LEASE and KEY-LEASE configurations.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
This function returns the next registered host on the SRP server.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns | A pointer to the registered host. NULL, if no more hosts can be found. |
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
This function returns the state of the SRP server.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | The current state of the SRP server. |
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
This function reports the result of processing a SRP update to the SRP server.
The Service Update Handler should call this function to return the result of its processing of a SRP update.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otSrpServerHostFindNextService
const otSrpServerService * otSrpServerHostFindNextService( const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName )
This function finds the next matching service on the host.
The combination of flags and service and instance names enables iterating over the full list of services and/or a subset of them matching certain conditions, or finding a specific service.
To iterate over all services of a host: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);
To iterate over base services only (exclude sub-types): service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);
To iterate over sub-types of a specific instance name instanceName
: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);
To find a specific service with service name serviceName
and service instance name instanceName
: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);
To find the base type service with a given service instance name instanceName
: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
| ||||||||||
Returns | A pointer to the next matching service or NULL if no matching service could be found. |
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
This function returns the addresses of given host.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns | A pointer to the array of IPv6 Address. |
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
This function returns the full name of the host.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | A pointer to the null-terminated host name string. |
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
This function returns the next service (excluding any sub-type services) of given host.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns | A pointer to the next service or NULL if there is no more services. |
otSrpServerHostIsDeleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
This function tells if the SRP service host has been deleted.
A SRP service host can be deleted but retains its name for future uses. In this case, the host instance is not removed from the SRP server/registry.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | TRUE if the host has been deleted, FALSE if not. |
otSrpServerServiceGetFullName
const char * otSrpServerServiceGetFullName( const otSrpServerService *aService )
This function returns the full service instance name of the service.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | A pointer to the null-terminated service instance name string. |
otSrpServerServiceGetHost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
This function returns the host which the service instance reside on.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | A pointer to the host instance. |
otSrpServerServiceGetInstanceName
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
This function returns the full service instance name of the service.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | A pointer to the null-terminated service instance name string. |
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
This function returns the port of the service instance.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | The port of the service. |
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
This function returns the priority of the service instance.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | The priority of the service. |
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
This function returns the full service name of the service.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | A pointer to the null-terminated service name string. |
otSrpServerServiceGetServiceSubTypeLabel
otError otSrpServerServiceGetServiceSubTypeLabel( const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize )
This function gets the sub-type label from service name.
This function is intended to be used when the aService
is a sub-type, ie, otSrpServerServiceIsSubType()
for the service returns TRUE. If it is not a sub-type this function returns OT_ERROR_INVALID_ARGS
.
The full service name for a sub-type service follows "aLabel
buffer.
The aLabel
is ensured to always be null-terminated after returning even in case of failure.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
| ||||||
Return Values |
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
This function returns the TXT record data of the service instance.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns | A pointer to the buffer containing the TXT record data (the TXT data length is returned in aDataLength ). |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
This function returns the weight of the service instance.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | The weight of the service. |
otSrpServerServiceIsDeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
This function indicates whether or not the SRP service has been deleted.
A SRP service can be deleted but retains its name for future uses. In this case, the service instance is not removed from the SRP server/registry. It is guaranteed that all services are deleted if the host is deleted.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | TRUE if the service has been deleted, FALSE if not. |
otSrpServerServiceIsSubType
bool otSrpServerServiceIsSubType( const otSrpServerService *aService )
This function indicates whether or not the SRP service is sub-type.
Details | |||
---|---|---|---|
Parameters |
| ||
Returns | TRUE if the service is a sub-type, FALSE if not. |
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
This function sets the address mode to be used by the SRP server.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Return Values |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
This function sets the sequence number used with anycast address mode.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Return Values |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
This function sets the domain on the SRP server.
A trailing dot will be appended to aDomain
if it is not already there. This function should only be called before the SRP server is enabled.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
| ||||||||
Return Values |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
This function enables/disables the SRP server.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
This function sets SRP server LEASE and KEY-LEASE configurations.
When a non-zero LEASE time is requested from a client, the granted value will be limited in range [aMinLease, aMaxLease]; and a non-zero KEY-LEASE will be granted in range [aMinKeyLease, aMaxKeyLease]. For zero LEASE or KEY-LEASE time, zero will be granted.
Details | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Return Values |
|
otSrpServerSetServiceUpdateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
This function sets the SRP service updates handler on SRP server.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
Resources
OpenThread API Reference topics originate from the source code, available on GitHub . For more information, or to contribute to our documentation, refer to Resources .