рекомендуемая розничная цена

Этот модуль включает функции, управляющие поведением клиента SRP.

Краткое содержание

Этот модуль включает в себя функции протокола регистрации услуг.

Этот модуль включает функции для клиентских буферов SRP и пула служб.

Функции в этом модуле доступны только в том случае, если включена функция OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE.

Перечисления

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
}
перечисление
Указывает состояние элемента клиента SRP (информация о службе или хосте).
otSrpServerAddressMode {
OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
перечисление
Представляет режим адреса, используемый сервером SRP.
otSrpServerState {
OT_SRP_SERVER_STATE_DISABLED = 0,
OT_SRP_SERVER_STATE_RUNNING = 1,
OT_SRP_SERVER_STATE_STOPPED = 2
}
перечисление
Представляет состояние сервера SRP.

Определения типов

otSrpClientAutoStartCallback )(const otSockAddr *aServerSockAddr, void *aContext) определение типа
void(*
Тип указателя определяет обратный вызов, используемый клиентом SRP для уведомления пользователя о его автоматическом запуске или остановке.
otSrpClientBuffersServiceEntry определение типа
Представляет запись пула служб клиентов SRP.
otSrpClientCallback )(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) определение типа
void(*
Тип указателя определяет обратный вызов, используемый клиентом SRP для уведомления пользователя об изменениях/событиях/ошибках.
otSrpClientHostInfo определение типа
Представляет информацию об узле клиента SRP.
otSrpClientService определение типа
Представляет клиентскую службу SRP.
otSrpServerAddressMode определение типа
Представляет режим адреса, используемый сервером SRP.
otSrpServerHost определение типа
Этот непрозрачный тип представляет узел службы SRP.
otSrpServerLeaseConfig определение типа
Включает конфигурации АРЕНДА сервера SRP и КЛЮЧ-АРЕНДА.
otSrpServerLeaseInfo определение типа
Включает информацию об аренде сервера SRP хоста/службы.
otSrpServerResponseCounters определение типа
Включает статистику ответов сервера SRP.
otSrpServerService определение типа
Этот непрозрачный тип представляет службу SRP.
otSrpServerServiceUpdateHandler )(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) определение типа
void(*
Обрабатывает обновления службы SRP.
otSrpServerServiceUpdateId определение типа
uint32_t
Идентификатор транзакции обновления службы SRP на сервере SRP.
otSrpServerTtlConfig определение типа
Включает конфигурации TTL сервера SRP.

Функции

otSrpClientAddService ( otInstance *aInstance, otSrpClientService *aService)
Добавляет службу для регистрации на сервере.
otSrpClientBuffersAllocateService ( otInstance *aInstance)
Выделяет новую запись службы из пула.
otSrpClientBuffersFreeAllServices ( otInstance *aInstance)
void
Освобождает все ранее выделенные записи служб.
otSrpClientBuffersFreeService ( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Освобождает ранее выделенную запись службы.
otSrpClientBuffersGetHostAddressesArray ( otInstance *aInstance, uint8_t *aArrayLength)
Получает массив записей адресов IPv6 для использования в качестве списка адресов узлов клиента SRP.
otSrpClientBuffersGetHostNameString ( otInstance *aInstance, uint16_t *aSize)
char *
Получает строковый буфер, который будет использоваться для имени хоста клиента SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Получает строковый буфер для имени экземпляра службы из записи службы.
otSrpClientBuffersGetServiceEntryServiceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Получает строковый буфер для имени службы из записи службы.
otSrpClientBuffersGetServiceEntryTxtBuffer ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Получает буфер для записи TXT из записи службы.
otSrpClientBuffersGetSubTypeLabelsArray ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Получает массив меток подтипов служб из записи службы.
otSrpClientClearHostAndServices ( otInstance *aInstance)
void
Очищает всю информацию о хосте и всех службах.
otSrpClientClearService ( otInstance *aInstance, otSrpClientService *aService)
Очищает службу, немедленно удаляя ее из списка клиентских служб.
otSrpClientDisableAutoStartMode ( otInstance *aInstance)
void
Отключает режим автозапуска.
otSrpClientEnableAutoHostAddress ( otInstance *aInstance)
Включает режим автоматического адреса хоста.
otSrpClientEnableAutoStartMode ( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Включает режим автозапуска.
otSrpClientGetDomainName ( otInstance *aInstance)
const char *
Получает имя домена, используемое клиентом SRP.
otSrpClientGetHostInfo ( otInstance *aInstance)
Получает информацию о хосте.
otSrpClientGetKeyLeaseInterval ( otInstance *aInstance)
uint32_t
Получает интервал аренды ключа по умолчанию, используемый в запросах на обновление SRP.
otSrpClientGetLeaseInterval ( otInstance *aInstance)
uint32_t
Получает интервал аренды по умолчанию, используемый в запросах на обновление SRP.
otSrpClientGetServerAddress ( otInstance *aInstance)
const otSockAddr *
Получает адрес сокета (адрес IPv6 и номер порта) сервера SRP, который используется клиентом SRP.
otSrpClientGetServices ( otInstance *aInstance)
Получает список служб, которыми управляет клиент.
otSrpClientGetTtl ( otInstance *aInstance)
uint32_t
Получает значение срока жизни в каждой записи, включенной в запросы на обновление SRP.
otSrpClientIsAutoStartModeEnabled ( otInstance *aInstance)
bool
Указывает текущее состояние режима автозапуска (включено или отключено).
otSrpClientIsRunning ( otInstance *aInstance)
bool
Указывает, запущен ли клиент SRP.
otSrpClientIsServiceKeyRecordEnabled ( otInstance *aInstance)
bool
Указывает, включен или отключен режим «включение записи сервисного ключа».
otSrpClientItemStateToString ( otSrpClientItemState aItemState)
const char *
Преобразует otSrpClientItemState в строку.
otSrpClientRemoveHostAndServices ( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Запускает процесс удаления информации о хосте и всех службах.
otSrpClientRemoveService ( otInstance *aInstance, otSrpClientService *aService)
Запрашивает отмену регистрации службы на сервере.
otSrpClientSetCallback ( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Устанавливает обратный вызов для уведомления вызывающего абонента о событиях/изменениях от клиента SRP.
otSrpClientSetDomainName ( otInstance *aInstance, const char *aName)
Устанавливает имя домена, которое будет использоваться клиентом SRP.
otSrpClientSetHostAddresses ( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Устанавливает/обновляет список IPv6-адресов хостов.
otSrpClientSetHostName ( otInstance *aInstance, const char *aName)
Устанавливает метку имени хоста.
otSrpClientSetKeyLeaseInterval ( otInstance *aInstance, uint32_t aInterval)
void
Устанавливает интервал аренды ключа по умолчанию, используемый в запросах на обновление SRP.
otSrpClientSetLeaseInterval ( otInstance *aInstance, uint32_t aInterval)
void
Устанавливает интервал аренды по умолчанию, используемый в запросах на обновление SRP.
otSrpClientSetServiceKeyRecordEnabled ( otInstance *aInstance, bool aEnabled)
void
Включает/отключает режим «включение записи сервисного ключа».
otSrpClientSetTtl ( otInstance *aInstance, uint32_t aTtl)
void
Устанавливает значение TTL для каждой записи, включенной в запросы на обновление SRP.
otSrpClientStart ( otInstance *aInstance, const otSockAddr *aServerSockAddr)
Запускает работу клиента SRP.
otSrpClientStop ( otInstance *aInstance)
void
Останавливает работу клиента SRP.
otSrpServerGetAddressMode ( otInstance *aInstance)
Возвращает режим адреса, используемый сервером SRP.
otSrpServerGetAnycastModeSequenceNumber ( otInstance *aInstance)
uint8_t
Возвращает порядковый номер, используемый в режиме произвольного адреса.
otSrpServerGetDomain ( otInstance *aInstance)
const char *
Возвращает домен, авторизованный для сервера SRP.
otSrpServerGetLeaseConfig ( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Возвращает конфигурации LEASE и KEY-LEASE сервера SRP.
otSrpServerGetNextHost ( otInstance *aInstance, const otSrpServerHost *aHost)
Возвращает следующий зарегистрированный хост на сервере SRP.
otSrpServerGetPort ( otInstance *aInstance)
uint16_t
Возвращает порт, который прослушивает сервер SRP.
otSrpServerGetResponseCounters ( otInstance *aInstance)
Возвращает счетчики ответов сервера SRP.
otSrpServerGetState ( otInstance *aInstance)
Возвращает состояние сервера SRP.
otSrpServerGetTtlConfig ( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Возвращает конфигурацию TTL сервера SRP.
otSrpServerHandleServiceUpdateResult ( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Сообщает результат обработки обновления SRP на сервер SRP.
otSrpServerHostGetAddresses (const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Возвращает адреса данного хоста.
otSrpServerHostGetFullName (const otSrpServerHost *aHost)
const char *
Возвращает полное имя хоста.
otSrpServerHostGetLeaseInfo (const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Возвращает информацию LEASE и KEY-LEASE данного хоста.
otSrpServerHostGetNextService (const otSrpServerHost *aHost, const otSrpServerService *aService)
Возвращает следующую услугу данного хоста.
otSrpServerHostIsDeleted (const otSrpServerHost *aHost)
bool
Сообщает, был ли удален узел службы SRP.
otSrpServerHostMatchesFullName (const otSrpServerHost *aHost, const char *aFullName)
bool
Указывает, соответствует ли хост данному имени хоста.
otSrpServerIsAutoEnableMode ( otInstance *aInstance)
bool
Указывает, включен или отключен режим автоматического включения.
otSrpServerParseSubTypeServiceName (const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
Анализирует имя службы подтипа (полное имя) и извлекает метку подтипа.
otSrpServerServiceGetHost (const otSrpServerService *aService)
Возвращает хост, на котором находится экземпляр службы.
otSrpServerServiceGetInstanceLabel (const otSrpServerService *aService)
const char *
Возвращает метку экземпляра службы (первая метка в имени экземпляра) службы.
otSrpServerServiceGetInstanceName (const otSrpServerService *aService)
const char *
Возвращает полное имя экземпляра службы.
otSrpServerServiceGetLeaseInfo (const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Возвращает информацию LEASE и KEY-LEASE для данной службы.
otSrpServerServiceGetNumberOfSubTypes (const otSrpServerService *aService)
uint16_t
Получает количество подтипов службы.
otSrpServerServiceGetPort (const otSrpServerService *aService)
uint16_t
Возвращает порт экземпляра службы.
otSrpServerServiceGetPriority (const otSrpServerService *aService)
uint16_t
Возвращает приоритет экземпляра службы.
otSrpServerServiceGetServiceName (const otSrpServerService *aService)
const char *
Возвращает полное имя службы.
otSrpServerServiceGetSubTypeServiceNameAt (const otSrpServerService *aService, uint16_t aIndex)
const char *
Получает имя службы подтипа (полное имя) службы по заданному индексу.
otSrpServerServiceGetTtl (const otSrpServerService *aService)
uint32_t
Возвращает TTL экземпляра службы.
otSrpServerServiceGetTxtData (const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Возвращает данные записи TXT экземпляра службы.
otSrpServerServiceGetWeight (const otSrpServerService *aService)
uint16_t
Возвращает вес экземпляра службы.
otSrpServerServiceHasSubTypeServiceName (const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
Указывает, имеет ли служба заданный подтип.
otSrpServerServiceIsDeleted (const otSrpServerService *aService)
bool
Указывает, была ли удалена служба SRP.
otSrpServerServiceMatchesInstanceName (const otSrpServerService *aService, const char *aInstanceName)
bool
Указывает, соответствует ли эта служба заданному имени экземпляра службы.
otSrpServerServiceMatchesServiceName (const otSrpServerService *aService, const char *aServiceName)
bool
Указывает, соответствует ли эта служба заданному имени службы.
otSrpServerSetAddressMode ( otInstance *aInstance, otSrpServerAddressMode aMode)
Устанавливает режим адреса, который будет использоваться сервером SRP.
otSrpServerSetAnycastModeSequenceNumber ( otInstance *aInstance, uint8_t aSequenceNumber)
Устанавливает порядковый номер, используемый в режиме произвольной адресации.
otSrpServerSetAutoEnableMode ( otInstance *aInstance, bool aEnabled)
void
Включает/отключает режим автоматического включения на сервере SRP.
otSrpServerSetDomain ( otInstance *aInstance, const char *aDomain)
Устанавливает домен на сервере SRP.
otSrpServerSetEnabled ( otInstance *aInstance, bool aEnabled)
void
Включает/отключает сервер SRP.
otSrpServerSetLeaseConfig ( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Устанавливает конфигурации LEASE и KEY-LEASE сервера SRP.
otSrpServerSetServiceUpdateHandler ( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Устанавливает обработчик обновлений службы SRP на сервере SRP.
otSrpServerSetTtlConfig ( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Устанавливает конфигурацию TTL сервера SRP.

Структуры

отSrpClientBuffersServiceEntry

Представляет запись пула служб клиентов SRP.

отСрпКлиентХостИнфо

Представляет информацию об узле клиента SRP.

отСрпклиентсервице

Представляет клиентскую службу SRP.

отСрпсерверлизеконфиг

Включает конфигурации АРЕНДА сервера SRP и КЛЮЧ-АРЕНДА.

отSrpServerLeaseInfo

Включает информацию об аренде сервера SRP хоста/службы.

otSrpServerResponseCounters

Включает статистику ответов сервера SRP.

отСрпсерверттлконфиг

Включает конфигурации TTL сервера SRP.

Перечисления

отСрпклиентитемстате

 otSrpClientItemState

Указывает состояние элемента клиента SRP (информация о службе или хосте).

Характеристики
OT_SRP_CLIENT_ITEM_STATE_ADDING

Товар добавляется/регистрируется.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

Товар обновляется.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

Товар зарегистрирован на сервере.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Товар удален.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

Товар удаляется.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Элемент, который необходимо добавить/зарегистрировать.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Объект, подлежащий обновлению (перерегистрируйтесь, чтобы продлить аренду).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Элемент, который нужно удалить.

отСрпсервераддрессмоде

 otSrpServerAddressMode

Представляет режим адреса, используемый сервером SRP.

Режим адреса определяет, как адрес и номер порта определяются сервером SRP и как эта информация публикуется в сетевых данных потока.

Характеристики
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Режим произвольного адреса.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Режим одноадресной рассылки.

отсрпсерверстате

 otSrpServerState

Представляет состояние сервера SRP.

Характеристики
OT_SRP_SERVER_STATE_DISABLED

Сервер SRP отключен.

OT_SRP_SERVER_STATE_RUNNING

Сервер SRP включен и работает.

OT_SRP_SERVER_STATE_STOPPED

Сервер SRP включен, но остановлен.

Определения типов

otSrpClientAutoStartCallback

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

Тип указателя определяет обратный вызов, используемый клиентом SRP для уведомления пользователя о его автоматическом запуске или остановке.

Это используется только в том случае, если включена функция автозапуска OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE .

Этот обратный вызов вызывается, когда включен режим автозапуска и клиент SRP автоматически запускается или останавливается.

Подробности
Параметры
[in] aServerSockAddr
Указатель, отличный от NULL, указывает на то, что сервер SRP был запущен, и указатель указывает адрес сокета выбранного сервера. Указатель NULL указывает на то, что сервер SRP остановлен.
[in] aContext
Указатель на произвольный контекст (предоставляется при регистрации обратного вызова).

отSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Представляет запись пула служб клиентов SRP.

otSrpClientCallback

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

Тип указателя определяет обратный вызов, используемый клиентом SRP для уведомления пользователя об изменениях/событиях/ошибках.

Этот обратный вызов вызывается при успешной регистрации обновления (т. е. добавлении/удалении информации о хосте и/или некоторых услугах) на сервере SRP, а также в случае сбоя или ошибки (например, сервер отклоняет обновление). запрос или время ожидания ответа клиента и т. д.).

В случае успешной перерегистрации обновления параметр aError будет иметь значение OT_ERROR_NONE , а информация о хосте и полный список служб предоставляются в качестве входных параметров обратного вызова. Обратите внимание, что информация о хосте и службах отслеживают свое собственное состояние в соответствующей переменной-члене mState связанной структуры данных (состояние, указывающее, зарегистрирована или удалена информация о хосте или служба, или все еще добавляется/удаляется и т. д.).

Список удаленных служб передается как отдельный связанный список aRemovedServices в обратном вызове. Обратите внимание, что при вызове обратного вызова клиент SRP (реализация OpenThread) обрабатывает удаленные экземпляры службы, перечисленные в aRemovedServices , и больше не отслеживает/сохраняет их (т. е. если из обратного вызова мы вызываем otSrpClientGetServices() удаленные службы не будут присутствует в возвращаемом списке). Предоставление отдельного списка удаленных сервисов в обратном вызове помогает указать пользователю, какие элементы теперь удалены, и позволяет пользователю повторно заявить/повторно использовать экземпляры.

Если сервер отклоняет запрос на обновление SRP, код ответа DNS (RFC 2136) сопоставляется со следующими ошибками:

  • (0) NOERROR Успех (отсутствие ошибок) -> OT_ERROR_NONE
  • (1) Сервер FORMERR не может интерпретировать из-за ошибки формата -> OT_ERROR_PARSE
  • (2) На сервере SERVFAIL произошел внутренний сбой -> OT_ERROR_FAILED.
  • (3) NXDOMAIN Имя, которое должно существовать, не существует -> OT_ERROR_NOT_FOUND
  • (4) Сервер NOTIMP не поддерживает тип запроса (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) ОТКАЗАН Сервер отклонен по соображениям политики/безопасности -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Некоторое имя, которого не должно быть, существует -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Некоторый набор RRset, который не должен существовать, существует -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Некоторый набор RRset, который должен существовать, не существует -> OT_ERROR_NOT_FOUND
  • (9) Служба NOTAUTH не является авторитетной для зоны -> OT_ERROR_SECURITY
  • (10) NOTZONE Имя отсутствует в зоне -> OT_ERROR_PARSE
  • (20) BADNAME Неправильное имя -> OT_ERROR_PARSE
  • (21) BADALG Неверный алгоритм -> OT_ERROR_SECURITY
  • (22) BADTRUN Неверное усечение -> OT_ERROR_PARSE
  • Другие коды ответа -> OT_ERROR_FAILED

Также возможны следующие ошибки:

  • OT_ERROR_RESPONSE_TIMEOUT: истекло время ожидания ответа от сервера (клиент продолжит повторять попытки).
  • OT_ERROR_INVALID_ARGS: предоставленная структура службы недействительна (например, неправильное имя службы или otDnsTxtEntry ).
  • OT_ERROR_NO_BUFS: Недостаточно буфера для подготовки или отправки сообщения обновления.

Обратите внимание, что в случае какого-либо сбоя клиент продолжает операцию, т. е. он подготавливает и (повторно) передает сообщение обновления SRP на сервер после некоторого интервала ожидания. Интервал ожидания повторной попытки начинается с минимального значения и увеличивается на коэффициент роста при каждом сбое до максимального значения (более подробную информацию см. в параметре конфигурации OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL и связанных с ним параметрах).

Подробности
Параметры
[in] aError
Ошибка (см. выше).
[in] aHostInfo
Указатель на информацию о хосте.
[in] aServices
Глава связанного списка, содержащего все сервисы (кроме удаленных). NULL, если список пуст.
[in] aRemovedServices
Глава связанного списка, содержащего все удаленные сервисы. NULL, если список пуст.
[in] aContext
Указатель на произвольный контекст (предоставляется при регистрации обратного вызова).

отСрпКлиентХостИнфо

struct otSrpClientHostInfo otSrpClientHostInfo

Представляет информацию об узле клиента SRP.

отСрпклиентсервице

struct otSrpClientService otSrpClientService

Представляет клиентскую службу SRP.

Значения в этой структуре, включая строковые буферы для имен и записей записей TXT, ДОЛЖНЫ сохраняться и оставаться постоянными после того, как экземпляр этой структуры передается OpenThread из otSrpClientAddService() или otSrpClientRemoveService() .

Поля mState , mData , mNext используются/управляются только ядром OT. Их значение игнорируется, когда экземпляр otSrpClientService передается в otSrpClientAddService() или otSrpClientRemoveService() или других функциях. Вызывающему абоненту не нужно задавать эти поля.

Поля mLease и mKeyLease указывают желаемые интервалы аренды и аренды ключей для этой службы. Нулевое значение указывает, что интервал не указан, а затем для этой службы используются интервалы аренды или аренды ключа по умолчанию из otSrpClientGetLeaseInterval() и otSrpClientGetKeyLeaseInterval() . Если интервал аренды ключа (заданный явно или определенный по умолчанию) короче интервала аренды для службы, клиент SRP также будет повторно использовать значение интервала аренды для интервала аренды ключа. Например, если в сервисе mLease явно установлен на 2 дня, а mKeyLease установлен на ноль, а срок аренды ключа по умолчанию установлен на 1 день, то при регистрации этого сервиса запрошенный срок аренды ключа для этого сервиса также устанавливается на 2 дня.

отСрпсервераддрессмоде

enum otSrpServerAddressMode otSrpServerAddressMode

Представляет режим адреса, используемый сервером SRP.

Режим адреса определяет, как адрес и номер порта определяются сервером SRP и как эта информация публикуется в сетевых данных потока.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Этот непрозрачный тип представляет узел службы SRP.

отСрпсерверлизеконфиг

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Включает конфигурации АРЕНДА сервера SRP и КЛЮЧ-АРЕНДА.

отSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Включает информацию об аренде сервера SRP хоста/службы.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Включает статистику ответов сервера SRP.

отСрпсерверсервице

struct otSrpServerService otSrpServerService

Этот непрозрачный тип представляет службу SRP.

отсрпсерверсервицеупдатехандлер

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

Обрабатывает обновления службы SRP.

Вызывается сервером SRP для уведомления об обновлении узла SRP и, возможно, служб SRP. Важно, чтобы обновления SRP не фиксировались до тех пор, пока обработчик не вернет результат путем вызова otSrpServerHandleServiceUpdateResult или не истечет время ожидания после aTimeout .

Наблюдатель службы SRP всегда должен вызывать otSrpServerHandleServiceUpdateResult с кодом ошибки OT_ERROR_NONE сразу после получения событий обновления.

Более общий обработчик может выполнять проверки хоста/служб SRP и отклонять обновления SRP, если какая-либо проверка не удалась. Например, рекламный прокси-сервер должен рекламировать (или удалять) хост и службы по каналу с поддержкой многоадресной рассылки и возвращать конкретный код ошибки в случае возникновения какого-либо сбоя.

Подробности
Параметры
[in] aId
Идентификатор транзакции обновления службы. Этот идентификатор необходимо передать обратно с помощью otSrpServerHandleServiceUpdateResult .
[in] aHost
Указатель на объект otSrpServerHost, содержащий обновления SRP. Обработчик должен опубликовать или отменить публикацию хоста, и каждая служба указывает на этот хост с соблюдением следующих правил:
  1. Если хост не удален (на что указывает otSrpServerHostIsDeleted ), его следует опубликовать или обновить с помощью mDNS. В противном случае хост следует отменить (удалить записи AAAA).
  2. Для каждой точки службы на этот хост ее необходимо отменить, если хост должен быть отменен. В противном случае обработчик должен опубликовать или обновить службу, если она не удалена (на что указывает otSrpServerServiceIsDeleted ), и отменить ее публикацию при удалении.
[in] aTimeout
Максимальное время в миллисекундах, в течение которого обработчик обрабатывает событие службы.
[in] aContext
Указатель на контекст конкретного приложения.
Смотрите также:
отсрпсерверсетсервицеупдатехандлер
отсрпсерверхандлесервицеупдатересулт

отсрпсерверсервицеупдатеид

uint32_t otSrpServerServiceUpdateId

Идентификатор транзакции обновления службы SRP на сервере SRP.

отСрпсерверттлконфиг

struct otSrpServerTtlConfig otSrpServerTtlConfig

Включает конфигурации TTL сервера SRP.

Функции

отСрпклиентаддсервице

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Добавляет службу для регистрации на сервере.

После успешного вызова этой функции будет вызвана otSrpClientCallback , чтобы сообщить о статусе добавления/регистрации службы на сервере SRP.

Экземпляр otSrpClientService , на который указывает aService , ДОЛЖЕН сохраняться и оставаться неизменным после возврата из этой функции (с OT_ERROR_NONE ). OpenThread сохранит указатель на экземпляр службы.

Экземпляр otSrpClientService больше не отслеживается OpenThread и может быть возвращен только тогда, когда

  • Он удаляется явно вызовом otSrpClientRemoveService() или удаляется вместе с другими службами вызовом otSrpClientRemoveHostAndServices() and only after the вызова otSrpClientCallback`, указывающего, что служба была удалена. Или,
  • Вызов otSrpClientClearHostAndServices() , который немедленно удаляет хост и все связанные с ним службы.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aService
Указатель на добавляемый экземпляр otSrpClientService .
Возвращаемые значения
OT_ERROR_NONE
Добавление услуги началось успешно. Будет вызван otSrpClientCallback , чтобы сообщить о состоянии.
OT_ERROR_ALREADY
Служба с таким же именем службы и экземпляра уже есть в списке.
OT_ERROR_INVALID_ARGS
Недопустимая структура службы (например, неверное имя службы или otDnsTxtEntry ).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Выделяет новую запись службы из пула.

Возвращенный экземпляр записи службы будет инициализирован следующим образом:

  • mService.mName будет указывать на выделенный строковый буфер, который можно получить с помощью функции otSrpClientBuffersGetServiceEntryServiceNameString() .
  • mService.mInstanceName будет указывать на выделенный строковый буфер, который можно получить с помощью функции otSrpClientBuffersGetServiceEntryInstanceNameString() .
  • mService.mSubTypeLabels указывает на массив, возвращаемый функцией otSrpClientBuffersGetSubTypeLabelsArray() .
  • mService.mTxtEntries будет указывать на mTxtEntry .
  • mService.mNumTxtEntries будет установлен в единицу.
  • Остальные поля mService (порт, приоритет, вес) установлены на ноль.
  • mTxtEntry.mKey имеет значение NULL (значение считается уже закодированным).
  • mTxtEntry.mValue будет указывать на выделенный буфер, который можно получить с помощью функции otSrpClientBuffersGetServiceEntryTxtBuffer() .
  • mTxtEntry.mValueLength имеет нулевое значение.
  • Все связанные буферы данных/строок и массивы очищаются до нуля.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Указатель на вновь выделенную запись службы или NULL, если в пуле больше записей нет.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Освобождает все ранее выделенные записи служб.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Освобождает ранее выделенную запись службы.

aService ДОЛЖНА быть предварительно выделена с помощью otSrpClientBuffersAllocateService() и еще не освобождена. В противном случае поведение этой функции не определено.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aService
Указатель на запись службы бесплатно (НЕ ДОЛЖЕН быть NULL).

otSrpClientBuffersGetHostAddressesArray

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

Получает массив записей адресов IPv6 для использования в качестве списка адресов узлов клиента SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aArrayLength
Указатель на переменную, возвращающую длину массива, т. е. количество записей адресов IPv6 в массиве (НЕ ДОЛЖНО быть NULL).
Возврат
Указатель на массив записей otIp6Address (количество записей возвращается в aArrayLength ).

otSrpClientBuffersGetHostNameString

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

Получает строковый буфер, который будет использоваться для имени хоста клиента SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aSize
Указатель на переменную, возвращающую размер (количество байтов) строкового буфера (НЕ ДОЛЖНО быть NULL).
Возврат
Указатель на символьный буфер, используемый для имени хоста клиента SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

Получает строковый буфер для имени экземпляра службы из записи службы.

Подробности
Параметры
[in] aEntry
Указатель на ранее выделенную запись службы (НЕ ДОЛЖЕН быть NULL).
[out] aSize
Указатель на переменную, возвращающую размер (количество байтов) строкового буфера (НЕ ДОЛЖЕН быть NULL).
Возврат
Указатель на строковый буфер.

otSrpClientBuffersGetServiceEntryServiceNameString

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

Получает строковый буфер для имени службы из записи службы.

Подробности
Параметры
[in] aEntry
Указатель на ранее выделенную запись службы (НЕ ДОЛЖЕН быть NULL).
[out] aSize
Указатель на переменную, возвращающую размер (количество байтов) строкового буфера (НЕ ДОЛЖЕН быть NULL).
Возврат
Указатель на строковый буфер.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Получает буфер для записи TXT из записи службы.

Подробности
Параметры
[in] aEntry
Указатель на ранее выделенную запись службы (НЕ ДОЛЖЕН быть NULL).
[out] aSize
Указатель на переменную, возвращающую размер (количество байтов) буфера (НЕ ДОЛЖЕН быть NULL).
Возврат
Указатель на буфер.

otSrpClientBuffersGetSubTypeLabelsArray

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

Получает массив меток подтипов служб из записи службы.

Подробности
Параметры
[in] aEntry
Указатель на ранее выделенную запись службы (НЕ ДОЛЖЕН быть NULL).
[out] aArrayLength
Указатель на переменную, возвращающую длину массива (НЕ ДОЛЖЕН быть NULL).
Возврат
Указатель на массив.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Очищает всю информацию о хосте и всех службах.

В отличие от otSrpClientRemoveHostAndServices() , которая отправляет на сервер сообщение об обновлении для удаления всей информации, эта функция немедленно очищает всю информацию без какого-либо взаимодействия с сервером.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

отСрпклиентклиарсервице

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Очищает службу, немедленно удаляя ее из списка клиентских служб.

В отличие от otSrpClientRemoveService() , которая отправляет на сервер сообщение об обновлении для удаления службы, эта функция удаляет службу из списка служб клиента без какого-либо взаимодействия с сервером. При успешном вызове этой функции otSrpClientCallback НЕ будет вызываться, а запись aService может быть немедленно возвращена и повторно использована вызывающей стороной.

Может использоваться вместе с последующим вызовом otSrpClientAddService() (потенциально повторно используя одну и ту же запись aService с теми же именами службы и экземпляра) для обновления некоторых параметров в существующей службе.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aService
Указатель на экземпляр otSrpClientService , который необходимо удалить.
Возвращаемые значения
OT_ERROR_NONE
aService успешно удалена. Его можно немедленно утилизировать и использовать повторно.
OT_ERROR_NOT_FOUND
Услуга не найдена в списке.

отСрпклиентдисаблеавтостартмоде

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Отключает режим автозапуска.

Это доступно только в том случае, если включена функция автозапуска OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE .

Отключение режима автозапуска не остановит клиент, если он уже запущен, но клиент перестанет отслеживать данные сети потоков, чтобы убедиться, что выбранный сервер SRP все еще присутствует в них.

Обратите внимание, что вызов otSrpClientStop() также отключит режим автозапуска.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

отСрпклиентенаблеавтохостаддресс

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Включает режим автоматического адреса хоста.

При включении IPv6-адреса узла автоматически устанавливаются клиентом SRP с использованием всех предпочтительных одноадресных адресов в потоке netif, за исключением всех локальных адресов канала и локальных адресов сети. Если предпочтительного адреса нет, то добавляется адрес Mesh Local EID. Клиент SRP автоматически перерегистрируется, когда/если адреса в потоке netif обновляются (добавляются новые адреса или существующие адреса удаляются или помечаются как непредпочтительные).

Режим автоматического адреса хоста можно включить перед запуском или во время работы клиента SRP, за исключением случаев, когда информация хоста удаляется (клиент занят обработкой запроса на удаление из вызова otSrpClientRemoveHostAndServices() а информация хоста все еще находится в состояниях STATE_TO_REMOVE или STATE_REMOVING ). ).

После включения режима автоматического адреса хоста его можно отключить с помощью вызова otSrpClientSetHostAddresses() , который затем явно устанавливает адреса хостов.

Подробности
Возвращаемые значения
OT_ERROR_NONE
Режим автоматического адреса хоста успешно включен.
OT_ERROR_INVALID_STATE
Хост удаляется, поэтому невозможно включить режим автоматического адреса хоста.

отСрпклиентенаблеавтостартмоде

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

Включает режим автозапуска.

Это доступно только в том случае, если включена функция автозапуска OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE .

Параметр конфигурации OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE определяет режим автозапуска по умолчанию (включен или отключен в начале стека OT).

Если автоматический запуск включен, клиент SRP будет отслеживать данные сети потоков, чтобы обнаружить серверы SRP и выбрать предпочтительный сервер, а также автоматически запускать и останавливать клиент при обнаружении сервера SRP.

Существует три категории записей сетевых данных, указывающих на наличие сервера SRP. Предпочтение отдается следующему порядку:

1) Предпочтительные одноадресные записи, в которых адрес сервера включен в служебные данные. Если существует несколько вариантов, предпочтительным является тот, у которого число IPv6-адреса меньше.

2) Записи Anycast, каждая из которых имеет порядковый номер. Больший порядковый номер в смысле, определенном логикой арифметики серийных номеров в RFC-1982, считается более новым и поэтому предпочтительным. Наибольший порядковый номер с использованием арифметики серийных номеров является предпочтительным, если он четко определен (т. е. порядковый номер больше, чем все остальные порядковые номера). Если он не определен четко, то предпочтительным является наибольший порядковый номер.

3) Записи одноадресной рассылки, в которых информация об адресе сервера включена в данные сервера. Если существует несколько вариантов, предпочтительным является тот, у которого число IPv6-адреса меньше.

При изменении записей сетевых данных клиент проверит, что текущий выбранный сервер все еще присутствует в сетевых данных и по-прежнему является предпочтительным. В противном случае клиент переключится на новый предпочтительный сервер или остановится, если его нет.

Когда клиент SRP запускается явным образом посредством успешного вызова otSrpClientStart() , указанный адрес сервера SRP в otSrpClientStart() будет продолжать использоваться независимо от состояния режима автозапуска и от того, обнаружен ли тот же адрес сервера SRP или нет. в данных сети потоков. В этом случае только явный вызов otSrpClientStop() остановит клиент.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCallback
Обратный вызов для уведомления об автоматическом запуске/остановке клиента. Может быть NULL, если не требуется.
[in] aContext
Контекст, который будет передан при вызове aCallback .

отSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Получает имя домена, используемое клиентом SRP.

Требуется, чтобы OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE был включен.

Если имя домена не задано, будет использоваться «default.service.arpa».

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Строка имени домена.

отSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Получает информацию о хосте.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Указатель на информационную структуру хоста.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Получает интервал аренды ключа по умолчанию, используемый в запросах на обновление SRP.

Интервал по умолчанию используется только для экземпляров otSrpClientService с mKeyLease , установленным в ноль.

Обратите внимание, что это продолжительность аренды, запрошенная клиентом SRP. Сервер может выбрать другой интервал аренды.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Интервал аренды ключа (в секундах).

отSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Получает интервал аренды по умолчанию, используемый в запросах на обновление SRP.

Интервал по умолчанию используется только для экземпляров otSrpClientService с нулевым значением mLease .

Обратите внимание, что это продолжительность аренды, запрошенная клиентом SRP. Сервер может выбрать другой интервал аренды.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Интервал аренды (в секундах).

отсрпклиентжетсервераддресс

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Получает адрес сокета (адрес IPv6 и номер порта) сервера SRP, который используется клиентом SRP.

Если клиент не запущен, адрес не указан (все нули) с нулевым номером порта.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Указатель на адрес сокета сервера SRP (всегда не равен NULL).

отсрпклиентжетсервицес

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Получает список служб, которыми управляет клиент.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Указатель на заголовок связанного списка всех служб или NULL, если список пуст.

отСрпклиентжетттл

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Получает значение срока жизни в каждой записи, включенной в запросы на обновление SRP.

Обратите внимание, что это значение TTL, запрошенное клиентом SRP. Сервер может принять другой TTL.

По умолчанию TTL будет равен интервалу аренды. Передача 0 или значения, превышающего интервал аренды, через otSrpClientSetTtl() также приведет к тому, что TTL станет равным интервалу аренды.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
TTL (в секундах).

отSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Указывает текущее состояние режима автозапуска (включено или отключено).

Это доступно только в том случае, если включена функция автозапуска OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
TRUE, если включен режим автозапуска, в противном случае FALSE.

отSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Указывает, запущен ли клиент SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
TRUE, если клиент SRP работает, в противном случае FALSE.

отСрпклиентиссервицекейрекорденаблед

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Указывает, включен или отключен режим «включение записи сервисного ключа».

Доступно, если включена конфигурация OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
TRUE, если включен режим включения записи сервисного ключа, в противном случае FALSE.

отСрпклиентитемстатетостринг

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Преобразует otSrpClientItemState в строку.

Подробности
Параметры
[in] aItemState
Состояние элемента.
Возврат
Строковое представление aItemState .

otSrpClientRemoveHostAndServices

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

Запускает процесс удаления информации о хосте и всех службах.

После возврата из этой функции будет вызван otSrpClientCallback , чтобы сообщить о статусе запроса на удаление с сервера SRP.

Если информация о хосте должна быть окончательно удалена с сервера, для aRemoveKeyLease должно быть установлено значение true , что удаляет аренду ключа, связанную с хостом на сервере. В противном случае запись аренды ключа сохраняется, как и раньше, что гарантирует, что сервер сохранит имя хоста в резерве на тот случай, когда клиент снова сможет предоставить и зарегистрировать свои услуги.

aSendUnregToServer определяет поведение, когда информация об хосте еще не зарегистрирована на сервере. Если aSendUnregToServer установлено значение false (это значение по умолчанию/ожидаемое значение), то клиент SRP немедленно удалит информацию о хосте и сервисах, не отправляя сообщение об обновлении на сервер (нет необходимости обновлять сервер, если на нем еще ничего не зарегистрировано). Если для параметра aSendUnregToServer установлено значение true , клиент SRP отправит на сервер сообщение об обновлении. Обратите внимание: если информация о хосте зарегистрирована, значение aSendUnregToServer не имеет значения, и клиент SRP всегда будет отправлять на сервер сообщение обновления с запросом на удаление всей информации.

Одна из ситуаций, в которой aSendUnregToServer может быть полезен, — это перезагрузка/перезагрузка устройства: вызывающая сторона может захотеть удалить любые ранее зарегистрированные на сервере службы. В этом случае вызывающая сторона может otSrpClientSetHostName() , а затем запросить otSrpClientRemoveHostAndServices() с aSendUnregToServer как true .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aRemoveKeyLease
Логическое значение, указывающее, следует ли также удалить аренду ключа хоста.
[in] aSendUnregToServer
Логическое значение, указывающее, отправлять ли обновление на сервер, если информация об хосте не зарегистрирована.
Возвращаемые значения
OT_ERROR_NONE
Удаление информации о хосте и службах началось успешно. Будет вызван otSrpClientCallback , чтобы сообщить о состоянии.
OT_ERROR_ALREADY
Информация о хосте уже удалена.

отСрпклиентремовесервице

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Запрашивает отмену регистрации службы на сервере.

После успешного вызова этой функции будет вызвана otSrpClientCallback , чтобы сообщить о статусе запроса на удаление с сервера SRP.

Экземпляр otSrpClientService , на который указывает aService , ДОЛЖЕН сохраняться и оставаться неизменным после возврата из этой функции (с OT_ERROR_NONE ). OpenThread сохранит экземпляр службы во время процесса удаления. Только после вызова otSrpClientCallback , указывающего, что экземпляр службы удален из списка служб клиента SRP и может быть освобожден/повторно использован.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aService
Указатель на экземпляр otSrpClientService , который необходимо удалить.
Возвращаемые значения
OT_ERROR_NONE
Удаление службы началось успешно. Будет вызван otSrpClientCallback , чтобы сообщить о состоянии.
OT_ERROR_NOT_FOUND
Услуга не найдена в списке.

otSrpClientSetCallback

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

Устанавливает обратный вызов для уведомления вызывающего абонента о событиях/изменениях от клиента SRP.

Клиент SRP позволяет зарегистрировать один обратный вызов. Таким образом, последовательные вызовы этой функции перезапишут любые ранее установленные функции обратного вызова.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCallback
Обратный вызов для уведомления о событиях и изменениях. Может быть NULL, если не требуется.
[in] aContext
Произвольный контекст, используемый с aCallback .

отСрпклиентсетдомаиннаме

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

Устанавливает имя домена, которое будет использоваться клиентом SRP.

Требуется, чтобы OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE был включен.

Если не установлено, будет использоваться «default.service.arpa».

Буфер строки имени, на который указывает aName ДОЛЖЕН сохраняться и оставаться неизменным после возврата из этой функции. OpenThread сохранит указатель на строку.

Доменное имя может быть установлено до запуска клиента или после запуска, но до того, как информация о хосте будет зарегистрирована на сервере (информация о хосте должна быть либо в STATE_TO_ADD , либо STATE_TO_REMOVE ).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aName
Указатель на строку имени домена. Если NULL устанавливает значение по умолчанию «default.service.arpa».
Возвращаемые значения
OT_ERROR_NONE
Метка доменного имени успешно установлена.
OT_ERROR_INVALID_STATE
Информация о хосте уже зарегистрирована на сервере.

OTSRPCLIANTSETHOSTADDRESSES

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

Устанавливает/обновляет список адреса IPv6 хоста.

Адреса IPv6 хоста может быть установлено/изменено до запуска или во время работы клиента SRP (например, для добавления/удаления или изменения ранее зарегистрированного адреса хоста), за исключением случаев, когда информация об хосте удаляется (клиент занят обработкой запроса удаления из более раннего Позвоните в otSrpClientRemoveHostAndServices() и информация об хосте по -прежнему находится в STATE_TO_REMOVE или государственном или STATE_REMOVING состояниях).

Адрес -массив Host IPv6, на который указывают aIp6Addresses должны сохраняться и оставаться неизменными после возвращения с этой функции (с OT_ERROR_NONE ). Openthread сохранит указатель на массив.

После успешного вызова этой функции otSrpClientCallback будет вызван для сообщений о состоянии регистрации адреса с помощью SRP -сервера.

Вызов этой функции отключает режим Auto Host Adder, если она была ранее включена из успешного вызова otSrpClientEnableAutoHostAddress() .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aIp6Addresses
Указатель на массив, содержащий хост -адреса IPv6.
[in] aNumAddresses
Количество адресов в массиве aIp6Addresses .
Возвращаемые значения
OT_ERROR_NONE
Изменение списка адресов IPv6 хоста началось успешно. otSrpClientCallback будет вызвана для сообщений о состоянии регистрации адресов с сервером.
OT_ERROR_INVALID_ARGS
Список адресов недействителен (например, должен содержать хотя бы один адрес).
OT_ERROR_INVALID_STATE
Хост удаляется и, следовательно, не может изменить адрес хоста.

otsrpclientsethostname

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

Устанавливает метку имени хоста.

После успешного вызова этой функции otSrpClientCallback будет вызван для сообщений о статусе регистрации информации об хосте с помощью SRP -сервера.

Строка имени, на которую указывает aName , должно сохраняться и оставаться неизменным после возвращения из этой функции. Openthread будет держать указатель на строку.

Имя хоста может быть установлено до того, как клиент будет запущен или после начала, но до того, как информация о хосте будет зарегистрирована на сервере (информация об хосте должна быть в STATE_TO_ADD или STATE_REMOVED ).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aName
Указатель на строку метки имени хоста (не должен быть нулевым). Указатель на строковый буфер должен сохраняться и оставаться действительным и постоянным после возвращения из этой функции.
Возвращаемые значения
OT_ERROR_NONE
Метка имени хоста была успешно установлена.
OT_ERROR_INVALID_ARGS
aName ноль.
OT_ERROR_INVALID_STATE
Имя хоста уже установлено и зарегистрировано на сервере.

OTSRPClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Устанавливает интервал аренды ключей по умолчанию, используемый в запросах обновления SRP.

Интервал по умолчанию используется только для экземпляров otSrpClientService , а mKeyLease устанавливается на ноль.

Изменение интервала аренды не влияет на общепринятый интервал аренды уже зарегистрированных служб/хост-инфу. Это влияет только на любые будущие сообщения обновления SRP (то есть добавление новых сервисов и/или обновления существующих услуг).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aInterval
Ключевой интервал аренды (в секундах). Если ноль, значение по умолчанию, указанное в OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE , будет использовано.

OTSRPCLIANSETLEASEINTERVAL

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Устанавливает интервал аренды по умолчанию, используемый в запросах обновления SRP.

Интервал по умолчанию используется только для экземпляров otSrpClientService с mLease , установленным на ноль.

Изменение интервала аренды не влияет на общепринятый интервал аренды уже зарегистрированных служб/хост-инфу. Это только влияет на любые будущие сообщения обновления SRP (то есть добавление новых сервисов и/или обновления существующих услуг).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aInterval
Интервал аренды (в секундах). Если ноль, значение по умолчанию, указанное в OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE , будет использовано.

OTSRPClientsServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Включает/отключает режим «включение записи сервисного ключа».

При включении клиент SRP будет включать запись ключей в инструкции по описанию службы в сообщениях обновления SRP, которые он отправляет.

Доступен при включении конфигурации OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aEnabled
Верно, чтобы включить, false, чтобы отключить режим «включение записи сервиса».

OTSRPClientSetttl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Устанавливает значение TTL в каждой записи, включенной в запросы обновления SRP.

Изменение TTL не влияет на TTL уже зарегистрированных услуг/host-info. Это влияет только на будущие сообщения обновления SRP (то есть добавление новых сервисов и/или обновления существующих услуг).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aTtl
TTL (в секундах). Если значение равно нулю или больше, чем интервал аренды, TTL устанавливается на интервал аренды.

OTSRPClientStart

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

Запускает операцию клиента SRP.

Клиент SRP подготовит и отправит сообщение «Обновление SRP» на сервер SRP после того, как все следующие условия будут выполнены:

Не имеет значения, в каком порядке называются эти функции. Когда все условия будут выполнены, клиент SRP будет ждать короткой задержки, прежде чем подготовить сообщение «Обновление SRP» и отправить его на сервер. Эта задержка позволяет пользователю добавлять несколько сервисов и/или адресов IPv6 до отправки первого сообщения обновления SRP (обеспечивая отправку одного обновления SRP, содержащего всю информацию). Config OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY указывает интервал задержки.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aServerSockAddr
Адрес сокета (адрес IPv6 и номер порта) сервера SRP.
Возвращаемые значения
OT_ERROR_NONE
Операция клиента SRP началась успешно или уже работает с тем же адресом сервера и обратным вызовом.
OT_ERROR_BUSY
Клиент SRP занят запуском с другим адресом сокета.
OT_ERROR_FAILED
Не удалось открыть/подключить клиентскую розетку UDP.

OTSRPClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Останавливает операцию клиента SRP.

Останавливает любые дальнейшие взаимодействия с сервером SRP. Обратите внимание, что он не удаляет и не очищает информацию об хосте и/или список услуг. Он отмечает все услуги, которые будут добавлены/удалены снова после начала клиента (Re).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.

otsrpservergetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Возвращает адресный режим, используемый SRP -сервером.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возврат
Адресный режим сервера SRP.

OTSRPERVERGENTANYCASTMODESEQUENCENCUMEMBERMEMBER

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Возвращает номер последовательности, используемый в адресном режиме AnyCast.

Номер последовательности включен в запись «DNS/SRP Service Anduce Adder», опубликованная в сетевых данных.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возврат
Номер последовательности AnyCast.

otrpservergetdomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Возвращает домен, авторизованный на сервер SRP.

Если домен, если не установлен SetDomain, «default.service.arpa». будет возвращен. Тяжелая точка всегда добавляется, даже если домен устанавливается без нее.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возврат
Указатель на доменную строку с точки зрения.

otsrpservergetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Возвращает SRP-сервер-аренды и конфигурации аренды ключей.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[out] aLeaseConfig
Указатель на экземпляр otSrpServerLeaseConfig .

otsrpservergetnexthost

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

Возвращает следующий зарегистрированный хост на сервере SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aHost
Указатель на текущего хоста; Используйте NULL, чтобы получить первый хост.
Возврат
Указатель на зарегистрированный хост. Null, если больше хостов нельзя найти.

otsrpservergetport

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Возвращает порт, сервер SRP прослушивает.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возврат
Порт сервера SRP. Возвращает 0, если сервер не работает.

otsrpservergetresponsecounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Возвращает счетчики ответа сервера SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возврат
Указатель на счетчики ответа сервера SRP.

otsrpservergetstate

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Возвращает состояние сервера SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возврат
Текущее состояние сервера SRP.

otsrpservergettlconfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Возвращает конфигурацию SRP -сервера TTL.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[out] aTtlConfig
Указатель на экземпляр otSrpServerTtlConfig .

otsrpserverhandleserviceupdateresult

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

Сообщает результат обработки обновления SRP на сервер SRP.

Обработчик обновления службы должен вызвать эту функцию, чтобы вернуть результат его обработки обновления SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aId
Идентификатор транзакции обновления службы. Это должен быть тот же идентификатор, предоставляемый через otSrpServerServiceUpdateHandler .
[in] aError
Ошибка, которая должна быть возвращена на сервер SRP. Используйте OT_ERROR_DUPLICATICUTICED для представления конфликтов имени DNS.

otsrpserverhostgetaddresses

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

Возвращает адреса данного хоста.

Подробности
Параметры
[in] aHost
Указатель на хост сервиса SRP.
[out] aAddressesNum
Указатель на то, где мы должны вывести количество адресов.
Возврат
Указатель на массив адреса IPv6.

otsrpserverhostgetfullname

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Возвращает полное имя хоста.

Подробности
Параметры
[in] aHost
Указатель на хост сервиса SRP.
Возврат
Указатель на строку имени хоста с нулевым именем.

otsrpserverhostgetLeaseInfo

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

Возвращает информацию об аренде и ключевой аренде данного хоста.

Подробности
Параметры
[in] aHost
Указатель на хост сервера SRP.
[out] aLeaseInfo
Указатель, где вывести информацию о аренде и лизине.

otsrpserverhostgetnextservice

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

Возвращает следующий сервис данного хоста.

Подробности
Параметры
[in] aHost
Указатель на хост сервиса SRP.
[in] aService
Указатель на текущий экземпляр службы SRP; Используйте NULL, чтобы получить первый сервис.
Возврат
Указатель на следующую службу или NULL, если больше нет услуг.

otsrpserverhostisdeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Рассказывает, был ли удален сервисного хоста SRP.

Хост сервиса SRP может быть удален, но сохраняет свое название для будущего использования. В этом случае экземпляр хоста не удален с SRP -сервера/реестра.

Подробности
Параметры
[in] aHost
Указатель на хост сервиса SRP.
Возврат
Правда, если хост был удален, ложь, если нет.

otsrpserverhostmatchesfullname

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

Указывает, соответствует ли хост данное имя хоста.

Матчи имен DNS выполняются с использованием нечувствительного к случаю сравнения строк (то есть «ABC» и «ABC» считаются такими же).

Подробности
Параметры
[in] aHost
Указатель на хост сервиса SRP.
[in] aFullName
Полное имя хозяина.
Возвращаемые значения
TRUE
Если хост соответствует имени хоста.
FALSE
Если хост не соответствует имени хоста.

otsrpserverisautoenablemode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Указывает, включен или отключен режим автоматического выбора.

Требуется OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE функция.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
Возвращаемые значения
TRUE
Режим автоматического выбора включен.
FALSE
Режим автоматического выбора отключен.

otsrpserverparsesubtypeserviceName

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

Подготовки имени службы подтипа (полное имя) и извлекает метку подтипа.

Полное имя обслуживания для службы подтипа следует " ._Sub. . .».

Подробности
Параметры
[in] aSubTypeServiceName
Название службы подтипа (полное имя).
[out] aLabel
Указатель на буфер для копирования извлеченной метки подтипа.
[in] aLabelSize
Максимальный размер aLabel буфера.
Возвращаемые значения
OT_ERROR_NONE
Имя было успешно проанализировано, и aLabel была обновлена.
OT_ERROR_NO_BUFS
Метка подтипа не может вписаться в буфер aLabel (количество Chars от метки, которое может соответствовать, копируется в aLabel , гарантируя, что он на нулевом конце).
OT_ERROR_INVALID_ARGS
aSubTypeServiceName не является допустимым форматом подтипа.

otrpserverservicegethost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Возвращает хост, на котором проживает экземпляр службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Указатель на экземпляр хоста.

otsrpserverservicegetinstancelabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

Возвращает метку экземпляра службы (первая метка в имени экземпляра) Сервиса.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Указатель на строку метки экземпляра службы с нулевым экземпляром ..

otsrpserverservicegetinstancename

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Возвращает полное имя экземпляра службы Сервиса.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Указатель на строку названия экземпляра службы с нулевым находом.

otsrpserverservicegetLeaseInfo

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

Возвращает информацию о аренде и ключевой аренде данной службы.

Подробности
Параметры
[in] aService
Указатель на службу сервера SRP.
[out] aLeaseInfo
Указатель, где вывести информацию о аренде и лизине.

OTSRPERVERVERSERVICEGETNUMBREFSUBTYPES

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

Получает количество подтипов службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Количество подтипов aService .

OTSRPERVERVERSERVICEGETPORT

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Возвращает порт экземпляра службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Порт сервиса.

otsrpserverservicegetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Возвращает приоритет экземпляра службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Приоритет службы.

OTSRPERVERVERSERVICEGETSERVICENAME

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Возвращает полное название сервиса службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Указатель на строку имени службы с нулевым именем.

otsrpserverservicegetsubtypeservicenameat

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

Получает имя службы подтипа (полное имя) Сервиса по данному индексу.

Полное имя обслуживания для службы подтипа следует " ._Sub. . .».

Подробности
Параметры
[in] aService
Указатель на службу SRP.
[in] aIndex
Индекс, чтобы получить.
Возврат
Указатель на имя службы подтипа в aIndex или NULL , если в этом индексе нет подтипа.

otsrpserverservicegetttl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Возвращает TTL экземпляра службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
TTL экземпляра службы ..

otsrpserverservicegettxtdata

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

Возвращает данные записи TXT в экземпляре службы.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
[out] aDataLength
Указатель, чтобы вернуть длину данных записи TXT. Не должен быть нулевым.
Возврат
Указатель на буфер, содержащий данные записи TXT (длина данных TXT возвращается в aDataLength ).

otsrpserverservicegetgeweight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Возвращает вес сервисного экземпляра.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Вес услуги.

otsrpserverservicehassubtypeserviceName

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

Указывает, имеет ли услуга заданный подтип.

Матчи имен DNS выполняются с использованием нечувствительного к случаю сравнения строк (то есть «ABC» и «ABC» считаются такими же).

Подробности
Параметры
[in] aService
Указатель на службу SRP.
[in] aSubTypeServiceName
Имя службы подтипа (полное имя) для проверки.
Возвращаемые значения
TRUE
Сервис содержит подтип aSubTypeServiceName .
FALSE
Сервис не содержит подтипа aSubTypeServiceName .

otrpserverserviceisdeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Указывает, была ли удаленная служба SRP.

Служба SRP может быть удалена, но сохраняет свое название для будущих использования. В этом случае экземпляр службы не удален с сервера/реестра SRP. Гарантируется, что все услуги удалены, если хост удален.

Подробности
Параметры
[in] aService
Указатель на службу SRP.
Возврат
Правда, если услуга была удалена, ложь, если нет.

otsrpserverservicematchesinstanceName

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

Указывает, соответствует ли эта служба данное имя экземпляра службы.

Матчи имен DNS выполняются с использованием нечувствительного к случаю сравнения строк (то есть «ABC» и «ABC» считаются такими же).

Подробности
Параметры
[in] aService
Указатель на службу SRP.
[in] aInstanceName
Имя экземпляра службы.
Возвращаемые значения
TRUE
Если сервис соответствует имени экземпляра службы.
FALSE
Если служба не соответствует имени экземпляра службы.

otrpserverservicematchesserseviceName

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

Указывает, соответствует ли эта служба данное имя службы.

Матчи имен DNS выполняются с использованием нечувствительного к случаю сравнения строк (то есть «ABC» и «ABC» считаются такими же).

Подробности
Параметры
[in] aService
Указатель на службу SRP.
[in] aServiceName
Имя службы.
Возвращаемые значения
TRUE
Если обслуживание соответствует названию услуги.
FALSE
Если сервис не соответствует названию услуги.

OTSRPERVERVERSETADDRESSMODE

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Устанавливает адресный режим, который будет использоваться сервером SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aMode
Адресный режим для использования.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите режим адреса.
OT_ERROR_INVALID_STATE
Сервер SRP включен, и адресный режим не может быть изменен.

OTSRPERVERVERSETANYCASTMODESEQUENCENCUMER

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Устанавливает номер последовательности, используемый в адресном режиме AnyCast.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aSequenceNumber
Номер последовательности для использования.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите режим адреса.
OT_ERROR_INVALID_STATE
Сервер SRP включен, и номер последовательности не может быть изменен.

otsrpserversetautoenablemode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

Включает/отключает режим автоматического выбора на SRP-сервере.

Требуется OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE функция.

Когда этот режим включен, менеджер пограничной маршрутизации управляет, если/когда включить или отключить сервер SRP. SRP SEAR является автоматической поддержкой, если/когда запускается пограничная маршрутизация, и это делается с начальным префиксом и конфигурациями маршрута (когда определяются префиксы OMR и он на него, рекламируются в рекламном сообщении излучаемого маршрутизатора на стороне инфраструктуры и опубликованы в ветке. Сетевые данные). Сервер SRP является автоматическим, если/когда BR остановлен (например, если интерфейс сети инфраструктуры снят или если BR будет отстранен).

Этот режим может быть отключен с помощью вызова otSrpServerSetAutoEnableMode() с установленным aEnabled для false или если сервер SRP явно включен или отключен с помощью вызова otSrpServerSetEnabled() . Отключение автоматического режима с использованием otSrpServerSetAutoEnableMode(false) не будет изменять текущее состояние SRP SEAR (например, если он включен, он остается включенным).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aEnabled
Логический, чтобы включить/отключить автоматический режим.

otrpserversetdomain

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

Устанавливает домен на сервере SRP.

Тяжелая точка будет добавлена ​​в aDomain , если ее еще нет. Следует вызвать только до того, как сервер SRP включен.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aDomain
Домен должен быть установлен. Не должен быть нулевым.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите домен в aDomain .
OT_ERROR_INVALID_STATE
Сервер SRP уже включен, и домен не может быть изменен.
OT_ERROR_INVALID_ARGS
Аргумент aDomain не является действительным доменным именем DNS.
OT_ERROR_NO_BUFS
Нет памяти, чтобы сохранить содержание aDomain .

OTSRPERVERVERSENAKEND

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Включает/отключает сервер SRP.

На пограничном маршрутизаторе рекомендуется использовать otSrpServerSetAutoEnableMode() .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aEnabled
Логический, чтобы включить/отключить сервер SRP.

otsrpserversetLeaseConfig

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

Устанавливает конфигурации аренды SRP-сервера и лизинга.

Когда у клиента требуется время аренды, предоставленное значение будет ограничено в диапазоне [Aminlease, Amaxlease]; и ненулевой ключ будет предоставлена ​​в диапазоне [AminkeyLease, AmaxkeyLease]. Для нулевой аренды или времени аренды ключа будет предоставлен Zero.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aLeaseConfig
Указатель на экземпляр otSrpServerLeaseConfig .
Возвращаемые значения
OT_ERROR_NONE
Успешно установите диапазоны аренды и лизирования с ключами.
OT_ERROR_INVALID_ARGS
Диапазон аренды или лизирования с ключами не является действительным.

otsrpserversetserviceupdatehandler

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

Устанавливает обработчик обновлений службы SRP на сервере SRP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aServiceHandler
Указатель на обработчик услуг. Используйте NULL, чтобы удалить обработчик.
[in] aContext
Указатель на произвольную контекстную информацию. Может быть нулевым, если не используется.

otsrpserversetttlconfig

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

Устанавливает конфигурацию TTL SRP Server.

Предоставленный TTL всегда будет не больше интервала максимальной аренды, настроенной через otSrpServerSetLeaseConfig() , независимо от минимальной и максимальной конфигурации TTL.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр Openthread.
[in] aTtlConfig
Указатель на экземпляр otSrpServerTtlConfig .
Возвращаемые значения
OT_ERROR_NONE
Успешно установите конфигурацию TTL.
OT_ERROR_INVALID_ARGS
Конфигурация TTL не действительна.

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .