Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

SRP

Este módulo incluye 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 los búferes de cliente de SRP y el grupo 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 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 SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
Enum
Esta enumeración representa el estado del servidor de 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 cliente 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 SRP.
otSrpServerHost typedef
Este tipo opaco representa un host de servicio de SRP.
otSrpServerLeaseConfig typedef
Esta estructura incluye las configuraciones LEASE y KEY-LEASE del servidor SRP.
otSrpServerLeaseInfo typedef
Esta estructura incluye información sobre la asignación de tiempo 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 (o se itera) la lista de servicios de SRP.
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
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 que se registre 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 anteriormente.
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 SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Esta función obtiene el búfer de string que se usará para el nombre de host del cliente SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Esta función obtiene el búfer de string para el nombre de la instancia de servicio desde una entrada de servicio.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Esta función obtiene el búfer de string para el nombre del servicio desde una entrada de servicio.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Esta función obtiene el búfer para el registro TXT desde una entrada de servicio.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Esta función obtiene el arreglo de las etiquetas del subtipo de servicio desde 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 y lo quita inmediatamente 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 de host automática.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Esta función habilita el modo de inicio automático.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Esta función obtiene el nombre de dominio que usa el cliente de SRP.
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 está utilizando el cliente SRP.
otSrpClientGetServices(otInstance *aInstance)
Esta función 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 del registro de claves de servicio está habilitado o inhabilitado.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Esta función convierte un 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 cancele 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/cambios del cliente de SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Esta función establece el nombre de dominio que utilizará el cliente 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 del 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 asignación que se usa en las solicitudes de actualización de SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Esta función habilita/inhabilita el modo de inclusión de 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 usó con el modo de dirección Anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Esta función muestra el dominio autorizado para el servidor de 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 de 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 de SRP.
otSrpServerGetState(otInstance *aInstance)
Esta función muestra el estado del servidor de SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Esta función muestra la configuración de TTL del servidor SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Esta función informa el resultado del procesamiento de 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 busca 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 de 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.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Esta función indica si el modo de habilitación automática está habilitado o inhabilitado.
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 de 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 de 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 un 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.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Esta función habilita o inhabilita el modo de habilitación automática en el servidor de SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Esta función configura el dominio en el servidor de SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Esta función habilita o inhabilita el servidor de 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 de SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Esta función establece la configuración de TTL del servidor 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 cliente SRP.

otSrpClientService;

Esta estructura representa un servicio de cliente de SRP.

otSrpServerLeaseConfig.

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

otSrpServerLeaseInfo

Esta estructura incluye información sobre la asignación de tiempo 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 eliminados).

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

Incluye 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/eliminado).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

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

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

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

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

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

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

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

otSrpClientItemState

 otSrpClientItemState

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

Propiedades
OT_SRP_CLIENT_ITEM_STATE_ADDING

Se está agregando/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 registrar para renovar la asignación).

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 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 única.

Estado del servidor otSrpServer

 otSrpServerState

Esta enumeración 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)

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.

Este callback se invoca cuando el modo de inicio automático está habilitado 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 proporciona 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

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 de SRP, o bien si hay una falla o un error (p. ej., el servidor rechaza una solicitud de actualización o se agota el tiempo de espera de respuesta del cliente, etc.).

En caso de que se vuelva 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 los servicios se proporcionan como parámetros de entrada para 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 mState correspondiente 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 aún se está agregando o quitando, etc.).

