SRP

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

Resumen

En este módulo, se incluyen funciones del protocolo de registro de servicios.

En este módulo, se incluyen funciones para el grupo de servicios y los búferes de cliente de SRP.

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

Enumeraciones

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
Especifica el estado de un elemento de cliente de SRP (información del servicio o host).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
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 del servidor de SRP.

Typedefs

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
El tipo de puntero 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
Representa una entrada del grupo de servicios del cliente de SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
El tipo de puntero define la devolución de llamada que usa el cliente de SRP para notificar al usuario sobre cambios, eventos o errores.
otSrpClientHostInfo typedef
Representa la información del host de un cliente de SRP.
otSrpClientService typedef
Representa un servicio de cliente de SRP.
otSrpServerAddressMode typedef
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
Incluye las configuraciones LEASE y KEY-LEASE del servidor SRP.
otSrpServerLeaseInfo typedef
Incluye información de arrendamiento del servidor de SRP de un host o servicio.
otSrpServerResponseCounters typedef
Incluye las estadísticas de las respuestas del servidor de SRP.
otSrpServerService typedef
Este tipo opaco representa un servicio de SRP.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
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
Incluye configuraciones de TTL del servidor de SRP.

remotas

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Agrega un servicio para que se registre en el servidor.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Asigna una entrada de servicio nueva desde el grupo.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Libera todas las entradas de servicio asignadas anteriormente.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Libera una entrada de servicio asignada previamente.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Obtiene el arreglo de entradas de direcciones IPv6 para usar como lista de direcciones de host de cliente de SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Obtiene el búfer de cadenas para usar para el nombre de host del cliente de SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Obtiene el búfer de cadenas para el nombre de la instancia de servicio de una entrada del servicio.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Obtiene el búfer de cadenas para el nombre del servicio de una entrada del servicio.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Obtiene el búfer para el registro TXT de una entrada de servicio.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Obtiene el array para las etiquetas de subtipo de servicio de la entrada de servicio.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Borra toda la información del host y todos los servicios.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Borra un servicio y lo quita inmediatamente de la lista de servicios del cliente.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Inhabilita el modo de inicio automático.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Habilita el modo automático de dirección de host.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Habilita el modo de inicio automático.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Obtiene el nombre de dominio que usa el cliente de SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
Obtiene la información del host.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Obtiene el intervalo de asignación de claves predeterminado que se usa en las solicitudes de actualización de SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Obtiene el intervalo de asignación predeterminado que se usa en las solicitudes de actualización de SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Obtiene la dirección del socket (dirección IPv6 y número de puerto) del servidor de SRP que usa el cliente SRP.
otSrpClientGetServices(otInstance *aInstance)
Obtiene la lista de los servicios que administra el cliente.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Obtiene el valor del TTL en cada registro incluido en las solicitudes de actualización de SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Indica el estado actual del modo de inicio automático (habilitado o inhabilitado).
otSrpClientIsRunning(otInstance *aInstance)
bool
Indica si el cliente SRP está en ejecución o no.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Indica si el modo de "inclusión del registro de claves de servicio" está habilitado o inhabilitado.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Convierte un otSrpClientItemState en una string.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Inicia el proceso de eliminación de la información del host y todos los servicios.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Solicita que se cancele el registro de un servicio en el servidor.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Establece la devolución de llamada para notificar al emisor sobre eventos o cambios desde el cliente SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Configura el nombre de dominio que usará el cliente de SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Establece o actualiza la lista de direcciones IPv6 del host.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Establece la etiqueta del nombre del host.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Establece el intervalo de asignación de claves predeterminado que se usa en las solicitudes de actualización de SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Establece el intervalo de asignación predeterminado que se usa en las solicitudes de actualización de SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Habilita o inhabilita el modo de “inclusión de registros de claves de servicios”.
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Establece el valor de TTL en cada registro incluido en las solicitudes de actualización de SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Inicia la operación de cliente de SRP.
otSrpClientStop(otInstance *aInstance)
void
Detiene la operación de cliente de SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Muestra el modo de dirección que usa el servidor de SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Muestra el número de secuencia que se usa con el modo de direcciones Anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Muestra el dominio autorizado al servidor de SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Muestra las configuraciones LEASE y KEY-LEASE del servidor de SRP.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Muestra el siguiente host registrado en el servidor de SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Muestra el puerto que escucha el servidor de SRP.
otSrpServerGetResponseCounters(otInstance *aInstance)
Muestra los contadores de respuesta del servidor de SRP.
otSrpServerGetState(otInstance *aInstance)
Muestra el estado del servidor de SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Muestra la configuración de TTL del servidor de SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Informa el resultado del procesamiento de una actualización de SRP al servidor de SRP.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Muestra las direcciones de un host determinado.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Muestra el nombre completo del host.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Muestra la información LEASE y KEY-LEASE de un host determinado.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Muestra el siguiente servicio de un host determinado.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Indica si se borró el host del servicio de SRP.
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
Indica si el host coincide con un nombre de host determinado.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Indica si el modo de habilitación automática está habilitado o inhabilitado.
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
Analiza un nombre de servicio de subtipo (nombre completo) y extrae la etiqueta de subtipo.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Muestra el host en el que reside la instancia de servicio.
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
Muestra la etiqueta de instancia de servicio (primera etiqueta en el nombre de la instancia) del servicio.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Muestra el nombre completo de la instancia de servicio del servicio.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Muestra la información LEASE y KEY-LEASE de un servicio determinado.
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
Obtiene la cantidad de subtipos del servicio.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Muestra el puerto de la instancia de servicio.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Muestra la prioridad de la instancia de servicio.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Muestra el nombre completo del servicio.
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
Obtiene el nombre del servicio de subtipo (nombre completo) del servicio en un índice determinado.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Muestra el TTL de la instancia de servicio.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Muestra los datos del registro TXT de la instancia de servicio.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Muestra el peso de la instancia de servicio.
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
Indica si el servicio tiene un subtipo determinado o no.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Indica si se borró o no el servicio de SRP.
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
Indica si este servicio coincide con un nombre de instancia de servicio determinado.
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
Indica si este servicio coincide con un nombre de servicio determinado.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Configura el modo de dirección que usará el servidor de SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Establece el número de secuencia que se usa con el modo de direcciones Anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Habilita o inhabilita el modo de habilitación automática en el servidor de SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Configura el dominio en el servidor de SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Habilita o inhabilita el servidor de SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Establece los parámetros de configuración LEASE y KEY-LEASE del servidor de SRP.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Configura el controlador de actualizaciones del servicio de SRP en el servidor de SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Establece la configuración del TTL del servidor de SRP.

