DNS-SD-сервер

Этот модуль включает API для сервера DNS-SD.

Резюме

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

otDnssdQueryType {
OT_DNSSD_QUERY_TYPE_NONE = 0,
OT_DNSSD_QUERY_TYPE_BROWSE = 1,
OT_DNSSD_QUERY_TYPE_RESOLVE = 2,
OT_DNSSD_QUERY_TYPE_RESOLVE_HOST = 3
}
перечисление
Это перечисление определяет тип запроса DNS-SD.

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

otDnssdCounters определение типа
Эта структура содержит счетчики сервера DNS-SD.
otDnssdHostInfo определение типа
Эта структура представляет информацию об обнаруженном хосте для запроса DNS-SD.
otDnssdQuery определение типа
void
Этот непрозрачный тип представляет запрос DNS-SD.
otDnssdQuerySubscribeCallback )(void *aContext, const char *aFullName) определение типа
void(*
Эта функция вызывается, когда запрос DNS-SD подписывается на одно из:
otDnssdQueryUnsubscribeCallback )(void *aContext, const char *aFullName) определение типа
void(*
Эта функция вызывается, когда запрос DNS-SD отменяет одно из следующих действий:
otDnssdServiceInstanceInfo определение типа
Эта структура представляет информацию об обнаруженном экземпляре службы для запроса DNS-SD.

Функции

otDnssdGetCounters ( otInstance *aInstance)
Эта функция возвращает счетчики сервера DNS-SD.
otDnssdGetNextQuery ( otInstance *aInstance, const otDnssdQuery *aQuery)
const otDnssdQuery *
Эта функция получает следующий запрос на сервере DNS-SD.
otDnssdGetQueryTypeAndName (const otDnssdQuery *aQuery, char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE])
Эта функция получает тип и имя запроса DNS-SD для конкретного запроса.
otDnssdQueryHandleDiscoveredHost ( otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo)
void
Эта функция уведомляет обнаруженный хост.
otDnssdQueryHandleDiscoveredServiceInstance ( otInstance *aInstance, const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo)
void
Эта функция уведомляет обнаруженный экземпляр службы.
otDnssdQuerySetCallbacks ( otInstance *aInstance, otDnssdQuerySubscribeCallback aSubscribe, otDnssdQueryUnsubscribeCallback aUnsubscribe, void *aContext)
void
Эта функция устанавливает обратные вызовы запросов сервера DNS-SD.

Структуры

otDnssdCounters

Эта структура содержит счетчики сервера DNS-SD.

otDnssdHostInfo

Эта структура представляет информацию об обнаруженном хосте для запроса DNS-SD.

otDnssdServiceInstanceInfo

Эта структура представляет информацию об обнаруженном экземпляре службы для запроса DNS-SD.

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

otDnssdQueryType

 otDnssdQueryType

Это перечисление определяет тип запроса DNS-SD.

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

Сервис просмотра типа сервиса.

OT_DNSSD_QUERY_TYPE_NONE

Тип услуги не указан.

OT_DNSSD_QUERY_TYPE_RESOLVE

Тип службы разрешает экземпляр службы.

OT_DNSSD_QUERY_TYPE_RESOLVE_HOST

Тип службы разрешает имя хоста.

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

otDnssdCounters

struct otDnssdCounters otDnssdCounters

Эта структура содержит счетчики сервера DNS-SD.

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

Эта структура представляет информацию об обнаруженном хосте для запроса DNS-SD.

otDnssdQuery

void otDnssdQuery

Этот непрозрачный тип представляет запрос DNS-SD.

otDnssdQuerySubscribeCallback

void(* otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName)

Эта функция вызывается, когда запрос DNS-SD подписывается на одно из:

  1. имя службы.
  2. имя экземпляра службы.
  3. имя хоста.

Реализация запроса DNS-SD отвечает за определение того, что такое aFullName . Если aFullName является именем службы или именем экземпляра службы, реализация запроса DNS-SD должна обнаружить соответствующую информацию об экземпляре службы и уведомить сервер DNS-SD с помощью otDnssdQueryHandleDiscoveredServiceInstance . Если aFullName является именем узла, реализация запроса DNS-SD должна обнаружить информацию об узле и уведомить сервер DNS-SD с помощью otDnssdQueryHandleDiscoveredHost .

