O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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 estão disponíveis apenas quando o recurso OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE está habilitado.

Enumerações

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
}
enum
Esta enumeração especifica um estado de item de cliente SRP (informações de serviço ou host).

Typedefs

otSrpClientAutoStartCallback )(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Este 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
Esta estrutura representa uma entrada do pool de serviço do cliente SRP.
otSrpClientCallback )(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Este 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 typedef
Esta estrutura representa as informações do host do cliente SRP.
otSrpClientService typedef
Esta estrutura representa um serviço de cliente SRP.
otSrpServerHost typedef
void
Este tipo opaco representa um host de serviço SRP.
otSrpServerLeaseConfig typedef
Essa estrutura inclui as configurações LEASE e KEY-LEASE do servidor SRP.
otSrpServerService typedef
void
Este tipo opaco representa um serviço SRP.
otSrpServerServiceUpdateHandler )(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Esta função lida com atualizações de serviço SRP.
otSrpServerServiceUpdateId typedef
uint32_t
O 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 de cliente SRP.
otSrpClientBuffersGetHostNameString ( otInstance *aInstance, uint16_t *aSize)
char *
Esta função obtém o buffer de string a ser usado para o nome de host do cliente SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Esta 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.
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 inicialização automática.
otSrpClientEnableAutoStartMode ( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Esta função ativa o modo de inicialização automática.
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)
Esta função obtém as informações do host.
otSrpClientGetKeyLeaseInterval ( otInstance *aInstance)
uint32_t
Esta função obtém o intervalo de concessão de chave usado em solicitações de atualização de SRP.
otSrpClientGetLeaseInterval ( otInstance *aInstance)
uint32_t
Esta função obtém o intervalo de concessão usado nas solicitações de atualização SRP.
otSrpClientGetServerAddress ( otInstance *aInstance)
const otSockAddr *
Esta função obtém o endereço de soquete (endereço IPv6 e número da porta) do servidor SRP que está sendo usado pelo cliente SRP.
otSrpClientGetServices ( otInstance *aInstance)
Esta função obtém a lista de serviços gerenciados pelo cliente.
otSrpClientIsAutoStartModeEnabled ( otInstance *aInstance)
bool
Esta função indica o estado atual do modo de partida automática (habilitado ou desabilitado).
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)
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 cancelado no servidor.
otSrpClientSetCallback ( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Esta função define o retorno de chamada para notificar o chamador de 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 define / 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
Esta função define o intervalo de concessão de chave usado em solicitações de atualização SRP.
otSrpClientSetLeaseInterval ( otInstance *aInstance, uint32_t aInterval)
void
Esta função define o intervalo de concessão usado nas solicitações de atualização 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.
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 LEASE e KEY-LEASE do servidor SRP.
otSrpServerGetNextHost ( otInstance *aInstance, const otSrpServerHost *aHost)
Esta função retorna o próximo host registrado no 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.
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)
Esta função retorna o próximo serviço 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 do serviço.
otSrpServerServiceGetHost (const otSrpServerService *aService)
Esta função retorna o host em que reside a instância de serviço.
otSrpServerServiceGetPort (const otSrpServerService *aService)
uint16_t
Esta função retorna a porta da instância do serviço.
otSrpServerServiceGetPriority (const otSrpServerService *aService)
uint16_t
Esta função retorna a prioridade da instância do serviço.
otSrpServerServiceGetTxtData (const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Esta função retorna os dados do registro TXT da instância do 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 informa se o serviço SRP foi excluído.
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 ativa / desativa o servidor SRP.
otSrpServerSetLeaseConfig ( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Esta função define as configurações 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.

Structs

otSrpClientBuffersServiceEntry

Esta estrutura representa uma entrada do pool de serviço do cliente SRP.

otSrpClientHostInfo

Esta estrutura representa as informações do host do cliente SRP.

otSrpClientService

Esta estrutura representa um serviço de cliente SRP.

otSrpServerLeaseConfig

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

Enumerações

otSrpClientItemState

 otSrpClientItemState

Esta enumeração especifica um estado de item de 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

O item foi 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 (registre-se novamente para renovar o aluguel).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Item a ser removido.

Typedefs

otSrpClientAutoStartCallback

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

Este 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á habilitado.

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
[in] aSeverSockAddress
Um ponteiro não NULL indica que o servidor SRP foi iniciado e o ponteiro fornecerá o endereço de 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 retorno de chamada foi registrado).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Esta estrutura representa uma entrada do pool de serviço do cliente SRP.

otSrpClientCallback

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

Este 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 (ou seja, 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 a solicitação ou o cliente atinge o tempo limite aguardando uma 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 membro mState correspondente da estrutura de dados relacionada (o estado que indica se as informações / serviço do host estão registrados ou removidos ou ainda sendo adicionados / removidos, 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 otSrpClientGetServices() os serviços removidos não serão presente na lista devolvida). 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 SRP, o código de resposta DNS (RFC 2136) será mapeado para os seguintes erros:

  • (0) NOERROR Sucesso (sem condição de erro) -> OT_ERROR_NONE
  • (1) Servidor FORMERR 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) NOTIMP Server não suporta o tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) RECUSADO Servidor recusado por razões 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 tem autoridade para a zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Um nome não está na zona -> OT_ERROR_PARSE
  • (20) Mau nome de BADNAME -> OT_ERROR_PARSE
  • (21) BADALG Algoritmo ruim -> OT_ERROR_SECURITY
  • (22) BADTRUN Truncamento ruim -> 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 ao aguardar a resposta do servidor (o cliente continuaria a tentar novamente).
  • OT_ERROR_INVALID_ARGS: A estrutura de serviço fornecida é inválida (por exemplo, nome de serviço otDnsTxtEntry ou otDnsTxtEntry ).
  • OT_ERROR_NO_BUFS: Buffer insuficiente para preparar ou enviar a mensagem de atualização.