La lista de servicios quitados 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) se realiza con las instancias de servicio quitadas que se enumeran en aRemovedServices y ya no las almacena ni realiza un seguimiento (es decir, si, desde 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, el código de respuesta de DNS (RFC 2136) se asigna a los siguientes errores:

  • (0) ERROR correcto (sin condición de error) -> OT_ERROR_NONE
  • (1) El servidor de FORMERR no puede interpretar la operación debido a un error de formato -> OT_ERROR_PARSE
  • (2) SERVFAIL El servidor ha detectado un error interno -> 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 relacionados con la política o la seguridad -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Algunos nombres que no deben existir, existen -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Algunos conjuntos de RR que no deben existir existen -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Algunos RRset que deberían existir no existen -> OT_ERROR_NOT_FOUND
  • (9) El servicio NOTAUTH no está autorizado para la zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Un nombre no está en la zona -> OT_ERROR_PARSE
  • (20) BADNAME Nombre erróneo -> OT_ERROR_PARSE
  • (21) Algoritmo BADALG erróneo - OT_ERROR_SECURITY
  • (22) BADTRUN Mal truncamiento -> 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 de respuesta del servidor (el cliente volvería a intentarlo).
  • OT_ERROR_INVALID_ARGS : La estructura de servicio proporcionada no es válida (por ejemplo, nombre de servicio incorrecto o otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : El búfer es insuficiente para preparar o enviar el mensaje de actualización.

Ten en cuenta que, en caso de 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 a 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 cliente SRP.

Servicio de cliente orp

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 que una instancia de esta estructura se pasa a OpenThread desde otSrpClientAddService() o otSrpClientRemoveService().

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Esta enumeración representa el modo de dirección que usa el servidor 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.

osSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

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

osSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Esta estructura incluye información sobre la asignación de tiempo 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.

Servicio de servicio al cliente

struct otSrpServerService otSrpServerService

Este tipo opaco representa un servicio de SRP.

otSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

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

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_*.

osSrpServerServiceUpdateHandler

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

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

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

Un observador del 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 rechaza las actualizaciones de SRP si alguna validación falla. Por ejemplo, un proxy de publicidad debe anunciar (o eliminar) el host y los servicios en un vínculo compatible con multidifusión y devuelve un código de error específico si se produce alguna falla.

Detalles
Parámetros
[in] aId
El ID de transacción de actualización del servicio. Este ID debe devolverse 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 (quitar las RR de AAAA).
  2. Para cada servicio que apunta a este host, debe anularse la publicación si el host va a anular la publicación. De lo contrario, el controlador debe publicar o actualizar el servicio cuando no se haya borrado (indicado por otSrpServerServiceIsDeleted) y anular la publicación cuando lo borre.
[in] aTimeout
El tiempo máximo en milisegundos para que el controlador procese el evento de servicio.
[in] aContext
Un puntero al contexto específico de la aplicación.
Consulta también:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

ID de servicio del servidor orp

uint32_t otSrpServerServiceUpdateId

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

La instancia de otSrpClientService a la que apunta aService DEBE persistir 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 un seguimiento de la instancia otSrpClientService, y solo se 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 de retorno
OT_ERROR_NONE
La incorporación del servicio comenzó correctamente. Se llamará a otSrpClientCallback para informar el estado.
OT_ERROR_ALREADY
Un servicio con el mismo servicio y los mismos nombres de instancia ya está 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 para la entrada de servicio recién asignada o NULL si no hay más entradas disponibles en el grupo.

osSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Esta función 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
)

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

aService se DEBE asignar previamente con otSrpClientBuffersAllocateService() y aún no se liberaba. 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 gratuito (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 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 string que se usará para el nombre de host del cliente 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 cargar búfer que se usará para el nombre de host del cliente SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

Esta función obtiene el búfer de string para el nombre de la instancia de servicio desde 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 (número de bytes) del búfer de string (NO DEBE ser NULO).
Qué muestra
Un puntero para el búfer de string.

otSrpClientBuffersGetServiceEntryServiceNameString

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

Esta función obtiene el búfer de string para el nombre del servicio desde 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 (número de bytes) del búfer de string (NO DEBE ser NULO).
Qué muestra
Un puntero para el búfer de string.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Esta función obtiene el búfer para el registro TXT desde 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 que muestra 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
)

Esta función obtiene el arreglo de las etiquetas del subtipo de servicio desde 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.

osSrpClientClearHostAndServices

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 que quite 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 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 que quite el servicio, esta función borra el servicio de la lista de servicios del cliente sin ninguna interacción con él. En una llamada exitosa a esta función, NO se llamará a otSrpClientCallback, y el emisor podrá reclamar 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 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 de retorno
OT_ERROR_NONE
aService se borró correctamente. Se puede reclamar y reutilizar de inmediato.
OT_ERROR_NOT_FOUND
No se encontró 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.

La inhabilitación del modo de inicio automático no detendrá al cliente si ya se está ejecutando, pero este deja de supervisar los datos de la red de Thread para verificar que el servidor SRP seleccionado siga presente.

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 de host automática.

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

El modo de dirección de host automática 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 estado STATE_TO_REMOVE o STATE_REMOVING).

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