Structs

otSrpClientBuffersServiceEntry

Representa una entrada del grupo de servicios del cliente de SRP.

otSrpClientHostInfo

Representa la información del host de un cliente de SRP.

otSrpClientService

Representa un servicio de cliente de SRP.

otSrpServerLeaseConfig

Incluye las configuraciones LEASE y KEY-LEASE del servidor SRP.

otSrpServerLeaseInfo

Incluye información de arrendamiento del servidor de SRP de un host o servicio.

otSrpServerResponseCounters

Incluye las estadísticas de las respuestas del servidor de SRP.

otSrpServerTtlConfig

Incluye configuraciones de TTL del servidor de SRP.

Enumeraciones

otSrpClientItemState

 otSrpClientItemState

Especifica el estado de un elemento de cliente de SRP (información del servicio o host).

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á (vuelve a registrarte para renovar la asignación).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Se quitará el elemento.

otSrpServerAddressMode

 otSrpServerAddressMode

Representa el modo de dirección que usa el servidor de SRP.

El modo Address 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 unicast.

otSrpServerState

 otSrpServerState

Representa el estado del servidor de SRP.

Propiedades
OT_SRP_SERVER_STATE_DISABLED

El servidor de SRP está inhabilitado.

OT_SRP_SERVER_STATE_RUNNING

El servidor de SRP está habilitado y en ejecución.

OT_SRP_SERVER_STATE_STOPPED

El servidor de SRP está habilitado, pero detenido.

Typedefs

otSrpClientAutoStartCallback

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

El tipo de puntero 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 se habilita la función de inicio automático OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

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

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

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Representa una entrada del grupo de servicios del cliente de SRP.

otSrpClientCallback

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

El tipo de puntero 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 si se registra correctamente una actualización (es decir, si se agrega o quita información del host o algunos servicios) con el servidor de SRP, o si se produce una falla o un error (p. ej., el servidor rechaza una solicitud de actualización o se agota el tiempo de espera del cliente esperando una respuesta, etcétera).

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

La lista de servicios que se quitaron se pasa como su propia lista vinculada aRemovedServices en la devolución de llamada. Ten en cuenta que, cuando se invoca la devolución de llamada, el cliente SRP (implementación de OpenThread) finaliza con las instancias de servicio que se quitaron de la lista aRemovedServices y ya no las rastrea ni las almacena (es decir, si desde la devolución de llamada llamamos a otSrpClientGetServices(), los servicios que se quitaron no estarán presentes en la lista que se muestra). Proporcionar una lista separada de los servicios eliminados en la devolución de llamada ayuda a indicar al usuario qué elementos se quitaron ahora y le permite volver a reclamar o reutilizar las instancias.

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

  • (0) NOERROR correcto (sin condición de error) -> OT_ERROR_NONE
  • (1) El servidor de FORMERR no puede interpretarse debido a un error de formato -> OT_ERROR_PARSE.
  • (2) El servidor SERVFAIL experimentó una falla interna -> OT_ERROR_FAILED
  • (3) Nombre de NXDOMAIN que debería existir, no existe -> OT_ERROR_NOT_FOUND
  • (4) El servidor NOTIMP no admite el tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) REFused El servidor se rechazó por motivos de política o seguridad -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Algunos nombres que no deberían existir, sí existen -> OT_ERROR_DUPLICATED.
  • (7) YXRRSET Algunos RRset que no deberían existir, sí existen -> OT_ERROR_DUPLICATED.
  • (8) NXRRSET Algunos RRset que deberían existir, no existen -> OT_ERROR_NOT_FOUND.
  • (9) El servicio NOTAUTH no es autorizado para la zona -> OT_ERROR_SECURITY.
  • (10) NOTZONE Un nombre no está en la zona -> OT_ERROR_PARSE.
  • (20) BADNAME Nombre incorrecto -> OT_ERROR_PARSE
  • (21) BADALG Algoritmo incorrecto -> OT_ERROR_SECURITY
  • (22) BADTRUN Truncamiento incorrecto -> OT_ERROR_PARSE
  • Otros códigos de respuesta -> OT_ERROR_FAILED

