Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

SRP

En este módulo, se incluyen funciones que controlan el comportamiento del cliente de SRP.

Resumen

Este módulo incluye funciones del Protocolo de registro de servicio.

Este módulo incluye funciones para búferes de cliente de SRP y grupos de servicios.

Las funciones de este módulo solo están disponibles cuando la función OPENThread_CONFIG_SRP_CLIENT_BUFFERS_ENABLE está habilitada.

Enumeraciones

anonymous enum{
  OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0,
  OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1,
  OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2,
  OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3
}
enum
anonymous enum{
  OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE)
}
enum
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
En esta enumeración, se especifica un estado de elemento de cliente de SRP (información de host o servicio).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
Esta enumeración representa el modo de dirección que usa el servidor de SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
enum
Representa el estado de un servidor SRP.

Typedefs

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Este tipo de puntero de función define la devolución de llamada que usa el cliente de SRP para notificar al usuario cuando se inicia o se detiene automáticamente.
otSrpClientBuffersServiceEntry typedef
Esta estructura representa una entrada de grupo de servicio del cliente de SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Este tipo de puntero de función define la devolución de llamada que usa el cliente de SRP para notificar al usuario sobre cambios, eventos o errores.
otSrpClientHostInfo typedef
Esta estructura representa la información de un host de cliente de SRP.
otSrpClientService typedef
Esta estructura representa un servicio de cliente de SRP.
otSrpServerAddressMode typedef
Esta enumeración representa el modo de dirección que usa el servidor de SRP.
otSrpServerHost typedef
Este tipo opaco representa un host de servicio de SRP.
otSrpServerLeaseConfig typedef
Esta estructura incluye las configuraciones LEASE de servidor SRP y KEY-LEASE del servidor de SRP.
otSrpServerLeaseInfo typedef
Esta estructura incluye información sobre el alquiler del servidor SRP de un host o servicio.
otSrpServerResponseCounters typedef
Esta estructura incluye las estadísticas de las respuestas del servidor de SRP.
otSrpServerService typedef
Este tipo opaco representa un servicio de SRP.
otSrpServerServiceFlags typedef
uint8_t
El tipo de marca de servicio para indicar qué servicios incluir o excluir cuando se busca en la lista de servicios de SRP (o se realizan iteraciones).
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Esta función controla las actualizaciones del servicio de SRP.
otSrpServerServiceUpdateId typedef
uint32_t
Es el ID de una transacción de actualización del servicio de SRP en el servidor de SRP.
otSrpServerTtlConfig typedef
Esta estructura incluye las configuraciones de TTL del servidor SRP.

Funciones

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Esta función agrega un servicio para registrarse en el servidor.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Esta función asigna una entrada de servicio nueva del grupo.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Esta función libera todas las entradas de servicio asignadas previamente.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Esta función libera una entrada de servicio asignada previamente.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Esta función obtiene el arreglo de entradas de dirección IPv6 para usar como lista de direcciones de host del cliente de SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Esta función obtiene el búfer de strings que se utiliza para el nombre de host del cliente de SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Esta función obtiene el búfer de strings para el nombre de la instancia de servicio de una entrada de servicio.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Esta función obtiene el búfer de strings para el nombre del servicio de una entrada de servicio.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Esta función obtiene el búfer para el registro TXT de una entrada de servicio.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Esta función obtiene el array para las etiquetas de subtipo de servicio de la entrada del servicio.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Esta función borra toda la información del host y todos los servicios.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Esta función borra un servicio, que lo quita de inmediato de la lista de servicios del cliente.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Esta función inhabilita el modo de inicio automático.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Esta función habilita el modo de dirección del host automático.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Esta función habilita el modo de inicio automático.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Con esta función, el cliente SRP usa el nombre de dominio.
otSrpClientGetHostInfo(otInstance *aInstance)
Esta función obtiene la información del host.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Esta función obtiene el intervalo de asignación de claves que se usa en las solicitudes de actualización de SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Esta función obtiene el intervalo de asignación que se usa en las solicitudes de actualización de SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Esta función obtiene la dirección del socket (dirección IPv6 y número de puerto) del servidor SRP que usa el cliente de SRP.
otSrpClientGetServices(otInstance *aInstance)
Con esta función, se obtiene la lista de servicios que administra el cliente.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Esta función obtiene el valor de TTL en cada registro incluido en las solicitudes de actualización de SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Esta función indica el estado actual del modo de inicio automático (habilitado o inhabilitado).
otSrpClientIsRunning(otInstance *aInstance)
bool
Esta función indica si el cliente de SRP se está ejecutando o no.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Este método indica si el modo de inclusión en el registro de la clave de servicio está habilitado o inhabilitado.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Esta función convierte un elemento otSrpClientItemState en una string.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Esta función inicia el proceso de eliminación de la información del host y de todos los servicios.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Esta función solicita que se anule el registro de un servicio en el servidor.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Esta función configura la devolución de llamada para notificar al emisor sobre eventos o cambios de cliente de SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Esta función establece el nombre de dominio que utilizará el cliente de SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Esta función establece o actualiza la lista de direcciones IPv6 del host.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Esta función establece la etiqueta del nombre de host.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Esta función establece el intervalo de asignación de claves que se usa en las solicitudes de actualización de SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Esta función establece el intervalo de arrendamiento que se usa en las solicitudes de actualización de SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Esta función habilita o inhabilita el modo de inclusión en el registro de claves de servicio.
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Esta función establece el valor de TTL en cada registro incluido en las solicitudes de actualización de SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Esta función inicia la operación del cliente de SRP.
otSrpClientStop(otInstance *aInstance)
void
Esta función detiene la operación del cliente de SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Esta función muestra el modo de dirección que utiliza el servidor SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Esta función muestra el número de secuencia que se usa con el modo de dirección Anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Esta función muestra el dominio autorizado para el servidor SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Esta función muestra las configuraciones LEASE y KEY-LEASE del servidor SRP.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Esta función muestra el siguiente host registrado en el servidor SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Esta función muestra el puerto que escucha el servidor SRP.
otSrpServerGetResponseCounters(otInstance *aInstance)
Esta función muestra los contadores de respuesta del servidor SRP.
otSrpServerGetState(otInstance *aInstance)
Esta función muestra el estado del servidor SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Esta función muestra la configuración del TTL del servidor de SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Esta función informa el resultado de procesar una actualización de SRP al servidor de SRP.
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
Esta función encuentra el siguiente servicio coincidente en el host.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Esta función muestra las direcciones de un host determinado.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Esta función muestra el nombre completo del host.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Esta función muestra la información LEASE y KEY-LEASE de un host determinado.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Esta función muestra el siguiente servicio (excepto los servicios de subtipo) de un host determinado.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Esta función indica si se borró el host del servicio de SRP.
otSrpServerServiceGetFullName(const otSrpServerService *aService)
const char *
Esta función muestra el nombre completo de la instancia del servicio.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Esta función muestra el host en el que reside la instancia del servicio.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Esta función muestra el nombre completo de la instancia del servicio.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Esta función muestra la información LEASE y KEY-LEASE de un servicio determinado.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Esta función muestra el puerto de la instancia de servicio.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Esta función muestra la prioridad de la instancia de servicio.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Esta función muestra el nombre completo del servicio.
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
Esta función obtiene la etiqueta de subtipo del nombre del servicio.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Esta función muestra el TTL de la instancia de servicio.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Esta función muestra los datos del registro TXT de la instancia de servicio.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Esta función muestra el peso de la instancia de servicio.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Esta función indica si se borró el servicio de SRP.
otSrpServerServiceIsSubType(const otSrpServerService *aService)
bool
Esta función indica si el servicio de SRP es del subtipo.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Esta función establece el modo de dirección que utilizará el servidor SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Esta función establece el número de secuencia que se usa con el modo de dirección Anycast.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Esta función establece el dominio en el servidor SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Esta función habilita o inhabilita el servidor SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Esta función establece las configuraciones LEASE y KEY-LEASE del servidor SRP.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Esta función establece el controlador de actualizaciones del servicio de SRP en el servidor SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Esta función establece la configuración de TTL del servidor de SRP.