Detalles
Valores de retorno
OT_ERROR_NONE
El modo de dirección de host automático se habilitó correctamente.
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ática.

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

Cuando el inicio automático está habilitado, el cliente SRP supervisará los datos de la red Thread para detectar los servidores SRP, seleccionar el servidor preferido e iniciar y detener el cliente automáticamente cuando se detecte un servidor SRP.

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

1) Entradas de unidifusión preferidas en las que la dirección del servidor está incluida en los datos del servicio. Si hay varias opciones, se prefiere la que tiene la dirección IPv6 más baja numérica.

2) Cada una de las entradas Anycast tiene un número secundario. Un número de secuencia más grande, en el sentido especificado por la lógica aritmética de 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 que utilice números aritméticos si está bien definido (es decir, el número de secuencia es mayor que todos los demás números secuenciales). Si no está bien definido, entonces se prefiere el número secundario más grande.

3) Entradas unicast en las que la información de la dirección del servidor está incluida en los datos del servidor. Si hay varias opciones, se prefiere la que tiene la dirección IPv6 más baja numérica.

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

Cuando el cliente SRP se inicie explícitamente a través de una llamada exitosa a otSrpClientStart(), se seguirá usando la dirección del servidor SRP determinada en otSrpClientStart(), independientemente del estado del modo de inicio automático y si se descubre o no la misma dirección del servidor SRP en los datos de la red 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 ser NULO si no es necesario.
[in] aContext
Es un contexto que se debe pasar cuando se invoca aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Esta función obtiene el nombre de dominio que usa el cliente de SRP.

Esta función requiere que se habilite OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

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

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
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.

intervalo 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 tiempo que solicita el cliente de SRP. El servidor puede optar por 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).

intervalo 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 tiempo que solicita el cliente de SRP. El servidor puede optar por 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 está utilizando el cliente SRP.

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

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

osSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Esta función 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.

osSrpClientGetTtl

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 que solicita el cliente de SRP. El servidor puede optar por aceptar un TTL diferente.

De forma predeterminada, el TTL será igual al intervalo de asignación. 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).

osSrpClientIsAutoStartModeEnabled

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
TRUE si el modo de inicio automático está habilitado; de lo contrario, se muestra FALSE.

osSrpClientIsRunning

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
TRUE si el cliente SRP se está ejecutando; de lo contrario, muestra FALSE.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Este método indica si el modo de inclusión del registro de claves 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 del registro de claves de servicio está habilitado; de lo contrario, está establecido en FALSO.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Esta función convierte un otSrpClientItemState en una string.

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

osSrpClientRemoveHostAndServices

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á de forma permanente del servidor, aRemoveKeyLease debe configurarse 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 conserve el nombre de host en reserva para cuando el cliente pueda proporcionar y registrar sus servicios nuevamente.

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 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 está configurado como true, el cliente 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 ser ú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 emisor 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 una actualización al servidor cuando la información del host no está registrada
Valores de retorno
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.

osSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Esta función 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 SRP.

La instancia de otSrpClientService a la que apunta aService DEBE persistir 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 quitó de la lista de servicios del cliente de SRP y se puede liberar o reutilizar.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aService
Un puntero para una instancia otSrpClientService a fin de quitar.
Valores de retorno
OT_ERROR_NONE
La eliminación del servicio comenzó correctamente. Se llamará a otSrpClientCallback para informar el estado.
OT_ERROR_NOT_FOUND
No se encontró 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/cambios del cliente de SRP.

El cliente 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 configurada previamente.

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

Esta función requiere que se habilite OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

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

El búfer de string de nombre al que hace referencia aName debe conservarse y mantenerse sin cambios después de regresar de esta función. OpenThread mantendrá el puntero a la string.