También pueden ocurrir los siguientes errores:

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

Ten en cuenta que, en caso de cualquier falla, el cliente continúa con 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 de reintento comienza desde el valor mínimo y aumenta en función del factor de crecimiento cada falla hasta el valor máximo (para obtener más detalles, consulta el parámetro de configuración OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL y los relacionados).

Detalles
Parámetros
[in] aError
El error (ver arriba).
[in] aHostInfo
Un puntero para la información del host.
[in] aServices
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
El encabezado de la lista vinculada que contiene todos los servicios que se quitaron. NULL si la lista está vacía.
[in] aContext
Un puntero a un contexto arbitrario (proporcionado cuando se registró la devolución de llamada).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Representa la información del host de un cliente de SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Representa un servicio de cliente de SRP.

Los valores en esta estructura, incluidos los búferes de cadena para los nombres y las entradas de registro TXT, DEBEN persistir y mantenerse constantes después de que se pasa una instancia de esta estructura a OpenThread desde otSrpClientAddService() o otSrpClientRemoveService().

Solo el núcleo de OT usa o administra los campos mState, mData y mNext. Su valor se ignora cuando se pasa una instancia de otSrpClientService en otSrpClientAddService(), otSrpClientRemoveService() y otras funciones. El llamador no necesita configurar estos campos.

Los campos mLease y mKeyLease especifican los intervalos deseados de arrendamiento de claves y de asignación de claves para este servicio. El valor cero indica que no se especificó el intervalo y, luego, se usan los intervalos de asignación de tiempo o de asignación de claves predeterminados de otSrpClientGetLeaseInterval() y otSrpClientGetKeyLeaseInterval() para este servicio. Si el intervalo de asignación de claves (ya sea establecido de forma explícita o determinado a partir del valor predeterminado) es más corto que el de un servicio, el cliente de SRP también volverá a usar el valor del intervalo de arrendamiento de claves para el intervalo de arrendamiento de claves. Por ejemplo, si en el servicio mLease se establece de forma explícita en 2 días, se establece mKeyLease en cero y la asignación de claves predeterminada se establece en 1 día, cuando se registra este servicio, la asignación de claves solicitada para este servicio también se establece en 2 días.

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Representa el modo de dirección que usa el servidor de SRP.

El modo Address 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.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Este tipo opaco representa un host de servicio de SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Incluye las configuraciones LEASE y KEY-LEASE del servidor SRP.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Incluye información de arrendamiento del servidor de SRP de un host o servicio.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Incluye las estadísticas de las respuestas del servidor de SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

Este tipo opaco representa un servicio de SRP.

otSrpServerServiceUpdateHandler

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

Controla las actualizaciones del servicio de SRP.

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

Un observador de servicio 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 los servicios de SRP y rechazar las actualizaciones de SRP si falla alguna de las validaciones. Por ejemplo, un proxy de publicidad debería anunciar (o quitar) el host y los servicios en un vínculo compatible con la multidifusión y mostrar un código de error específico si se produce algún error.

Detalles
Parámetros
[in] aId
Es el ID de transacción de actualización del servicio. Este ID se debe devolver con otSrpServerHandleServiceUpdateResult.
[in] aHost
Un puntero al objeto otSrpServerHost que contiene las 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 no se borra el host (indicado por otSrpServerHostIsDeleted), se debe publicar o actualizar con mDNS. De lo contrario, se debe anular la publicación del host (quita los RR AAAA).
  2. Para cada servicio que dirija a este host, se debe anular la publicación del host. De lo contrario, el controlador debe publicar o actualizar el servicio cuando no se borre (lo indica otSrpServerServiceIsDeleted) y anular la publicación cuando se borre.
[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

otSrpServerServiceUpdateId

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

Incluye configuraciones de TTL del servidor de SRP.

remotas

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Agrega un servicio para que se registre en el servidor.

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

La instancia otSrpClientService a la que apunta aService DEBE conservar y permanecer sin cambios 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 el seguimiento de la instancia otSrpClientService, y solo se la puede reclamar cuando

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para una instancia de otSrpClientService que se agregará.
Valores que se muestran
OT_ERROR_NONE
La adición del servicio se inició con éxito. Se llamará a otSrpClientCallback para informar el estado.
OT_ERROR_ALREADY
Ya hay un servicio con el mismo nombre de instancia y servicio 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
)

Asigna una entrada de servicio nueva desde el grupo.

La instancia de entrada de 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 para la entrada de servicio asignado recientemente o NULL si no hay más entradas disponibles en el grupo.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Libera todas las entradas de servicio asignadas anteriormente.

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

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Libera una entrada de servicio asignada previamente.

El aService se DEBE asignar previamente usando 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 a la entrada del servicio a gratuito (NO DEBE ser NULO).

otSrpClientBuffersGetHostAddressesArray

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

Obtiene el arreglo de entradas de direcciones IPv6 para usar como lista de direcciones de host de cliente de SRP.

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

otSrpClientBuffersGetHostNameString

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

Obtiene el búfer de cadenas para usar para el nombre de host del cliente de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[out] aSize
Es el puntero a una variable para mostrar el tamaño (número de bytes) del búfer de string (NO DEBE ser NULL).
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
)

Obtiene el búfer de cadenas para el nombre de la instancia de servicio de una entrada del servicio.

Detalles
Parámetros
[in] aEntry
Un puntero a una entrada de servicio asignada previamente (NO DEBE ser NULA).
[out] aSize
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 cadenas.

otSrpClientBuffersGetServiceEntryServiceNameString

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

Obtiene el búfer de cadenas para el nombre del servicio de una entrada del servicio.

Detalles
Parámetros
[in] aEntry
Un puntero a una entrada de servicio asignada previamente (NO DEBE ser NULA).
[out] aSize
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 cadenas.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Obtiene el búfer para el registro TXT de una entrada de servicio.

Detalles
Parámetros
[in] aEntry
Un puntero a una entrada de servicio asignada previamente (NO DEBE ser NULA).
[out] aSize
Un puntero a una variable para mostrar el tamaño (número 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
)

Obtiene el array para las etiquetas de subtipo de servicio de la entrada de servicio.

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

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

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
)

Borra un servicio y lo quita inmediatamente 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 ninguna interacción con el servidor. Si la llamada se realiza correctamente, NO se llamará a otSrpClientCallback, y el llamador podrá reclamar y volver a usar la entrada aService de inmediato.

Se puede usar junto con una llamada posterior a otSrpClientAddService() (posiblemente, se vuelva a usar la misma entrada aService con los mismos nombres de servicio y de instancia) para actualizar algunos de los parámetros en 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
El aService se borró correctamente. Puedes reclamarlo y volver a usarlo de inmediato.
OT_ERROR_NOT_FOUND
No se pudo encontrar el servicio en la lista.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Inhabilita el modo de inicio automático.

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

Inhabilitar el modo de inicio automático no detendrá al cliente si ya está en ejecución, pero deja de supervisar los datos de red de Thread para verificar que el servidor de SRP seleccionado aún esté presente en él.

Ten en cuenta que si llamas a otSrpClientStop(), también se inhabilitará el modo de inicio automático.

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

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Habilita el modo automático de dirección de host.

Cuando se habilita esta opción, el cliente SRP configura automáticamente las direcciones IPv6 del host con todas las direcciones unicast preferidas en Thread netif, sin incluir todas las direcciones locales de vínculo y de malla. Si no hay una dirección preferida, se agrega la dirección EID local de la malla. El cliente de SRP se volverá a registrar automáticamente si se actualizan las direcciones en Thread Netif (se agregan direcciones nuevas o se quitan o se marcan como no preferidas las direcciones existentes).

El modo de dirección de host automática se puede habilitar antes del inicio o durante la operación del cliente SRP, excepto cuando se quita la información del host (el cliente está ocupado procesando una solicitud de eliminación de una llamada a otSrpClientRemoveHostAndServices(), y la información del host aún se encuentra en el estado STATE_TO_REMOVE o STATE_REMOVING).

Después de habilitar el modo de dirección de host automática, se puede inhabilitar mediante una llamada a otSrpClientSetHostAddresses(), que luego establece de forma explícita las direcciones de host.

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

otSrpClientEnableAutoStartMode

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

Habilita el modo de inicio automático.

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

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 inicio de la pila de OT).

Si el inicio automático está habilitado, el cliente de SRP supervisará los datos de red de Thread para descubrir servidores de SRP y seleccionará el servidor preferido. Además, iniciará y detendrá automáticamente el cliente cuando se detecte un servidor de SRP.

Hay tres categorías de entradas de datos de red que indican la presencia de un servidor de SRP. Se prefieren en el siguiente orden:

1) Entradas de unicast preferidas en las que la dirección del servidor se incluye en los datos del servicio. Si hay varias opciones, se recomienda la que tenga la dirección IPv6 numéricamente más baja.

2) Entradas Anycast, cada una con un número de secuencia Un número de secuencia mayor en el sentido especificado por la lógica aritmética del número de serie en RFC-1982 se considera más reciente y, por lo tanto, se prefiere. Se prefiere el número de secuencia más grande con aritmética de número de serie si está bien definido (es decir, el número de secuencia es mayor que todos los demás números de secuencia). Si no está bien definido, se prefiere el número de secuencia más grande.

3) Entradas Unicast en las que la información de la dirección del servidor se incluye en los datos del servidor Si hay varias opciones, se recomienda la que tenga la dirección IPv6 numéricamente más baja.

Cuando se produce un cambio en las entradas de datos de red, el cliente comprobará que el servidor seleccionado actualmente siga presente en los datos de red y que siga siendo el preferido. De lo contrario, el cliente cambiará al nuevo servidor preferido o se detendrá si no hay ninguno.

Cuando el cliente de SRP se inicia explícitamente mediante una llamada exitosa a otSrpClientStart(), se seguirá usando la dirección del servidor de SRP proporcionada en otSrpClientStart(), independientemente del estado del modo de inicio automático y de si se descubre o no la misma dirección del servidor de SRP en los datos de red de Thread. En este caso, solo una llamada explícita a otSrpClientStop() 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 tener un valor NULO si no es necesario.
[in] aContext
Un contexto que se pasará cuando se invoque aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Obtiene el nombre de dominio que usa el cliente de SRP.

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
)

Obtiene la información del host.

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

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Obtiene el intervalo de asignación de claves predeterminado que se usa en las solicitudes de actualización de SRP.

El intervalo predeterminado solo se usa para instancias de otSrpClientService con mKeyLease establecido en cero.

Ten en cuenta que esta es la duración de la concesión que solicita el cliente de SRP. El servidor puede elegir aceptar un intervalo de arrendamiento diferente.

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

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Obtiene el intervalo de asignación predeterminado que se usa en las solicitudes de actualización de SRP.

El intervalo predeterminado solo se usa para instancias de otSrpClientService con mLease establecido en cero.

Ten en cuenta que esta es la duración de la concesión que solicita el cliente de SRP. El servidor puede elegir aceptar un intervalo de arrendamiento diferente.

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

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

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

Si el cliente no se está ejecutando, la dirección no se especifica (todos cero) con un número de puerto cero.

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

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Obtiene la lista de los 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
)

Obtiene el valor del TTL en cada registro incluido en las solicitudes de actualización de SRP.

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

De forma predeterminada, el TTL será igual al intervalo de asignación de tiempo. Si pasas 0 o un valor mayor que el intervalo de asignación de tiempo mediante otSrpClientSetTtl(), también hará que el TTL sea igual al intervalo de asignación de tiempo.

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

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Indica el estado actual del modo de inicio automático (habilitado o inhabilitado).

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

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

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Indica si el cliente SRP está en ejecución o no.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
TRUE si el cliente SRP está en ejecución, FALSE de lo contrario.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Indica si el modo de "inclusión del registro de claves de servicio" está habilitado o inhabilitado.

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
TRUE si el modo de "inclusión del registro de clave de servicio" está habilitado, de lo contrario, es FALSE.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Convierte un otSrpClientItemState en una string.

Detalles
Parámetros
[in] aItemState
El estado de un elemento.
Qué muestra
Una representación de cadena de aItemState.

otSrpClientRemoveHostAndServices

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

Inicia el proceso de eliminación de la información del host y 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 de SRP.

Si se desea quitar la información del host de forma permanente del servidor, se debe establecer aRemoveKeyLease como true, lo que quita la asignación de claves asociada 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 conserve el nombre de host en reserva para cuando el cliente vuelva a proporcionar y registrar sus servicios.

aSendUnregToServer determina el comportamiento cuando la información del host aún no está registrada en el servidor. Si se configura aSendUnregToServer como false (que es el valor predeterminado/esperado), el cliente de SRP quitará de inmediato la información del host y los servicios sin enviar un mensaje de actualización al servidor (no es necesario actualizar el servidor si aún no se registró nada en él). 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 importa, y el cliente de SRP siempre enviará un mensaje de actualización al servidor para solicitar la eliminación de toda la información.

Un caso en el que aSendUnregToServer puede resultar útil cuando se restablece o reinicia un dispositivo, el llamador puede querer quitar cualquier servicio registrado previamente en 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 o no 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 la información del host no está registrada.
Valores que se muestran
OT_ERROR_NONE
La eliminación de la información y los servicios del host se inició correctamente. 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
)

Solicita que se cancele 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 de SRP.

La instancia de otSrpClientService a la que apunta aService DEBE conservarse y permanecer sin cambios 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, lo que indica que la instancia de servicio se quita de la lista de servicios del cliente de SRP y se puede liberar o volver a usar.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para una instancia de otSrpClientService que se quitará.
Valores que se muestran
OT_ERROR_NONE
La eliminación del servicio se inició correctamente. 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
)

Establece la devolución de llamada para notificar al emisor sobre eventos o cambios desde el cliente SRP.

El cliente de SRP permite que se registre una sola devolución de llamada. Por lo tanto, las llamadas consecutivas a esta función reemplazarán cualquier función de devolución de llamada previamente establecida.

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 tener un valor NULO si no es necesario.
[in] aContext
Un contexto arbitrario que se usa con aCallback.

otSrpClientSetDomainName

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

Configura el nombre de dominio que usará el cliente de SRP.

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 cadenas de nombre al que apunta aName DEBE persistir y permanecer sin cambios después de que se muestra desde esta función. OpenThread mantendrá el puntero en la cadena.

El nombre de dominio se puede establecer antes de iniciar el cliente o después del inicio, pero antes de que se registre la información del host con 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 es NULL, se configura como 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
)

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 el funcionamiento del cliente SRP (p.ej., para agregar, quitar o cambiar una dirección de host registrada previamente), excepto cuando se quita la información del host (el cliente está ocupado procesando una solicitud de eliminación de una llamada anterior a otSrpClientRemoveHostAndServices() y la información del host aún se encuentra en los estados STATE_TO_REMOVE o STATE_REMOVING).

El array de direcciones IPv6 del host al que apunta aIp6Addresses DEBE conservar y permanecer sin cambios después de que se muestre desde 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 llamas a esta función, se inhabilita el modo de dirección automática del host si se habilitó con anterioridad a partir de una llamada exitosa a otSrpClientEnableAutoHostAddress().

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aIp6Addresses
Un puntero para un array 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á al otSrpClientCallback para informar el estado del registro de las direcciones en 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 su dirección.

otSrpClientSetHostName

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

Establece la etiqueta del nombre del host.

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

El búfer de cadenas de nombre al que apunta aName DEBE persistir y permanecer sin cambios después de que se muestra desde esta función. OpenThread mantendrá el puntero en la cadena.

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

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aName
Un puntero para la cadena de etiqueta del nombre del host (NO DEBE ser NULO). El puntero al búfer de cadenas DEBE persistir y permanecer 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
El valor de aName es NULL.
OT_ERROR_INVALID_STATE
El nombre de host ya está establecido y registrado en el servidor.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Establece el intervalo de asignación de claves predeterminado que se usa en las solicitudes de actualización de SRP.

El intervalo predeterminado solo se usa para instancias de otSrpClientService con mKeyLease establecido en cero.

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

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aInterval
El intervalo de asignación 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
)

Establece el intervalo de asignación predeterminado que se usa en las solicitudes de actualización de SRP.

El intervalo predeterminado solo se usa para instancias de otSrpClientService con mLease establecido en cero.

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

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aInterval
El intervalo de asignación (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
)

Habilita o inhabilita el modo de “inclusión de registros de claves de servicios”.

Cuando se habilite, el cliente de SRP incluirá el registro KEY en las instrucciones de descripción del servicio en los mensajes de actualización de SRP que envíe.

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
TRUE para habilitar, FALSE para inhabilitar el modo de "inclusión de registros de claves de servicio".

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Establece el valor de TTL en cada registro incluido en las solicitudes de actualización de SRP.

Cambiar el TTL no afecta el 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, agregar servicios nuevos o actualizar los servicios existentes).

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

otSrpClientStart

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

Inicia la operación de 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 en qué orden se llama 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. Esta demora permite que el usuario agregue varios servicios o direcciones IPv6 antes de que se envíe 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 de 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 socket de servidor y devolución de llamada.
OT_ERROR_BUSY
El cliente SRP está ocupado ejecutándose con una dirección de socket diferente.
OT_ERROR_FAILED
No se pudo abrir o conectar el socket UDP del cliente.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Detiene la operación de cliente de SRP.

Detiene cualquier interacción posterior con el servidor de SRP. Tenga en cuenta que no se quita ni borra la información del host ni la lista de servicios. Marca todos los servicios que se deben agregar o quitar nuevamente una vez que el cliente se (re)inicia.

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

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Muestra el modo de dirección que usa el servidor de SRP.

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

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Muestra el número de secuencia que se usa con el modo de direcciones Anycast.

El número de secuencia se incluye en la entrada "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 secuencia Anycast.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Muestra el dominio autorizado al servidor de SRP.

Si SetDomain no configura el dominio, se mostrará "default.service.arpa.". Siempre se agrega un punto final, incluso si el dominio se configura 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 puntos.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Muestra las configuraciones LEASE y KEY-LEASE del servidor de 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
)

Muestra el siguiente host registrado en el servidor de SRP.

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

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Muestra el puerto que escucha el servidor de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El puerto del servidor de SRP. El resultado es 0 si el servidor no se está ejecutando.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Muestra los contadores de respuesta del servidor de SRP.

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

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Muestra el estado del servidor de SRP.

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

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Muestra la configuración de 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
)

Informa el resultado del procesamiento de una actualización de SRP al servidor de SRP.

El controlador de actualizaciones de servicios 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
Es el ID de transacción de actualización del servicio. Debe ser el mismo ID que se proporciona a través de otSrpServerServiceUpdateHandler.
[in] aError
Es un error que se mostrará al servidor de SRP. Usa OT_ERROR_DUPLICATED para representar los conflictos de nombres de DNS.

otSrpServerHostGetAddresses

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

Muestra las direcciones de un host determinado.

Detalles
Parámetros
[in] aHost
Un puntero para el host del servicio de SRP.
[out] aAddressesNum
Un puntero hacia donde deberíamos mostrar el número de las direcciones.
Qué muestra
Un puntero para el array de direcciones IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Muestra el nombre completo del host.

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

otSrpServerHostGetLeaseInfo

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

Muestra la información LEASE y KEY-LEASE de un host determinado.

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

otSrpServerHostGetNextService

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

Muestra el siguiente servicio de un host determinado.

Detalles
Parámetros
[in] aHost
Un puntero para el 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
)

Indica si se borró el host del servicio de SRP.

Un host del 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 para el host del servicio de SRP.
Qué muestra
TRUE si se eliminó el host, FALSE si no lo es.

otSrpServerHostMatchesFullName

bool otSrpServerHostMatchesFullName(
  const otSrpServerHost *aHost,
  const char *aFullName
)

Indica si el host coincide con un nombre de host determinado.

Las coincidencias de nombres de DNS se realizan mediante una comparación de strings que no distingue mayúsculas de minúsculas (es decir, "Abc" y "aBc" son lo mismo).

Detalles
Parámetros
[in] aHost
Un puntero para el host del servicio de SRP.
[in] aFullName
Un nombre de host completo.
Valores que se muestran
TRUE
Si el host coincide con el nombre del host.
FALSE
Si el host no coincide con el nombre de host.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Indica si el modo de habilitación automática está habilitado o inhabilitado.

Requiere la función OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
TRUE
El modo de habilitación automática está habilitado.
FALSE
El modo de habilitación automática está inhabilitado.

otSrpServerParseSubTypeServiceName

otError otSrpServerParseSubTypeServiceName(
  const char *aSubTypeServiceName,
  char *aLabel,
  uint8_t aLabelSize
)

Analiza un nombre de servicio de subtipo (nombre completo) y extrae la etiqueta de subtipo.

El nombre completo del servicio de un subtipo se muestra después de "._sub...".

Detalles
Parámetros
[in] aSubTypeServiceName
Un nombre de servicio de subtipo (nombre completo).
[out] aLabel
Un puntero a un búfer para copiar la etiqueta de subtipo extraída.
[in] aLabelSize
Tamaño máximo del búfer aLabel.
Valores que se muestran
OT_ERROR_NONE
El nombre se analizó correctamente y se actualizó aLabel.
OT_ERROR_NO_BUFS
La etiqueta de subtipo no cabe en el búfer aLabel (la cantidad de caracteres de la etiqueta que podrían caber se copia en aLabel y garantiza que esté terminado en nulo).
OT_ERROR_INVALID_ARGS
aSubTypeServiceName no es un formato de subtipo válido.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Muestra el host en el que reside la instancia de servicio.

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

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

Muestra la etiqueta de instancia de servicio (primera etiqueta en el nombre de la instancia) del servicio.

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
Qué muestra
Un puntero a la string de etiqueta de instancia de servicio terminada en valores nulos.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Muestra el nombre completo de la instancia de servicio del servicio.

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

otSrpServerServiceGetLeaseInfo

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

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 hacia dónde mostrar la información de LEASE y KEY-LEASE.

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

Obtiene la cantidad de subtipos del servicio.

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
Qué muestra
La cantidad de subtipos de aService.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Muestra el puerto de la instancia de servicio.

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

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Muestra la prioridad de la instancia de servicio.

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

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Muestra el nombre completo del servicio.

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
Qué muestra
Un puntero para la string de nombre de servicio terminado en nulo.

otSrpServerServiceGetSubTypeServiceNameAt

const char * otSrpServerServiceGetSubTypeServiceNameAt(
  const otSrpServerService *aService,
  uint16_t aIndex
)

Obtiene el nombre del servicio de subtipo (nombre completo) del servicio en un índice determinado.

El nombre completo del servicio de un subtipo se muestra después de "._sub...".

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
[in] aIndex
El índice que se debe obtener.
Qué muestra
Un puntero para el nombre del servicio de subtipo en aIndex, o NULL si no hay un subtipo en este índice.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Muestra el TTL de la instancia de servicio.

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

otSrpServerServiceGetTxtData

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

Muestra los datos del registro TXT de la instancia de servicio.

Detalles
Parámetros
[in] aService
Un puntero al 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 longitud de los datos TXT se muestra en aDataLength).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Muestra el peso de la instancia de servicio.

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

