Google 致力于为黑人社区推动种族平等。查看具体行动

DNS-SD 服务器

此模块包含用于 DNS-SD 服务器的 API。

摘要

枚举

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 typedef
此结构包含 DNS-SD 服务器的计数器。
otDnssdHostInfo typedef
此结构表示 DNS-SD 查询发现的主机的信息。
otDnssdQuery typedef
void
此不透明类型表示 DNS-SD 查询。
otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName) typedef
void(*
当 DNS-SD 查询订阅以下各项之一时,系统会调用此函数:
otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName) typedef
void(*
当 DNS-SD 查询退订以下某项内容时,系统会调用此函数:
otDnssdServiceInstanceInfo typedef
此结构表示 DNS-SD 查询发现的服务实例的信息。

函数

otDnssdGetCounters(otInstance *aInstance)
const otDnssdCounters *
此函数返回 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

服务类型解析主机名。

类型定义符

otDnssd 计数器

struct otDnssdCounters otDnssdCounters

此结构包含 DNS-SD 服务器的计数器。

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

此结构表示 DNS-SD 查询发现的主机的信息。

otDnssdQuery

void otDnssdQuery

此不透明类型表示 DNS-SD 查询。

otDnssdQuerySubscriptionCallback

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

当 DNS-SD 查询订阅以下各项之一时,系统会调用此函数:

  1. 服务名称。
  2. 服务实例名称。
  3. 主机名。

DNS-SD 查询实现负责识别什么是 aFullName。如果 aFullName 是服务名称或服务实例名称,DNS-SD 查询实现应发现相应的服务实例信息,并使用 otDnssdQueryHandleDiscoveredServiceInstance 通知 DNS-SD 服务器。如果 aFullName 是主机名,则 DNS-SD 查询实现应发现主机信息并使用 otDnssdQueryHandleDiscoveredHost 通知 DNS-SD 服务器。

详情
参数
[in] aContext
指向应用特定上下文的指针。
[in] aFullName
以 null 结尾的完整服务名称(例如 "_ipps._tcp.default.service.arpa.")或完整服务实例名称(例如 "OpenThread._ipps._tcp.default.service.arpa.")或者完整的主机名(例如 "ot-host.default.service.ar.default.service.ar.default.service.ar.default.service.ar.default.service.ar.)。
另请参阅
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleDiscoveredHost

otDnssdQueryUnsubscribeCallback

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

当 DNS-SD 查询退订以下某项内容时,系统会调用此函数:

  1. 服务名称。
  2. 服务实例名称。
  3. 主机名。

DNS-SD 查询实现负责识别什么是 aFullName

详情
参数
[in] aContext
指向应用特定上下文的指针。
[in] aFullName
以 null 结尾的完整服务名称(例如 "_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
)

此函数会通知发现的主机。

外部查询解析器(如发现代理)应调用此函数,以通知 OpenThread 核心订阅的主机。

详情
参数
[in] aInstance
OpenThread 实例结构。
[in] aHostFullName
以 null 结尾的完整主机名。
[in] aHostInfo
指向发现的服务实例信息的指针。

otDnssdQueryHandleDiscoveredServiceInstance

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

此函数用于通知发现的服务实例。

外部查询解析器(例如,发现代理)应调用此函数,以通知 OpenThread 核心订阅的服务或服务实例。

详情
参数
[in] aInstance
OpenThread 实例结构。
[in] aServiceFullName
以 null 结尾的完整服务名称。
[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
指向应用特定上下文的指针。

资源

OpenThread API 的参考主题源自 GitHub 上的源代码。 如需了解详情或为我们的文档做贡献,请参阅资源