El nombre de dominio se puede establecer antes de iniciar el cliente o después de hacerlo, 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 NULO lo establece en predeterminado "default.service.arpa".
Valores de retorno
OT_ERROR_NONE
Se configuró correctamente la etiqueta del nombre del dominio.
OT_ERROR_INVALID_STATE
La información del host ya está registrada en el servidor.

osSrpClientSetHostAddresses

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 de 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 manejando una solicitud de eliminación de una llamada anterior a otSrpClientRemoveHostAndServices() y la información del host aún está en estado STATE_TO_REMOVE o STATE_REMOVING).

El arreglo de direcciones IPv6 del host al que apunta aIp6Addresses DEBE persistir y permanecer sin cambios después de regresar de esta función (con OT_ERROR_NONE). OpenThread guardará el puntero en el arreglo.

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

Si se llama a esta función, se inhabilita el modo de dirección de host automática 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 arreglo aIp6Addresses.
Valores de retorno
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 del 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 SRP.

El búfer de string de nombre al que hace referencia aName debe conservarse y mantenerse sin cambios después de regresar de esta función. OpenThread mantendrá el puntero a la string.

El nombre del host se puede establecer antes de que se inicie el cliente o después de este, pero antes de que la información del host se registre 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 string de la etiqueta de nombre de host (NO DEBE ser NULO). El puntero al búfer de string DEBE mantener y ser válido y constante después de regresar de esta función.
Valores de retorno
OT_ERROR_NONE
Se configuró correctamente la etiqueta de nombre de host.
OT_ERROR_INVALID_ARGS
aName es NULO.
OT_ERROR_INVALID_STATE
El nombre de host ya está configurado y registrado en el servidor.

intervalo 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.

Cambiar el intervalo de asignación no afecta el intervalo de asignación aceptado de servicios/host-info ya registrados. 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.

intervalo otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

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

Cambiar el intervalo de asignación no afecta el intervalo de asignación aceptado de servicios/host-info 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 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/inhabilita el modo de inclusión de registro de claves de servicio.

Cuando esté habilitado, el cliente SRP incluirá el registro KEY en las instrucciones de descripción del servicio 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
TRUE para habilitar; FALSE para inhabilitar el modo de inclusión del registro 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.

Cambiar el TTL no afecta al TTL de los servicios/host-info ya registrados. Solo afecta 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] aTtl
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
)

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

El cliente SRP preparará y enviará un mensaje de "actualización de SRP" al servidor de SRP una vez que se cumplan todas las condiciones siguientes:

No importa en qué orden se llamará a estas funciones. Cuando se cumplen todas las condiciones, el cliente SRP esperará un breve retraso antes de preparar un mensaje de &actualización de la SRP y enviarlo al servidor. Este retraso permite al usuario agregar 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 que contiene 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 de retorno
OT_ERROR_NONE
La operación de cliente 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 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 de 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 quitarán una vez que el cliente se vuelva a iniciar.

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
El modo de dirección del servidor SRP.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

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

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

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

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

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

Si el dominio no está configurado por SetDomain, se mostrará "default.service.arpa.". 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.

osSrpServerGetLeaseConfig

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 otSrpServerLeaseConfig.

osSrpServerGetNextHost

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

Esta función 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 al host registrado. NULL, si no se pueden encontrar más hosts.

puerto de puerto de servicio

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 de 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 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
)

Esta función muestra el estado del servidor de SRP.

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

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

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

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

osSrpServerHandleServiceUpdateResult

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

Esta función informa el resultado del procesamiento de 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 de su 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 actualización del servicio. Debe ser el mismo ID proporcionado a través de otSrpServerServiceUpdateHandler.
[in] aError
Se debe mostrar un error al servidor de SRP. Usa OT_ERROR_DUPLICATED para representar conflictos de nombres de DNS.

otSrpServerHostFindNextService

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

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

La combinación de marcas y servicios y nombres de instancias permite iterar la lista completa de servicios o 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 sobre los subtipos de un nombre de instancia específico instanceName: servicio = 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 = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);