Observe que em caso de 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 nova tentativa começa do 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
[in] aError
O erro (veja acima).
[in] aHostInfo
Um ponteiro para informações do host.
[in] aService
O chefe da lista vinculada contendo todos os serviços (excluindo os removidos). NULL se a lista estiver vazia.
[in] aRemovedServices
O chefe da lista vinculada contendo todos os serviços removidos. NULL se a lista estiver vazia.
[in] aContext
Um ponteiro para um contexto arbitrário (fornecido quando o retorno de chamada foi registrado).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Esta estrutura representa as informações do host do cliente SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Esta estrutura representa um serviço de cliente SRP.

Os valores nesta estrutura, incluindo os buffers de string para os nomes e as entradas de registro TXT, DEVEM persistir e permanecer constantes após uma instância dessa estrutura ser passada para OpenThread de otSrpClientAddService() ou otSrpClientRemoveService() .

otSrpServerHost

void otSrpServerHost

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

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

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

otSrpServerService

void otSrpServerService

Este tipo opaco representa um serviço SRP.

otSrpServerServiceUpdateHandler

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

Esta função lida com atualizações de serviço SRP.

Esta 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 aTimeout 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 Advertising Proxy deve anunciar (ou remover) o host e os serviços em um link compatível com multicast e retorna o código de erro específico se ocorrer alguma falha.

Detalhes
Parâmetros
[in] aId
O ID da transação de atualização do serviço. Esse ID deve ser passado de volta com otSrpServerHandleServiceUpdateResult .
[in] aHost
Um ponteiro para o objeto otSrpServerHost que contém as atualizações SRP. O manipulador deve publicar / cancelar a publicação do host e cada serviço aponta para este host com as regras abaixo:
  1. Se o host não for excluído (indicado por otSrpServerHostIsDeleted ), ele deve ser publicado ou atualizado com mDNS. Caso contrário, o host não deve ser publicado (remova AAAA RRs).
  2. Para cada serviço que aponta para este host, a publicação deve ser cancelada se a publicação do host for cancelada. Caso contrário, o manipulador deve 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 manipulador processar o evento de serviço.
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
Veja também:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