Structs

otSrpClientBuffersServiceEntry

Esta estructura representa una entrada de grupo de servicio del cliente de SRP.

otSrpClientHostInfo

Esta estructura representa la información de un host de cliente de SRP.

otSrpClientService.

Esta estructura representa un servicio de cliente de SRP.

otSrpServerLeaseConfig

Esta estructura incluye las configuraciones LEASE de servidor SRP y KEY-LEASE del servidor de SRP.

otSrpServerLeaseInfo

Esta estructura incluye información sobre el alquiler del servidor SRP de un host o servicio.

otSrpServerResponseCounters

Esta estructura incluye las estadísticas de las respuestas del servidor de SRP.

OtSrpServerTtlConfig

Esta estructura incluye las configuraciones de TTL del servidor SRP.

Enumeraciones

enumeración anónima

 anonymous enum
Propiedades
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

Incluir servicios activos (no borrados).

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

Incluye servicios básicos (no un subtipo).

OT_SRP_SERVER_SERVICE_FLAG_DELETED

Incluye los servicios borrados.

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

Incluyen servicios de subtipo.

enumeración anónima

 anonymous enum
Propiedades
OT_SRP_SERVER_FLAGS_ANY_SERVICE

Esta constante define una combinación otSrpServerServiceFlags que acepta cualquier servicio (base/subtipo, activo/borrado).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

Esta constante define una combinación de otSrpServerServiceFlags que acepta cualquier servicio activo (no borrado).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

Esta constante define una combinación de otSrpServerServiceFlags que acepta cualquier servicio borrado.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

Esta constante define una combinación otSrpServerServiceFlags que solo acepta el servicio base.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

Esta constante define una combinación de otSrpServerServiceFlags que solo acepta servicios de subtipo.

otSrpClientItemState

 otSrpClientItemState

En esta enumeración, se especifica un estado de elemento de cliente de SRP (información de host o servicio).

Propiedades
OT_SRP_CLIENT_ITEM_STATE_ADDING

Se está agregando o registrando el elemento.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

Se está actualizando el elemento.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

El elemento está registrado en el servidor.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Se quitó el elemento.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

Se está quitando el elemento.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Elemento que se agregará o registrará.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Elemento que se actualizará (volver a registrarte para renovar el arrendamiento)

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Se quitará el elemento.

otSrpServerAddressMode

 otSrpServerAddressMode

Esta enumeración representa el modo de dirección que usa el servidor de SRP.

El modo de dirección especifica cómo el servidor SRP determina la dirección y el número de puerto, y cómo se publica esta información en los datos de red de Thread.

Propiedades
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Modo de dirección Anycast.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Modo de dirección unicat

otSrpServerState

 otSrpServerState

Representa el estado de un servidor SRP.

Propiedades
OT_SRP_SERVER_STATE_DISABLED

El servidor de SRP está inhabilitado.

OT_SRP_SERVER_STATE_RUNNING

El servidor de SRP se está ejecutando.

OT_SRP_SERVER_STATE_STOPPED

Se detuvo el servidor de SRP.

Typedefs

otSrpClientAutoStartCallback

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

Este tipo de puntero de función define la devolución de llamada que usa el cliente de SRP para notificar al usuario cuando se inicia o se detiene automáticamente.

Solo se usa cuando la función de inicio automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitada.

Esta devolución de llamada se invoca cuando se habilita el modo de inicio automático y el cliente SRP se inicia o se detiene automáticamente.

Detalles
Parámetros
[in] aServerSockAddr
Un puntero que no es NULL indica que se inició el servidor SRP, y el puntero le dará la dirección del socket del servidor seleccionado. Un puntero NULL indica que el servidor SRP se detuvo.
[in] aContext
Un puntero para un contexto arbitrario (proporcionado cuando se registró la devolución de llamada).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Esta estructura representa una entrada de grupo de servicio del cliente de SRP.

otSrpClientCallback

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

Este tipo de puntero de función define la devolución de llamada que usa el cliente de SRP para notificar al usuario sobre cambios, eventos o errores.

Esta devolución de llamada se invoca cuando se registra correctamente una actualización (es decir, cuando se agrega o se quita información del host o algunos servicios) con el servidor SRP, o si se produce un error o error (p. ej., el servidor rechaza una solicitud de actualización o el tiempo de espera del cliente espera respuesta).

Si se vuelve a registrar correctamente una actualización, el parámetro aError sería OT_ERROR_NONE, y la información del host y la lista completa de servicios se proporcionarán como parámetros de entrada a la devolución de llamada. Ten en cuenta que la información y los servicios del host realizan un seguimiento de su propio estado en la variable de miembro correspondiente mState de la estructura de datos relacionada (el estado que indica si la información o el servicio del host se registró o quitó, o si se está agregando o quitando, etc.).