Подробности
Параметры
[in] aContext
Указатель на контекст приложения.
[in] aFullName
Полное имя службы, заканчивающееся нулем (например, «_ipps._tcp.default.service.arpa.»), или полное имя экземпляра службы (например, «OpenThread._ipps._tcp.default.service.arpa.»), или полное имя хоста. (например, «ot-host.default.service.arpa.»).
Смотрите также:
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleDiscoveredHost

otDnssdQueryUnsubscribeCallback

void(* otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName)

Эта функция вызывается, когда запрос DNS-SD отменяет одно из следующих действий:

  1. имя службы.
  2. имя экземпляра службы.
  3. имя хоста.

Реализация запроса DNS-SD отвечает за определение того, что такое aFullName .

Подробности
Параметры
[in] aContext
Указатель на контекст приложения.
[in] aFullName
Полное имя службы, заканчивающееся нулем (например, «_ipps._tcp.default.service.arpa.»), или полное имя экземпляра службы (например, «OpenThread._ipps._tcp.default.service.arpa.»).

otDnssdServiceInstanceInfo

struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo

Эта структура представляет информацию об обнаруженном экземпляре службы для запроса DNS-SD.

Функции

otDnssdGetCounters

const otDnssdCounters * otDnssdGetCounters(
  otInstance *aInstance
)

Эта функция возвращает счетчики сервера DNS-SD.

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

otDnssdGetNextQuery

const otDnssdQuery * otDnssdGetNextQuery(
  otInstance *aInstance,
  const otDnssdQuery *aQuery
)

Эта функция получает следующий запрос на сервере DNS-SD.

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

otDnssdGetQueryTypeAndName

otDnssdQueryType otDnssdGetQueryTypeAndName(
  const otDnssdQuery *aQuery,
  char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE]
)

Эта функция получает тип и имя запроса DNS-SD для конкретного запроса.

Подробности
Параметры
[in] aQuery
Указатель запроса, полученный из otDnssdGetNextQuery .
[out] aNameOutput
Буфер вывода имени, длина которого должна составлять OT_DNS_MAX_NAME_SIZE байт.
Возвращает
Тип запроса DNS-SD.

otDnssdQueryHandleDiscoveredHost

void otDnssdQueryHandleDiscoveredHost(
  otInstance *aInstance,
  const char *aHostFullName,
  otDnssdHostInfo *aHostInfo
)

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

Внешний преобразователь запросов (например, Discovery Proxy) должен вызвать эту функцию, чтобы уведомить ядро ​​OpenThread о подписанных хостах.

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

otDnssdQueryHandleDiscoveredServiceInstance

void otDnssdQueryHandleDiscoveredServiceInstance(
  otInstance *aInstance,
  const char *aServiceFullName,
  otDnssdServiceInstanceInfo *aInstanceInfo
)

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

Внешний преобразователь запросов (например, Discovery Proxy) должен вызвать эту функцию, чтобы уведомить ядро ​​OpenThread о подписанных службах или экземплярах службы.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aServiceFullName
Полное имя службы, заканчивающееся нулем.
[in] aInstanceInfo
Указатель на информацию об обнаруженном экземпляре службы.

otDnssdQuerySetCallbacks

void otDnssdQuerySetCallbacks(
  otInstance *aInstance,
  otDnssdQuerySubscribeCallback aSubscribe,
  otDnssdQueryUnsubscribeCallback aUnsubscribe,
  void *aContext
)

Эта функция устанавливает обратные вызовы запросов сервера DNS-SD.

Сервер DNS-SD вызывает aSubscribe , чтобы подписаться на службу или экземпляр службы для разрешения запроса DNS-SD, и aUnsubscribe , чтобы отказаться от подписки, когда запрос разрешен или истекает время ожидания.

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

Ресурсы

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