DNS - 平台

這個模組包含平台抽象化機制,可將遞迴 DNS 查詢傳送至上游 DNS 伺服器。

摘要

Typedefs

otPlatDnsUpstreamQuery typedef
這個不透明類型代表上游 DNS 查詢交易。

函式

otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
void
取消上游查詢的交易。
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
void
啟動上游查詢交易。
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
void
平台會呼叫這個函式來完成 DNS 查詢。

Typedefs

otPlatDnsUpstreamQuery

struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery

這個不透明類型代表上游 DNS 查詢交易。

函式

otPlatDnsCancelUpstreamQuery

void otPlatDnsCancelUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn
)

取消上游查詢的交易。

平台必須呼叫 otPlatDnsUpstreamQueryDone 才能釋出資源。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aTxn
指向不透明 DNS 查詢交易物件的指標。

otPlatDnsStartUpstreamQuery

void otPlatDnsStartUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn,
  const otMessage *aQuery
)

啟動上游查詢交易。

  • 如果發生成功 (以及 DNS 通訊協定訊息表示的錯誤),平台應呼叫 otPlatDnsUpstreamQueryDone
  • OpenThread 核心可以透過呼叫 otPlatDnsCancelUpstreamQuery 取消查詢交易 (可能逾時),平台不得在已取消的交易中呼叫 otPlatDnsUpstreamQueryDone

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aTxn
指向不透明 DNS 查詢交易物件的指標。
[in] aQuery
應傳送至上游 DNS 伺服器的 DNS 酬載訊息緩衝區。

otPlatDnsUpstreamQueryDone

void otPlatDnsUpstreamQueryDone(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn,
  otMessage *aResponse
)

平台會呼叫這個函式來完成 DNS 查詢。

系統將釋出交易,因此平台不得對同一交易重複呼叫。這個函式會將 aResponse 的擁有權傳遞至 OpenThread 堆疊。

平台可以傳遞空值,在沒有回應的情況下關閉交易。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aTxn
指向不透明 DNS 查詢交易物件的指標。
[in] aResponse
DNS 回應酬載的訊息緩衝區或 nullptr,用於在沒有回應的情況下關閉交易。

資源

OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源