La lista de servicios quitados se pasa como su propia lista de elementos vinculados aRemovedServices en la devolución de llamada. Ten en cuenta que, cuando se invoca la devolución de llamada, el cliente de SRP (implementación de OpenThread) se realiza con las instancias de servicio quitadas que se enumeran en aRemovedServices y ya no hace un seguimiento ni las almacena (es decir, si, en la devolución de llamada, llamamos a otSrpClientGetServices(), los servicios quitados no estarán presentes en la lista que se muestra). Proporcionar una lista separada de servicios quitados en la devolución de llamada ayuda a indicar al usuario qué elementos se quitan y permite que el usuario vuelva a reclamar o reutilizar las instancias.

Si el servidor rechaza una solicitud de actualización de SRP, se asigna el código de respuesta DNS (RFC 2136) a los siguientes errores:

  • (0) NOERROR correctamente (sin condición de error) -&tt; OT_ERROR_NONE
  • (1) El servidor FORMERR no puede interpretarlo debido al error de formato -> OT_ERROR_PARSE
  • (2) El servidor SERVFAIL detectó un error interno -> OT_ERROR_fail
  • (3) Nombre de NXDOMAIN que debería existir, no existe -> OT_ERROR_NOT_FOUND
  • (4) El servidor NOTIMP no es compatible con el tipo de consulta (Código Op). -&tt; OT_ERROR_NOT_IMPLEMENTED
  • (5) REFUSED Servidor rechazado por cuestiones de seguridad o de políticas -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Algunos nombres que no deberían existir existen -&tt; OT_ERROR_DUPLICATED
  • (7) YXRRSET Algunos RRset que no existen, existen -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Algunos RRset que deberían existir, no existen -> OT_ERROR_NOT_FOUND
  • (9) El servicio NOTAUTH no es confiable para la zona -&tt; OT_ERROR_SECURITY
  • (10) NOTZONE A: el nombre no está en la zona -> OT_ERROR_PARSE
  • (20) BADNAME Nombre incorrecto -> OT_ERROR_PARSE
  • (21) Algoritmo BADALG incorrecto -&tt; OT_ERROR_SECURITY
  • (22) BADTRUN Mal truncado -> OT_ERROR_PARSE
  • Otros códigos de respuesta -&tt; OT_ERROR_fail

Los siguientes errores también son posibles:

  • OT_ERROR_RESPONSE_TIMEOUT : Se agotó el tiempo de espera de respuesta del servidor (el cliente continuaría con el intento).
  • OT_ERROR_INVALID_ARGS : La estructura del servicio proporcionada no es válida (p.ej., nombre de servicio incorrecto o otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : No hay suficiente búfer para preparar o enviar el mensaje de actualización.

Ten en cuenta que, en caso de cualquier falla, el cliente continúa la operación, es decir, prepara y (re)transmite el mensaje de actualización de SRP al servidor, después de un intervalo de espera. El intervalo de espera para reintentar comienza desde el valor mínimo y aumenta con el factor de crecimiento cada falla hasta el valor máximo (consulta el parámetro de configuración OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL y los relacionados para obtener más detalles).

Detalles
Parámetros
[in] aError
El error (ver arriba).
[in] aHostInfo
Un puntero para alojar información.
[in] aServices
Es el encabezado de la lista vinculada que contiene todos los servicios (excepto los que se quitaron). NULL si la lista está vacía.
[in] aRemovedServices
Es el encabezado de la lista vinculada que contiene todos los servicios quitados. NULL si la lista está vacía.
[in] aContext
Un puntero para un contexto arbitrario (proporcionado cuando se registró la devolución de llamada).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Esta estructura representa la información de un host de cliente de SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Esta estructura representa un servicio de cliente de SRP.

Los valores de esta estructura, incluidos los búferes de string de los nombres y las entradas de registro TXT, DEBEN conservar y mantenerse constantes después de pasar una instancia de esta estructura a OpenThread desde otSrpClientAddService() o otSrpClientRemoveService().

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Esta enumeración representa el modo de dirección que usa el servidor de SRP.

El modo de dirección especifica cómo el servidor SRP determina la dirección y el número de puerto, y cómo se publica esta información en los datos de red de Thread.

Host de otSrpServer

struct otSrpServerHost otSrpServerHost

Este tipo opaco representa un host de servicio de SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Esta estructura incluye las configuraciones LEASE de servidor SRP y KEY-LEASE del servidor de SRP.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Esta estructura incluye información sobre el alquiler del servidor SRP de un host o servicio.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Esta estructura incluye las estadísticas de las respuestas del servidor de SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

Este tipo opaco representa un servicio de SRP.

osSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

El tipo de marca de servicio para indicar qué servicios incluir o excluir cuando se busca en la lista de servicios de SRP (o se realizan iteraciones).

Esta es una combinación de marcas de bits. Las marcas de bits específicas se definen en la enumeración OT_SRP_SERVER_FLAG_*.

otSrpServerServiceUpdateHandler

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

Esta función controla las actualizaciones del servicio de SRP.

El servidor de SRP llama a esta función para notificar que un host de SRP y, posiblemente, servicios de SRP se están actualizando. Es importante que las actualizaciones de SRP no se confirmen hasta que el controlador muestre el resultado llamando a otSrpServerHandleServiceUpdateResult o se agote el tiempo de espera después de aTimeout.

Un observador de servicios de SRP siempre debe llamar a otSrpServerHandleServiceUpdateResult con el código de error OT_ERROR_NONE inmediatamente después de recibir los eventos de actualización.

Un controlador más genérico puede realizar validaciones en el host o en los servicios de SRP y, si la validación falla, rechazará las actualizaciones de SRP. Por ejemplo, un proxy de publicidad debe anunciar (o quitar) el host y los servicios en un vínculo compatible con multidifusión y muestra un código de error específico si se produce alguna falla.

Detalles
Parámetros
[in] aId
El ID de transacción de la actualización del servicio. Este ID se debe devolver con otSrpServerHandleServiceUpdateResult.
[in] aHost
Un puntero al objeto otSrpServerHost que contiene actualizaciones de SRP. El controlador debe publicar o anular la publicación del host, y cada servicio apunta a este host con las siguientes reglas:
  1. Si el host no se borra (indicado por otSrpServerHostIsDeleted), se debe publicar o actualizar con mDNS. De lo contrario, se debe anular la publicación del host (quitar las RR de AAAA).
  2. Para cada servicio orientado a este host, no se debe publicar si el host no se debe publicar. De lo contrario, el controlador debe publicar o actualizar el servicio cuando no se borra (indicado por otSrpServerServiceIsDeleted) y anular su publicación cuando se borra.
[in] aTimeout
El tiempo máximo en milisegundos para que el controlador procese el evento de servicio.
[in] aContext
Un puntero para el contexto específico de la aplicación.
Consulta también:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

ID de servicio de otSrpServer

uint32_t otSrpServerServiceUpdateId

Es el ID de una transacción de actualización del servicio de SRP en el servidor de SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

Esta estructura incluye las configuraciones de TTL del servidor SRP.

Funciones

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Esta función agrega un servicio para registrarse en el servidor.

Después de una llamada exitosa a esta función, se llamará a otSrpClientCallback para informar el estado de registro o adición del servicio con el servidor SRP.

La instancia otSrpClientService a la que apunta aService debe conservarse y permanecer intacta después de regresar de esta función (con OT_ERROR_NONE). OpenThread guardará el puntero en la instancia de servicio.

OpenThread ya no realiza un seguimiento de la instancia otSrpClientService; solo se puede recuperar cuando

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para una instancia otSrpClientService que se agregará.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente el servicio. Se llamará a otSrpClientCallback para informar el estado.
OT_ERROR_ALREADY
Ya hay un servicio con el mismo servicio y nombres de instancias en la lista.
OT_ERROR_INVALID_ARGS
La estructura del servicio no es válida (p.ej., nombre de servicio incorrecto o otDnsTxtEntry).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Esta función asigna una entrada de servicio nueva del grupo.

La instancia de entrada del servicio que se muestra se inicializará de la siguiente manera:

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Un puntero a la entrada de servicio recientemente asignada o NULL si no hay más entrada disponible en el grupo.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Esta función libera todas las entradas de servicio asignadas previamente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Esta función libera una entrada de servicio asignada previamente.

aService DEBE asignarse previamente con otSrpClientBuffersAllocateService() y aún no se liberó. De lo contrario, el comportamiento de esta función no está definido.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para la entrada del servicio gratis (NO DEBE ser NULO).

otSrpClientBuffersGetHostAddressesArray

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

Esta función obtiene el arreglo de entradas de dirección IPv6 para usar como lista de direcciones de host del cliente de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[out] aArrayLength
Es un puntero a una variable para mostrar la longitud del arreglo, es decir, la cantidad de entradas de dirección IPv6 en el arreglo (NO DEBE ser NULO).
Qué muestra
Un puntero para un arreglo de entradas otIp6Address (la cantidad de entradas se muestra en aArrayLength).

otSrpClientBuffersGetHostNameString

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

Esta función obtiene el búfer de strings que se utiliza para el nombre de host del cliente de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[out] aSize
Es un puntero a una variable para mostrar el tamaño (número de bytes) del búfer de string (NO DEBE ser NULO).
Qué muestra
Un puntero para el búfer de caracteres que se usará para el nombre de host del cliente de SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

Esta función obtiene el búfer de strings para el nombre de la instancia de servicio de una entrada de servicio.

Detalles
Parámetros
[in] aEntry
Un puntero para una entrada de servicio asignada previamente (NO DEBE ser NULO).
[out] aSize
Un puntero para una variable a fin de mostrar el tamaño (cantidad de bytes) del búfer de string (NO DEBE ser NULO).
Qué muestra
Un puntero para el búfer de strings.

otSrpClientBuffersGetServiceEntryServiceNameString

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

Esta función obtiene el búfer de strings para el nombre del servicio de una entrada de servicio.

Detalles
Parámetros
[in] aEntry
Un puntero para una entrada de servicio asignada previamente (NO DEBE ser NULO).
[out] aSize
Un puntero para una variable a fin de mostrar el tamaño (cantidad de bytes) del búfer de string (NO DEBE ser NULO).
Qué muestra
Un puntero para el búfer de strings.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Esta función obtiene el búfer para el registro TXT de una entrada de servicio.

Detalles
Parámetros
[in] aEntry
Un puntero para una entrada de servicio asignada previamente (NO DEBE ser NULO).
[out] aSize
Un puntero para una variable a fin de mostrar el tamaño (cantidad de bytes) del búfer (NO DEBE ser NULO).
Qué muestra
Un puntero para el búfer.

otSrpClientBuffersGetSubTypeLabelsArray

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

Esta función obtiene el array para las etiquetas de subtipo de servicio de la entrada del servicio.

Detalles
Parámetros
[in] aEntry
Un puntero para una entrada de servicio asignada previamente (NO DEBE ser NULO).
[out] aArrayLength
Un puntero para una variable a fin de mostrar la longitud del arreglo (NO DEBE ser NULO).
Qué muestra
Un puntero para el arreglo.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Esta función borra toda la información del host y todos los servicios.

A diferencia de otSrpClientRemoveHostAndServices(), que envía un mensaje de actualización al servidor para quitar toda la información, esta función borra toda la información de inmediato sin ninguna interacción con el servidor.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Esta función borra un servicio, que lo quita de inmediato de la lista de servicios del cliente.

A diferencia de otSrpClientRemoveService(), que envía un mensaje de actualización al servidor para quitar el servicio, esta función borra el servicio de la lista de servicios del cliente sin que se interactúe con él. En una llamada exitosa a esta función, NO se llamará a otSrpClientCallback, y el emisor podrá recuperar y volver a usar la entrada aService de inmediato.

Esta función se puede usar junto con una llamada posterior a otSrpClientAddService() (posiblemente, se vuelve a usar la misma entrada aService con el mismo servicio y los mismos nombres de instancias) para actualizar algunos de los parámetros de un servicio existente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para una instancia de otSrpClientService que se borrará.
Valores que se muestran
OT_ERROR_NONE
aService se borró correctamente. Puedes volver a reclamarlo y reutilizarlo de inmediato.
OT_ERROR_NOT_FOUND
No se pudo encontrar el servicio en la lista.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Esta función inhabilita el modo de inicio automático.

Solo está disponible cuando la función de inicio automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitada.

Inhabilitar el modo de inicio automático no detendrá al cliente si ya se está ejecutando, pero el cliente dejará de supervisar los datos de la red de Thread para verificar que el servidor SRP seleccionado siga presente en él.

Ten en cuenta que una llamada a otSrpClientStop() también inhabilitará el modo de inicio automático.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Esta función habilita el modo de dirección del host automático.

Cuando se habilita, el cliente de SRP configura automáticamente las direcciones IPv6 del host mediante todas las direcciones de unidifusión de Thread netif que excluyen todas las direcciones locales de vínculo y de malla local. Si no hay una dirección válida, se agrega la dirección del EID local de la malla. El cliente SRP volverá a registrarse automáticamente cuando se actualicen las direcciones de Netif de Thread (si se agregan direcciones nuevas o se quitan las existentes).

El modo de dirección de host automático se puede habilitar antes de iniciar o durante el funcionamiento del cliente de SRP, excepto cuando se quita la información del host (el cliente está ocupado manejando una solicitud de eliminación de una llamada a otSrpClientRemoveHostAndServices() y la información del host aún está en los estados STATE_TO_REMOVE o STATE_REMOVING).

Una vez que se habilita el modo de dirección automática del host, se puede inhabilitar mediante una llamada a otSrpClientSetHostAddresses(), que luego configura de forma explícita las direcciones del host.

Detalles
Valores que se muestran
OT_ERROR_NONE
Se habilitó correctamente el modo de dirección del host automático.
OT_ERROR_INVALID_STATE
Se está quitando el host y, por lo tanto, no se puede habilitar el modo de dirección del host automático.

otSrpClientEnableAutoStartMode

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

Esta función habilita el modo de inicio automático.

Solo está disponible cuando la función de inicio automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitada.

La opción de configuración OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE especifica el modo de inicio automático predeterminado (si está habilitado o inhabilitado al comienzo de la pila de OT).

Cuando se habilita el inicio automático, el cliente de SRP supervisará los datos de la red de Thread para las entradas del servicio de SRP y se iniciará y detendrá automáticamente cuando se detecte un servidor de SRP.

Si se encuentran varios servidores SRP, se seleccionará uno aleatorio. Si ya no se detecta el servidor de SRP seleccionado (que ya no está presente en los datos de la red de Thread), se detendrá el cliente de SRP, que podría cambiar a otro servidor de SRP (si está disponible).

Cuando el cliente SRP se inicie explícitamente mediante una llamada exitosa a otSrpClientStart(), se seguirá usando la dirección del servidor SRP en otSrpClientStart(), independientemente del estado del modo de inicio automático y de si se descubre o no la misma dirección del servidor SRP en los datos de la red de Thread. En este caso, solo una llamada otSrpClientStop() explícita detendrá al cliente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aCallback
Una devolución de llamada para notificar cuando el cliente se inicia o se detiene automáticamente. Puede ser NULO si no es necesario.
[in] aContext
Contexto que se pasará cuando se invoque aCallback

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Con esta función, el cliente SRP usa el nombre de dominio.

Esta función requiere que se habilite OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Si no se establece el nombre de dominio, se usará "default.service.arpa"

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Es la string del nombre de dominio.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Esta función obtiene la información del host.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Un puntero para alojar la estructura de información.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Esta función obtiene el intervalo de asignación de claves que se usa en las solicitudes de actualización de SRP.

Ten en cuenta que esta es la duración del arrendamiento que solicitó el cliente de SRP. El servidor puede aceptar un intervalo de asignación diferente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
El intervalo de arrendamiento de claves (en segundos).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Esta función obtiene el intervalo de asignación que se usa en las solicitudes de actualización de SRP.

Ten en cuenta que esta es la duración del arrendamiento que solicitó el cliente de SRP. El servidor puede aceptar un intervalo de asignación diferente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
El intervalo de arrendamiento (en segundos).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Esta función obtiene la dirección del socket (dirección IPv6 y número de puerto) del servidor SRP que usa el cliente de SRP.

Si el cliente no se está ejecutando, la dirección no está especificada (todos los ceros) y no tiene ningún número de puerto.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Un puntero a la dirección del socket de servidor de SRP (siempre es no NULL).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Con esta función, se obtiene la lista de servicios que administra el cliente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Un puntero al encabezado de la lista vinculada de todos los servicios o NULL si la lista está vacía.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Esta función obtiene el valor de TTL en cada registro incluido en las solicitudes de actualización de SRP.

Ten en cuenta que este es el TTL solicitado por el cliente SRP. El servidor puede aceptar un TTL diferente.

De forma predeterminada, el TTL será igual al intervalo de arrendamiento. Si pasas 0 o un valor mayor que el intervalo de asignación a través de otSrpClientSetTtl(), el TTL también será igual al intervalo de asignación.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
El TTL (en segundos).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Esta función indica el estado actual del modo de inicio automático (habilitado o inhabilitado).

Solo está disponible cuando la función de inicio automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE está habilitada.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
VERDADERO si el modo de inicio automático está habilitado, FALSO en el caso contrario.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Esta función indica si el cliente de SRP se está ejecutando o no.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Se le asigna el valor TRUE si el cliente de SRP se está ejecutando.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Este método indica si el modo de inclusión en el registro de la clave de servicio está habilitado o inhabilitado.

Esta función está disponible cuando se habilita la configuración de OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
VERDADERO si el modo de inclusión de la clave del servicio está habilitado, de lo contrario, está establecido en FALSO.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Esta función convierte un elemento otSrpClientItemState en una string.

Detalles
Parámetros
[in] aItemState
El estado de un artículo.
Qué muestra
Representación de una string de aItemState.

otSrpClientRemoveHostAndServices

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

Esta función inicia el proceso de eliminación de la información del host y de todos los servicios.

Después de regresar de esta función, se llamará a otSrpClientCallback para informar el estado de la solicitud de eliminación con el servidor SRP.

Si la información del host se quitará del servidor de forma permanente, aRemoveKeyLease se debe configurar como true, lo que quita el arrendamiento de claves asociado con el host en el servidor. De lo contrario, el registro de arrendamiento de claves se conserva como antes, lo que garantiza que el servidor mantenga el nombre del host en reserva cuando el cliente pueda volver a proporcionar y registrar sus servicios.

aSendUnregToServer determina el comportamiento cuando la información del host aún no está registrada con el servidor. Si aSendUnregToServer se configura como false (que es el valor predeterminado/esperado), el cliente de SRP quitará de inmediato la información y los servicios del host sin enviar un mensaje de actualización al servidor (no es necesario actualizar el servidor si aún no se registró nada). Si aSendUnregToServer se configura como true, el cliente de SRP enviará un mensaje de actualización al servidor. Ten en cuenta que, si se registra la información del host, el valor de aSendUnregToServer no es importante y el cliente de SRP siempre enviará un mensaje de actualización al servidor para solicitarle que quite toda la información.

Una situación en la que aSendUnregToServer puede resultar útil es cuando se restablece o reinicia el dispositivo; es posible que el emisor quiera quitar cualquier servicio registrado anteriormente con el servidor. En este caso, el llamador puede otSrpClientSetHostName() y, luego, solicitar otSrpClientRemoveHostAndServices() con aSendUnregToServer como true.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aRemoveKeyLease
Un valor booleano que indica si también se debe quitar la asignación de tiempo de la clave de host.
[in] aSendUnregToServer
Un valor booleano que indica si se debe enviar la actualización al servidor cuando no se registra la información del host.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente la eliminación de la información y los servicios del host. Se llamará a otSrpClientCallback para informar el estado.
OT_ERROR_ALREADY
Ya se quitó la información del host.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Esta función solicita que se anule el registro de un servicio en el servidor.

Después de una llamada exitosa a esta función, se llamará a otSrpClientCallback para informar el estado de la solicitud de eliminación con el servidor SRP.

La instancia otSrpClientService a la que apunta aService debe conservarse y permanecer intacta después de regresar de esta función (con OT_ERROR_NONE). OpenThread mantendrá la instancia de servicio durante el proceso de eliminación. Solo después de que se llama a otSrpClientCallback, que indica que la instancia de servicio se quitó de la lista de servicios del cliente de SRP, se puede liberar o reutilizar.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para una instancia de otSrpClientService que se debe quitar.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente la eliminación del servicio. Se llamará a otSrpClientCallback para informar el estado.
OT_ERROR_NOT_FOUND
No se pudo encontrar el servicio en la lista.

otSrpClientSetCallback

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

Esta función configura la devolución de llamada para notificar al emisor sobre eventos o cambios de cliente de SRP.

El cliente SRP permite registrar una devolución de llamada única. Por lo tanto, las llamadas consecutivas a esta función reemplazarán cualquier función de devolución de llamada previamente configurada.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aCallback
Es la devolución de llamada para notificar eventos y cambios. Puede ser NULO si no es necesario.
[in] aContext
Un contexto arbitrario usado con aCallback

otSrpClientSetDomainName

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

Esta función establece el nombre de dominio que utilizará el cliente de SRP.

Esta función requiere que se habilite OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Si no se establece, se usará "default.service.arpa"

El búfer de strings de nombre al que apunta aName debe conservarse y permanecer intacto después de regresar de esta función. OpenThread mantendrá el puntero a la string.

Se puede establecer el nombre de dominio antes de iniciar o después del inicio, pero antes de que se registre la información del host en el servidor (la información del host debe estar en STATE_TO_ADD o STATE_TO_REMOVE).

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aName
Un puntero para la string del nombre de dominio. Si NULO establece el valor predeterminado "default.service.arpa"
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la etiqueta del nombre de dominio.
OT_ERROR_INVALID_STATE
La información del host ya está registrada en el servidor.

otSrpClientSetHostAddresses

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

Esta función establece o actualiza la lista de direcciones IPv6 del host.

Las direcciones IPv6 del host se pueden configurar o cambiar antes del inicio o durante la operación del cliente de SRP (p.ej., para agregar, quitar o cambiar una dirección de host registrada con anterioridad), excepto cuando se quita la información del host (el cliente está ocupado administrando una solicitud de eliminación de una llamada anterior a otSrpClientRemoveHostAndServices() y la información del host todavía está en los estados STATE_TO_REMOVE o STATE_REMOVING).

El arreglo de direcciones IPv6 de host al que apunta aIp6Addresses debe conservarse y permanecer intacto después de regresar de esta función (con OT_ERROR_NONE). OpenThread guardará el puntero en el array.

Después de una llamada exitosa a esta función, se llamará a otSrpClientCallback para informar el estado del registro de la dirección con el servidor de SRP.

Si se llama a esta función, se inhabilita el modo de dirección del host automático si se habilitó anteriormente desde una llamada exitosa a otSrpClientEnableAutoHostAddress().

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aIp6Addresses
Un puntero para un arreglo que contiene las direcciones IPv6 del host.
[in] aNumAddresses
La cantidad de direcciones en el array aIp6Addresses.
Valores que se muestran
OT_ERROR_NONE
El cambio de la lista de direcciones IPv6 del host se inició correctamente. Se llamará a otSrpClientCallback para informar el estado de registro de direcciones con el servidor.
OT_ERROR_INVALID_ARGS
La lista de direcciones no es válida (p.ej., debe contener al menos una dirección).
OT_ERROR_INVALID_STATE
Se está quitando el host y, por lo tanto, no se puede cambiar la dirección del host.

otSrpClientSetHostName

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

Esta función establece la etiqueta del nombre de host.

Después de una llamada exitosa a esta función, se llamará a otSrpClientCallback para informar el estado del registro de información del host con el servidor de SRP.

El búfer de strings de nombre al que apunta aName debe conservarse y permanecer intacto después de regresar de esta función. OpenThread mantendrá el puntero a la string.

Se puede establecer el nombre del host antes de iniciar o después del inicio, pero antes de registrar la información del host en el servidor (debe ser STATE_TO_ADD o STATE_REMOVED).

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aName
Un puntero para la string de la etiqueta de nombre de host (NO DEBE ser NULO). El puntero al búfer de strings DEBE conservar y ser válido y constante después de regresar de esta función.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la etiqueta del nombre del host.
OT_ERROR_INVALID_ARGS
aName es NULL.
OT_ERROR_INVALID_STATE
El nombre del host ya está configurado y registrado en el servidor.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Esta función establece el intervalo de asignación de claves que se usa en las solicitudes de actualización de SRP.

El cambio en el intervalo de arrendamiento no afecta el intervalo de arrendamiento aceptado de los servicios ya registrados o la información del host. Solo afecta a los mensajes de actualización de SRP futuros (es decir, la adición de servicios nuevos o actualizaciones de servicios existentes).

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aInterval
El intervalo de arrendamiento de claves (en segundos). Si es cero, se usará el valor predeterminado especificado por OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Esta función establece el intervalo de arrendamiento que se usa en las solicitudes de actualización de SRP.

Cambiar el intervalo de arrendamiento no afecta el intervalo de arrendamiento aceptado de los servicios ya registrados o la información del host. Solo afecta a los mensajes de actualización de SRP futuros (es decir, la adición de servicios nuevos o actualizaciones de los servicios existentes).

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aInterval
El intervalo de arrendamiento (en segundos). Si es cero, se usará el valor predeterminado especificado por OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función habilita o inhabilita el modo de inclusión en el registro de claves de servicio.

Cuando esté habilitado, el cliente de SRP incluirá el registro KEY en las instrucciones de descripción de servicios en los mensajes de actualización de SRP que envíe.

Esta función está disponible cuando se habilita la configuración de OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aEnabled
VERDADERO para habilitar, FALSO para inhabilitar el modo de inclusión en la grabación de claves de servicio.

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Esta función establece el valor de TTL en cada registro incluido en las solicitudes de actualización de SRP.

El cambio de TTL no afecta al TTL de los servicios o la información del host ya registrados. Solo afecta a los mensajes de actualización de SRP futuros (es decir, cuando se agregan servicios nuevos o se actualizan los servicios existentes).

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aTtl
El TTL (en segundos). Si el valor es cero o mayor que el intervalo de concesión, el TTL se establece en el intervalo de arrendamiento.

otSrpClientStart

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

Esta función inicia la operación del cliente de SRP.

El cliente de SRP preparará y enviará el mensaje de actualización de SRP al servidor de SRP una vez que se cumplan todas las condiciones que se indican a continuación:

No importa el orden en que se llame a estas funciones. Cuando se cumplan todas las condiciones, el cliente de SRP esperará un breve retraso antes de preparar un mensaje de "Actualización de SRP" y enviarlo al servidor. Este retraso permite que el usuario agregue varios servicios o direcciones IPv6 antes de enviar el primer mensaje de actualización de SRP (lo que garantiza que se envíe una sola actualización de SRP con toda la información). La configuración OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY especifica el intervalo de retraso.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aServerSockAddr
La dirección del socket (dirección IPv6 y número de puerto) del servidor SRP.
Valores que se muestran
OT_ERROR_NONE
La operación del cliente de SRP se inició correctamente o ya se está ejecutando con la misma dirección de devolución de llamada del socket de servidor.
OT_ERROR_BUSY
El cliente de SRP está ocupado con una dirección de socket diferente.
OT_ERROR_FAILED
No se pudo abrir o conectar el socket UDP del cliente.

osSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Esta función detiene la operación del cliente de SRP.

Esta función detiene cualquier interacción adicional con el servidor SRP. Ten en cuenta que esta acción no quita ni borra la información del host ni la lista de servicios. Marca todos los servicios que se agregarán o se quitarán una vez que se (vuelva) a iniciar el cliente.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Esta función muestra el modo de dirección que utiliza el servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Modo de dirección del servidor de SRP.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Esta función muestra el número de secuencia que se usa con el modo de dirección Anycast.

El número de secuencia se incluye en la entrada de cualquier dirección Anycast del servicio de DNS/SRP publicada en los datos de red.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el número de la secuencia Anycast.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Esta función muestra el dominio autorizado para el servidor SRP.

Si el dominio no se establece en SetDomain, se mostrará "default.service.arpa.&quot. Siempre se agrega un punto final, incluso si el dominio está configurado sin él.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Un puntero para la string de dominio unido con punto.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Esta función muestra las configuraciones LEASE y KEY-LEASE del servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aLeaseConfig
Un puntero para una instancia de otSrpServerLeaseConfig.

otSrpServerGetNextHost

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

Esta función muestra el siguiente host registrado en el servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aHost
Un puntero al host actual; usa NULL para obtener el primer host.
Qué muestra
Un puntero para el host registrado. NULL, si no se encuentran más hosts.

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Esta función muestra el puerto que escucha el servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El puerto del servidor SRP. Muestra 0 si el servidor no está en ejecución.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Esta función muestra los contadores de respuesta del servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Un puntero para los contadores de respuesta del servidor SRP.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Esta función muestra el estado del servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El estado actual del servidor SRP.

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Esta función muestra la configuración del TTL del servidor de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aTtlConfig
Un puntero para una instancia de otSrpServerTtlConfig.

otSrpServerHandleServiceUpdateResult

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

Esta función informa el resultado de procesar una actualización de SRP al servidor de SRP.

El controlador de actualización de servicio debe llamar a esta función para mostrar el resultado del procesamiento de una actualización de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aId
El ID de transacción de la actualización del servicio. Debe ser el mismo ID que se proporcionó a través de otSrpServerServiceUpdateHandler.
[in] aError
Un error que se mostrará en el servidor SRP. Usa OT_ERROR_DUPLICATED para representar los conflictos de nombres de DNS.

otSrpServerHostFindNextNextService

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

Esta función encuentra el siguiente servicio coincidente en el host.

La combinación de marcas y nombres de instancias y servicios permite iterar en la lista completa de servicios o en un subconjunto de ellos que coincida con ciertas condiciones o encontrar un servicio específico.

Para iterar en todos los servicios de un host: servicio = otSrpServerHostFindNextService(host, servicio, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL).

Para iterar solo en servicios básicos (excluir subtipos): servicio = otSrpServerHostFindNextService(host, servicio, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL).

Para iterar en subtipos de un nombre de instancia específico instanceName: service = otSrpServerHostFindNextService(host, servicio, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName),

Para buscar un servicio específico con el nombre de servicio serviceName y el nombre de instancia de servicio instanceName: service = otSrpServerHostFindNextNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName),

Para buscar el servicio de tipo base con un nombre de instancia de servicio determinado instanceName: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName),

Detalles
Parámetros
[in] aHost
Un puntero al host del servicio de SRP (NO DEBE ser NULO).
[in] aPrevService
Un puntero al servicio anterior o NULL para comenzar desde el principio de la lista.
[in] aFlags
Marcas que indican qué servicios incluir (base/subtipo, activo/borrado)
[in] aServiceName
El nombre del servicio que debe coincidir. Configúralo en NULL para aceptar cualquier nombre.
[in] aInstanceName
El nombre de la instancia de servicio que debe coincidir. Configúralo en NULL para aceptar cualquier nombre.
Qué muestra
Un puntero al siguiente servicio coincidente o NULL si no se pudo encontrar un servicio coincidente.

otSrpServerHostGetAddresses

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

Esta función muestra las direcciones de un host determinado.

Detalles
Parámetros
[in] aHost
Un puntero al host del servicio de SRP.
[out] aAddressesNum
Un puntero al cual debemos dirigir el número de direcciones.
Qué muestra
Un puntero para el arreglo de la dirección IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Esta función muestra el nombre completo del host.

Detalles
Parámetros
[in] aHost
Un puntero al host del servicio de SRP.
Qué muestra
Un puntero para la string de nombre de host terminada en null.