O 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 sendo 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 do serviço.

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

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

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 maneira:

  • mService.mName apontará para um buffer de string alocado que pode ser recuperado usando a função otSrpClientBuffersGetServiceEntryServiceNameString() .
  • mService.mInstanceName apontará para um buffer de string alocado que pode ser recuperado usando a função otSrpClientBuffersGetServiceEntryInstanceNameString() .
  • mService.mTxtEntries apontará para mTxtEntry .
  • 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ção otSrpClientBuffersGetServiceEntryTxtBuffer() .
  • mTxtEntry.mValueLength é definido como zero.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
Devoluções
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
)

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

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

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Esta função libera uma entrada de serviço previamente alocada.

O aService DEVE ser alocado anteriormente usando otSrpClientBuffersAllocateService() e ainda não liberado. Caso contrário, o comportamento desta função é indefinido.

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

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 de cliente SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
[out] aArrayLength
Ponteiro para uma variável para retornar o comprimento da matriz, ou seja, o número de entradas de endereço IPv6 na matriz (NÃO DEVE ser NULL).
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 de host do cliente SRP.

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

otSrpClientBuffersGetServiceEntryInstanceNameString

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

Esta 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
[in] aEntry
Um ponteiro para uma entrada de serviço previamente alocada (NÃO DEVE ser NULL).
[out] aSize
Um ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer de string (NÃO DEVE ser NULL).
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
[in] aEntry
Um ponteiro para uma entrada de serviço alocada anteriormente (NÃO DEVE ser NULL).
[out] aSize
Um ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer de string (NÃO DEVE ser NULL).
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
[in] aEntry
Um ponteiro para uma entrada de serviço previamente alocada (NÃO DEVE ser NULL).
[out] aSize
Um ponteiro para uma variável para retornar o tamanho (número de bytes) do buffer (NÃO DEVE ser NULL).
Devoluções
Um ponteiro para o buffer.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Esta 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, esta 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 OpenThread.

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 de 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 esta função, o otSrpClientCallback NÃO será chamado e a entrada aService pode ser recuperada e reutilizada pelo chamador imediatamente.

Esta função pode ser usada junto com uma chamada subsequente para otSrpClientAddService() (potencialmente 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 OpenThread.
[in] aService
Um ponteiro para uma instância otSrpClientService a ser excluída.
Valores Retornados
OT_ERROR_NONE
O aService foi excluído com sucesso. Pode ser recuperado e reutilizado 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 inicialização automática.

Isso está disponível apenas quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitado.

Desativar o 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 do thread para verificar se o servidor SRP selecionado ainda está presente nele.

Observe que uma chamada para otSrpClientStop() também desativará o modo de inicialização automática.

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

otSrpClientEnableAutoStartMode

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

Esta função ativa o modo de inicialização automática.

Isso está disponível apenas quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitado.

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á habilitado ou desabilitado no início da pilha OT).

Quando a inicialização automática está habilitada, o cliente SRP monitora os Thread Network Data para entradas de serviço do servidor SRP e inicia e interrompe automaticamente o cliente quando um servidor SRP é 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 foi descoberto ou não nos dados da rede do segmento. Nesse caso, apenas uma otSrpClientStop() explícita otSrpClientStop() interromperá o cliente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
[in] aCallback
Um retorno de chamada para notificar quando o cliente é iniciado / interrompido automaticamente. Pode ser NULL se não for necessário.
[in] aContext
Um contexto a ser passado ao invocar aCallback .

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

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 OpenThread.
Devoluções
A string do nome de domínio.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Esta função obtém as informações do host.

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

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Esta função obtém o intervalo de concessão de chave usado em solicitações de atualização de SRP.

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

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

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Esta função obtém o intervalo de concessão usado nas solicitações de atualização SRP.

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
Devoluções
O intervalo de aluguel (em segundos).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Esta função obtém o endereço de 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 é especificado (todo zero) com número de porta zero.

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

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Esta função obtém a lista de serviços gerenciados pelo cliente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
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 partida automática (habilitado ou desabilitado).

