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 查询类型。

类型定义符

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 查询的已发现服务实例的信息。

函数

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 服务器查询回调。

结构体

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

服务类型解析主机名。

类型定义符

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 查询实现应发现相应的服务实例信息,并使用 otDnssdQueryHandleDiscoveredServiceInstance 通知 DNS-SD 服务器。如果 aFullName 是主机名,DNS-SD 查询实现应发现主机信息,并使用 otDnssdQueryHandleDiscoveredHost 通知 DNS-SD 服务器。

详情
参数
[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 查询的已发现服务实例的信息。

函数

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
指向应用特定上下文的指针。

资源

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