otSrpServerHostGetLeaseInfo

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

Esta función muestra la información LEASE y KEY-LEASE de un host determinado.

Detalles
Parámetros
[in] aHost
Un puntero al host del servidor de SRP.
[out] aLeaseInfo
Un puntero para encontrar el resultado de la información de LEASE y KEY-LEASE.

otSrpServerHostGetNextService

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

Esta función muestra el siguiente servicio (excepto los servicios de subtipo) de un host determinado.

Detalles
Parámetros
[in] aHost
Un puntero al host del servicio de SRP.
[in] aService
Un puntero para la instancia de servicio de SRP actual; usa NULL para obtener el primer servicio.
Qué muestra
Un puntero al siguiente servicio o NULL si no hay más servicios.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Esta función indica si se borró el host del servicio de SRP.

Un host de servicio de SRP se puede borrar, pero conserva su nombre para usos futuros. En este caso, la instancia de host no se quita del servidor o registro de SRP.

Detalles
Parámetros
[in] aHost
Un puntero al host del servicio de SRP.
Qué muestra
VERDADERO si el host se borró, FALSO en caso contrario.

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

Esta función muestra el nombre completo de la instancia del servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
Un puntero para la string de nombre de instancia de servicio terminada en null.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Esta función muestra el host en el que reside la instancia del servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
Un puntero para la instancia de host.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Esta función muestra el nombre completo de la instancia del servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
Un puntero para la string de nombre de instancia de servicio terminada en null.