Isso está disponível apenas quando o recurso de inicialização automática OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
Devoluções
TRUE se o modo de partida automática estiver habilitado, 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
[in] aInstance
Um ponteiro para a instância OpenThread.
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
[in] aInstance
Um ponteiro para a instância OpenThread.
Devoluções
TRUE se o modo "inclusão de registro de chave de serviço" estiver habilitado, FALSE caso contrário.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

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

Detalhes
Parâmetros
[in] aItemState
Um estado de item.
Devoluções
Uma representação de string de aItemState .

otSrpClientRemoveHostAndServices

otError otSrpClientRemoveHostAndServices(
  otInstance *aInstance,
  bool aRemoveKeyLease
)

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 que remove a concessão de chave associada ao host no servidor. Caso contrário, o registro de aluguel da chave é mantido como antes, o que garante que o servidor mantenha o nome do host em reserva para quando o cliente puder fornecer e registrar novamente seu (s) serviço (s).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
[in] aRemoveKeyLease
Um booleano que indica se a concessão da chave do host também deve ser removida.
Valores Retornados
OT_ERROR_NONE
A remoção das informações e serviços do host foi iniciada com sucesso. O otSrpClientCallback será chamado para relatar o status.
OT_ERROR_ALREADY
As informações do host já foram removidas.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Esta função solicita o cancelamento do registro de um serviço 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 sendo apontada por aService DEVE persistir e permanecer inalterada após retornar desta função (com OT_ERROR_NONE ). OpenThread manterá a instância do serviço durante o processo de remoção. Somente após o otSrpClientCallback ser chamado, indicando que a instância do 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 OpenThread.
[in] aService
Um ponteiro para uma instância otSrpClientService a ser removida.
Valores Retornados
OT_ERROR_NONE
A remoção do serviço foi iniciada com sucesso. O otSrpClientCallback será chamado para relatar 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 retorno de chamada para notificar o chamador de eventos / alterações do cliente SRP.

O cliente SRP permite que um único retorno de chamada seja registrado. Portanto, chamadas consecutivas para esta função substituirão quaisquer funções de retorno de chamada definidas anteriormente.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
[in] aCallback
O retorno de chamada para notificar sobre eventos e mudanças. Pode 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
)

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

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 do cliente ser 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
[in] aInstance
Um ponteiro para a instância OpenThread.
[in] aName
Um ponteiro para a string do nome de domínio. Se NULL define como padrão "default.service.arpa".
Valores Retornados
OT_ERROR_NONE
O rótulo do nome de domínio foi definido com sucesso.
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 lidando com uma solicitação de remoção de um anterior chamada para otSrpClientRemoveHostAndServices() e informações de acolhimento continuam a ser em qualquer STATE_TO_REMOVE ou STATE_REMOVING estados).

A matriz de endereço IPv6 do host apontada por aAddresses DEVE persistir e permanecer inalterada após retornar 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 com o servidor SRP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância OpenThread.
[in] aAddresses
Um ponteiro para um array contendo os endereços IPv6 do host.
[in] aNumAddresses
O número de endereços na matriz aAddresses .
Valores Retornados
OT_ERROR_NONE
A alteração da lista de endereços IPv6 do host foi iniciada com êxito. O otSrpClientCallback será chamado para relatar o status do registro de endereços no servidor.
OT_ERROR_INVALID_ARGS
A lista de endereços é inválida (por exemplo, deve 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
)

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

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

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 do host pode ser definido antes do cliente ser 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_REMOVED ).

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

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Esta função define o intervalo de concessão de chave usado em solicitações de atualização SRP.