otSrpServerServiceHasSubTypeServiceName

bool otSrpServerServiceHasSubTypeServiceName(
  const otSrpServerService *aService,
  const char *aSubTypeServiceName
)

Indica si el servicio tiene un subtipo determinado o no.

Las coincidencias de nombres de DNS se realizan mediante una comparación de strings que no distingue mayúsculas de minúsculas (es decir, "Abc" y "aBc" son lo mismo).

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
[in] aSubTypeServiceName
El nombre del servicio de subtipo (nombre completo) que se va a comprobar.
Valores que se muestran
TRUE
El servicio contiene el subtipo aSubTypeServiceName.
FALSE
El servicio no contiene el subtipo aSubTypeServiceName.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Indica si se borró o no 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 se borrarán todos los servicios si se borra el host.

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
Qué muestra
TRUE si se eliminó el servicio, FALSE si no.

otSrpServerServiceMatchesInstanceName

bool otSrpServerServiceMatchesInstanceName(
  const otSrpServerService *aService,
  const char *aInstanceName
)

Indica si este servicio coincide con un nombre de instancia de servicio determinado.

Las coincidencias de nombres de DNS se realizan mediante una comparación de strings que no distingue mayúsculas de minúsculas (es decir, "Abc" y "aBc" son lo mismo).

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
[in] aInstanceName
El nombre de la instancia de servicio.
Valores que se muestran
TRUE
Si el servicio coincide con el nombre de la instancia de servicio.
FALSE
Si el servicio no coincide con el nombre de la instancia de servicio.

otSrpServerServiceMatchesServiceName

bool otSrpServerServiceMatchesServiceName(
  const otSrpServerService *aService,
  const char *aServiceName
)

Indica si este servicio coincide con un nombre de servicio determinado.

Las coincidencias de nombres de DNS se realizan mediante una comparación de strings que no distingue mayúsculas de minúsculas (es decir, "Abc" y "aBc" son lo mismo).

Detalles
Parámetros
[in] aService
Un puntero al servicio de SRP.
[in] aServiceName
Es el nombre del servicio.
Valores que se muestran
TRUE
Si el servicio coincide con el nombre del servicio.
FALSE
Si el servicio no coincide con el nombre del servicio.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Configura el modo de dirección que usará el servidor de SRP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMode
El 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 de SRP está habilitado y no se puede cambiar el modo de dirección.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Establece el número de secuencia que se usa con el modo de direcciones 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 de SRP está habilitado y no se puede cambiar el número de secuencia.

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

Habilita o inhabilita el modo de habilitación automática en el servidor de SRP.

Requiere la función OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Cuando se habilita este modo, el administrador de enrutamiento fronterizo controla si se habilita o inhabilita el servidor de SRP. El servidor de SRP se habilita automáticamente cuando se inicia el enrutamiento fronterizo y se realiza con el prefijo inicial y la configuración de la ruta (cuando se determinan los prefijos de OMR y en el vínculo, se anuncian en el mensaje de anuncio del router emitido en el lado de la infraestructura y se publican en los datos de la red de Thread). El servidor de SRP se inhabilita automáticamente cuando se detiene BR (p.ej., si se desactiva la interfaz de red de la infraestructura o si se desconecta BR).

Este modo se puede inhabilitar con una llamada a otSrpServerSetAutoEnableMode() con aEnabled establecido en false o si el servidor de SRP está habilitado o inhabilitado de forma explícita por una llamada a la función otSrpServerSetEnabled(). Inhabilitar el modo de habilitación automática con otSrpServerSetAutoEnableMode(false) no cambiará el estado actual del servidor de SRP (p.ej., si está habilitado, permanece habilitado).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
Un valor booleano para habilitar o inhabilitar el modo de habilitación automática.

otSrpServerSetDomain

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

Configura el dominio en el servidor de SRP.

Se agregará un punto final a aDomain si aún no está allí. Solo se debe llamar 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 configuró 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
)

Habilita o inhabilita el servidor de SRP.

En un router de borde, se recomienda usar otSrpServerSetAutoEnableMode() en su lugar.

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

otSrpServerSetLeaseConfig

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

Establece los parámetros de configuración LEASE y KEY-LEASE del servidor de SRP.

Cuando se solicita un tiempo LEASE distinto de cero a un cliente, el valor otorgado tendrá un rango limitado [aMinLease, aMaxLease] y un valor KEY-LEASE distinto de cero en el rango [aMinKeyLease, aMaxKeyLease]. Para el tiempo cero 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
)

Configura el controlador de actualizaciones del servicio de SRP en el servidor de SRP.

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

otSrpServerSetTtlConfig

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

Establece la configuración del TTL del servidor de SRP.

El TTL otorgado siempre no superará el intervalo de asignación máximo configurado mediante otSrpServerSetLeaseConfig(), independientemente de la configuración mínima y máxima de 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
La configuración de TTL se estableció de forma correcta.
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 a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.