otSrpServerServiceGetLeaseInfo

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

Esta función muestra la información LEASE y KEY-LEASE de un servicio determinado.

Detalles
Parámetros
[in] aService
Un puntero al servicio del servidor de SRP.
[out] aLeaseInfo
Un puntero para encontrar el resultado de la información de LEASE y KEY-LEASE.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Esta función muestra el puerto de la instancia de servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
El puerto del servicio

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Esta función muestra la prioridad de la instancia de servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
Es la prioridad del servicio.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Esta función muestra el nombre completo del servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
Un puntero para la string de nombre de servicio terminada en null.

otSrpServerServiceGetServiceSubTypeLabel

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

Esta función obtiene la etiqueta de subtipo del nombre del servicio.

Esta función está diseñada para que se use cuando aService es un subtipo, es decir, otSrpServerServiceIsSubType() para el servicio muestra TRUE. Si no es un subtipo, esta función muestra OT_ERROR_INVALID_ARGS.

El nombre completo del servicio de un subtipo viene después de "._sub..." Esta función copia en el búfer aLabel.

Se garantiza que la aLabel siempre se anule después de que se muestre, incluso en caso de falla.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
[out] aLabel
Un puntero para un búfer en el que se debe copiar el nombre de la etiqueta de subtipo.
[in] aMaxSize
Tamaño máximo del búfer aLabel
Valores que se muestran
OT_ERROR_NONE
aLabel se actualizó correctamente.
OT_ERROR_NO_BUFS
La etiqueta de subtipo no cabe en el búfer aLabel (la cantidad de caracteres de la etiqueta que caben se copia en aLabel y se asegura de que tenga un valor nulo).
OT_ERROR_INVALID_ARGS
El servicio de SRP no es un subtipo.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Esta función muestra el TTL de la instancia de servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
El TTL de la instancia de servicio.

