透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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 查詢類型。

Typedefs

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 伺服器查詢回呼。

結構

otDnssdCounter

這個結構包含 DNS-SD 伺服器的計數器。

otDnssdHostInfo

這個結構代表系統找到的 DNS-SD 查詢主機資訊。

otDnssdServiceInstanceInfo

這個結構代表了可供探索的 DNS-SD 查詢服務執行個體資訊。

列舉

otDnssdQuery 類型

 otDnssdQueryType

此列舉會指定 DNS-SD 查詢類型。

屬性
OT_DNSSD_QUERY_TYPE_BROWSE

服務類型瀏覽服務。

OT_DNSSD_QUERY_TYPE_NONE

未指定服務類型。

OT_DNSSD_QUERY_TYPE_RESOLVE

服務類型解析服務執行個體。

OT_DNSSD_QUERY_TYPE_RESOLVE_HOST

服務類型解析主機名稱。

Typedefs

OTD 計數器計數器

struct otDnssdCounters otDnssdCounters

這個結構包含 DNS-SD 伺服器的計數器。

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

這個結構代表系統找到的 DNS-SD 查詢主機資訊。

otDnssdQuery

void otDnssdQuery

這種不透明類型代表 DNS-SD 查詢。

otDnssdQuery 訂閱回呼

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

當 DNS-SD 查詢訂閱下列其中一個項目時,系統就會呼叫此函式:

  1. 服務名稱。
  2. 服務執行個體名稱。
  3. 主機名稱。

DNS-SD 查詢實作應負責識別 aFullNameaFullName 是服務名稱或服務執行個體名稱,DNS-SD 查詢實作應找出對應的服務執行個體資訊,並使用 otDnssdQueryHandleDiscoveredServiceInstance 通知 DNS-SD 伺服器。如果 aFullName 是主機名稱,DNS-SD 查詢實作應探索主機資訊,並使用 otDnssdQueryHandleDiscoveredHost 通知 DNS-SD 伺服器。

詳情
參數總數
[in] aContext
應用程式專屬背景資訊。
[in] aFullName
空值的完整服務名稱 (例如「_ipps._tcp.default.service.arpa.&」)
另請參閱:
otDnssdQueryHandlingDiscoveredServiceInstance
otDnssdQueryHandlingDiscoveredHost

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 查詢服務執行個體資訊。

函式

otDnssdGetCounter

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 查詢類型。

otDnssdQueryHandlingDiscoveredHost

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

這個函式會通知代管的主機。

外部查詢解析器 (例如 Discovery Proxy) 應呼叫此函式來通知訂閱主機的 OpenThread 核心。

詳情
參數總數
[in] aInstance
OpenThread 執行個體結構。
[in] aHostFullName
零值完整主機名稱。
[in] aHostInfo
探索服務執行個體資訊的指標。

otDnssdQueryHandlerDiscoveredServiceInstance

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

這個函式會通知探索到的服務執行個體。

外部查詢解析器 (例如 Discovery Proxy) 應呼叫此函式來通知訂閱服務或服務執行個體的 OpenThread 核心。

詳情
參數總數
[in] aInstance
OpenThread 執行個體結構。
[in] aServiceFullName
空值的完整服務名稱。
[in] aInstanceInfo
探索服務執行個體資訊的指標。

otDnssdQuerySetCallback

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 取得。如要瞭解詳情或參閱說明文件,請參閱資源