Para buscar el servicio de tipo base con un nombre de instancia de servicio dado instanceName: servicio = 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/eliminado)
[in] aServiceName
El nombre del servicio que debe coincidir. Configúralo como NULL para aceptar cualquier nombre.
[in] aInstanceName
El nombre de la instancia de servicio que debe coincidir. Configúralo como NULL para aceptar cualquier nombre.
Qué muestra
Un puntero al siguiente servicio coincidente o NULL si no se pudo encontrar ese servicio.

osSrpServerHostGetAddresses

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 que debemos enviar la cantidad de direcciones.
Qué muestra
Un puntero para el arreglo de direcciones 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 nulo.

otSrpServerHostGetLeaseInfo

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

Esta función muestra la información de 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 obtener 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 actual del servicio de SRP; usa NULL para obtener el primer servicio.
Qué muestra
Un puntero al siguiente servicio o NULL si no hay más servicios.

osSrpServerHostIsDeleted

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 se 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
TRUE si el host se borró. Si no lo hizo, FALSE.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Esta función indica si el modo de habilitación automática está habilitado o inhabilitado.

Esta función requiere la función OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

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

osSrpServerServiceGetFullName

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 nulo.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Esta función muestra el host en el que reside la instancia de 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 nulo.

osSrpServerServiceGetLeaseInfo

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

Esta función muestra la información de 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 obtener la información de LEASE y KEY-LEASE.

Puerto del servicio de otSrpServerGetGet

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.

osSrpServerServiceGetPriority

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
La prioridad del servicio.

osSrpServerServiceGetServiceName

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 del nombre del servicio finalizado en nulo.

osSrpServerServiceGetServiceSubTypeLabel

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 usarse cuando el 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 sigue a "._sub...". Esta función copia el en el búfer aLabel.

Se garantiza que la aLabel siempre se anule de forma nula 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 copiará el nombre de la etiqueta de subtipo.
[in] aMaxSize
Tamaño máximo del búfer aLabel.
Valores de retorno
OT_ERROR_NONE
aLabel se actualizó correctamente.
OT_ERROR_NO_BUFS
La etiqueta de subtipo no puede caber en el búfer aLabel (la cantidad de caracteres de la etiqueta que puede ajustarse se copia en aLabel, lo que garantiza que el valor sea 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 al 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
)

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.

osSpServerServiceIsDeleted

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 borren si se borra el host.

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
VERDADERO si el servicio se borró, FALSO si no lo es.

oSSServerServerIsIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

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

Detalles
Parámetros
[in] aService
Un puntero para el servicio de SRP.
Qué muestra
TRUE si el servicio es un subtipo, y FALSE si no lo es.

osSrpServerSetAddressMode

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
El modo de dirección que se usará.
Valores de retorno
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.

osSrpServerSetAnycastModeSequenceNumber

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
Número de secuencia que se usará.
Valores de retorno
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
)

Esta función habilita o inhabilita el modo de habilitación automática en el servidor de SRP.

Esta función requiere la función OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

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

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnbaled
Un valor booleano que habilita o inhabilita el modo de habilitación automática

otSrpServerSetDomain

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

Esta función configura el dominio en el servidor de SRP.

Se agregará un punto final a aDomain si aún no se encuentra 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 de retorno
OT_ERROR_NONE
El dominio se estableció correctamente 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.

osSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función habilita o inhabilita el servidor de SRP.

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

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

osSrpServerSetLeaseConfig

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

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

Cuando se solicita un tiempo LEASE distinto de cero a un cliente, el valor otorgado se limitará en el rango [aMinLease, aMaxLease] y un KEY-LEASE distinto de cero en el rango [aMinKeyLease, aMaxKeyLease]. Si el tiempo es de LEASE o KEY-LEASE, no se otorgará ningún valor.

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

osSrpServerSetServiceUpdateHandler

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

Esta función establece 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 servicio. Usa NULL para quitar el controlador.
[in] aContext
Un puntero a información contextual arbitraria. Puede no 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 SRP.

El TTL otorgado siempre no será mayor que el intervalo de asignación máximo configurado a través de 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 otSrpServerTtlConfig.
Valores de retorno
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 a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir con nuestra documentación, consulta Recursos.