otSrpServerServiceGetTxtData

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

Esta función muestra los datos del registro TXT de la instancia de servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
[out] aDataLength
Un puntero para mostrar la longitud de los datos del registro TXT. NO DEBE ser NULO.
Qué muestra
Un puntero para el búfer que contiene los datos del registro TXT (la duración del dato TXT se muestra en aDataLength).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Esta función muestra el peso de la instancia de servicio.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
El peso del servicio.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Esta función indica si se borró el servicio de SRP.

Un servicio de SRP se puede borrar, pero conserva su nombre para usos futuros. En este caso, la instancia de servicio no se quita del servidor o registro de SRP. Se garantiza que todos los servicios se borrarán si se borra el host.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
VERDADERO si el servicio se ha eliminado, en caso contrario, FALSO

otSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

Esta función indica si el servicio de SRP es del subtipo.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
VERDADERO si el servicio es un subtipo, si es falso, si es falso

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Esta función establece el modo de dirección que utilizará el servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMode
Modo de dirección que se usará.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente el modo de dirección.
OT_ERROR_INVALID_STATE
El servidor SRP está habilitado y no se puede cambiar el modo de dirección.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Esta función establece el número de secuencia que se usa con el modo de dirección Anycast.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSequenceNumber
El número de secuencia que se usará.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente el modo de dirección.
OT_ERROR_INVALID_STATE
El servidor SRP está habilitado y no se puede cambiar el número de secuencia.

otSrpServerSetDomain

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

Esta función establece el dominio en el servidor SRP.

Se agregará un punto al final a aDomain si aún no está allí. Solo se debe llamar a esta función antes de que se habilite el servidor de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aDomain
El dominio que se configurará. NO DEBE ser NULO.
Valores que se muestran
OT_ERROR_NONE
Se estableció correctamente el dominio en aDomain.
OT_ERROR_INVALID_STATE
El servidor de SRP ya está habilitado y no se puede cambiar el dominio.
OT_ERROR_INVALID_ARGS
El argumento aDomain no es un nombre de dominio DNS válido.
OT_ERROR_NO_BUFS
No hay memoria para almacenar contenido de aDomain.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función habilita o inhabilita el servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
Un valor booleano para habilitar o inhabilitar el servidor SRP.

otSrpServerSetLeaseConfig

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

Esta función establece las configuraciones LEASE y KEY-LEASE del servidor SRP.

Cuando se solicite un tiempo LEASE distinto de cero a un cliente, el valor otorgado se limitará en el rango [aMinLease, aMaxLease], y se otorgará una clave KEY-LEASE distinta de cero en el rango [aMinKeyLease, aMaxKeyLease]. Para cero tiempo LEASE o KEY-LEASE, se otorgará cero.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aLeaseConfig
Un puntero para una instancia de otSrpServerLeaseConfig.
Valores que se muestran
OT_ERROR_NONE
Se configuraron correctamente los rangos LEASE y KEY-LEASE.
OT_ERROR_INVALID_ARGS
El rango LEASE o KEY-LEASE no es válido.

otSrpServerSetServiceUpdateHandler

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

Esta función establece el controlador de actualizaciones del servicio de SRP en el servidor SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aServiceHandler
Un puntero para un controlador de servicio. Usa NULL para quitar el controlador.
[in] aContext
Un puntero para información contextual arbitraria Puede ser NULO si no se usa.

otSrpServerSetTtlConfig

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

Esta función establece la configuración de TTL del servidor de SRP.

El TTL otorgado nunca será superior al intervalo de arrendamiento máximo que se configuró a través de otSrpServerSetLeaseConfig(), sin importar la configuración mínima o máxima del TTL.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aTtlConfig
Un puntero para una instancia de otSrpServerTtlConfig.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la configuración de TTL.
OT_ERROR_INVALID_ARGS
La configuración de TTL no es válida.

Recursos

Los temas de referencia de la API de OpenThread se originan en el código fuente, disponible en GitHub. Para obtener más información o colaborar con nuestra documentación, consulta Recursos.