Alterar o intervalo de aluguel não afeta o intervalo de aluguel aceito de serviços / informações de host já registrados. Afeta apenas quaisquer mensagens de atualização SRP futuras (ou seja, 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 OpenThread.
[in] aInterval
O intervalo de concessão da chave (em segundos). Se zero, o valor padrão especificado por OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE seria usado.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Esta função define o intervalo de aluguel usado nas solicitações de atualização SRP.

Alterar o intervalo de aluguel não afeta o intervalo de aluguel aceito de serviços / informações de host já registrados. Afeta apenas quaisquer mensagens de atualização 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 OpenThread.
[in] aInterval
O intervalo de aluguel (em segundos). Se zero, o valor padrão especificado por OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE seria usado.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

Quando habilitado, o cliente SRP incluirá o registro KEY nas Instruções de Descrição do Serviço nas mensagens de atualização SRP que ele enviar.

Esta função está disponível quando a configuração OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está habilitada.

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

otSrpClientStart

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

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

O cliente SRP irá preparar e enviar a mensagem "SRP Update" para o servidor SRP assim que todas as seguintes condições 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 "Atualização SRP" 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 SRP (garantindo que uma única atualização 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 OpenThread.
[in] aServerSockAddr
O endereço do soquete (endereço IPv6 e número da porta) do servidor SRP.
Valores Retornados
OT_ERROR_NONE
A operação do cliente SRP foi iniciada com êxito ou já está em execução com o mesmo endereço de soquete do servidor e retorno de chamada.
OT_ERROR_BUSY
O cliente SRP está ocupado executando com um endereço de soquete diferente.
OT_ERROR_FAILED
Failed to open/connect the client's UDP socket.

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
[in] aInstance
A pointer to the OpenThread instance.

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
[in] aInstance
A pointer to an OpenThread instance.
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
[in] aInstance
A pointer to an OpenThread instance.
[out] aLeaseConfig
A pointer to an otSrpServerLeaseConfig instance.

otSrpServerGetNextHost

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

This function returns the next registered host on the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aHost
A pointer to current host; use NULL to get the first host.
Returns
A pointer to the registered host. NULL, if no more hosts can be found.

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
[in] aInstance
A pointer to an OpenThread instance.
[in] aId
The service update transaction ID. This should be the same ID provided via otSrpServerServiceUpdateHandler .
[in] aError
An error to be returned to the SRP server. Use OT_ERROR_DUPLICATED to represent DNS name conflicts.

otSrpServerHostGetAddresses

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

This function returns the addresses of given host.

Details
Parameters
[in] aHost
A pointer to the SRP service host.
[out] aAddressesNum
A pointer to where we should output the number of the addresses to.
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
[in] aHost
A pointer to the SRP service host.
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 of given host.

Details
Parameters
[in] aHost
A pointer to the SRP service host.
[in] aService
A pointer to current SRP service instance; use NULL to get the first service.
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
[in] aHost
A pointer to the SRP service host.
Returns
TRUE if the host has been deleted, FALSE if not.

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

This function returns the full name of the service.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
A pointer to the null-terminated service name string.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

This function returns the host which the service instance reside on.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
A pointer to the host instance.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

This function returns the port of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
The port of the service.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

This function returns the priority of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
The priority of the service.

otSrpServerServiceGetTxtData

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

This function returns the TXT record data of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
[out] aDataLength
A pointer to return the TXT record data length. MUST NOT be NULL.
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
[in] aService
A pointer to the SRP service.
Returns
The weight of the service.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

This function tells if 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
[in] aService
A pointer to the SRP service.
Returns
TRUE if the service has been deleted, FALSE if not.

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
[in] aInstance
A pointer to an OpenThread instance.
[in] aDomain
The domain to be set. MUST NOT be NULL.
Return Values
OT_ERROR_NONE
Successfully set the domain to aDomain .
OT_ERROR_INVALID_STATE
The SRP server is already enabled and the Domain cannot be changed.
OT_ERROR_INVALID_ARGS
The argument aDomain is not a valid DNS domain name.
OT_ERROR_NO_BUFS
There is no memory to store content of aDomain .

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

This function enables/disables the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aEnabled
A boolean to enable/disable the SRP server.

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
[in] aInstance
A pointer to an OpenThread instance.
[in] aLeaseConfig
A pointer to an otSrpServerLeaseConfig instance.
Return Values
OT_ERROR_NONE
Successfully set the LEASE and KEY-LEASE ranges.
OT_ERROR_INVALID_ARGS
The LEASE or KEY-LEASE range is not valid.

otSrpServerSetServiceUpdateHandler

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

This function sets the SRP service updates handler on SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aServiceHandler
A pointer to a service handler. Use NULL to remove the handler.
[in] aContext
A pointer to arbitrary context information. May be NULL if not used.