DNS - Platform#
This module includes the platform abstraction for sending recursive DNS query to upstream DNS servers.
Typedefs#
This opaque type represents an upstream DNS query transaction.
Functions#
Starts an upstream query transaction.
Cancels a transaction of upstream query.
The platform calls this function to finish DNS query.
Typedef Documentation#
otPlatDnsUpstreamQuery#
typedef struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery
This opaque type represents an upstream DNS query transaction.
60
of file include/openthread/platform/dns.h
Function Documentation#
otPlatDnsStartUpstreamQuery#
void otPlatDnsStartUpstreamQuery (otInstance * aInstance, otPlatDnsUpstreamQuery * aTxn, const otMessage * aQuery)
Starts an upstream query transaction.
[in] | aInstance | The OpenThread instance structure. |
[in] | aTxn | A pointer to the opaque DNS query transaction object. |
[in] | aQuery | A message buffer of the DNS payload that should be sent to upstream DNS server. |
In success case (and errors represented by DNS protocol messages), the platform is expected to call
otPlatDnsUpstreamQueryDone
.The OpenThread core may cancel a (possibly timeout) query transaction by calling
otPlatDnsCancelUpstreamQuery
, the platform must not callotPlatDnsUpstreamQueryDone
on a cancelled transaction.
76
of file include/openthread/platform/dns.h
otPlatDnsCancelUpstreamQuery#
void otPlatDnsCancelUpstreamQuery (otInstance * aInstance, otPlatDnsUpstreamQuery * aTxn)
Cancels a transaction of upstream query.
[in] | aInstance | The OpenThread instance structure. |
[in] | aTxn | A pointer to the opaque DNS query transaction object. |
The platform must call otPlatDnsUpstreamQueryDone
to release the resources.
87
of file include/openthread/platform/dns.h
otPlatDnsUpstreamQueryDone#
void otPlatDnsUpstreamQueryDone (otInstance * aInstance, otPlatDnsUpstreamQuery * aTxn, otMessage * aResponse)
The platform calls this function to finish DNS query.
[in] | aInstance | The OpenThread instance structure. |
[in] | aTxn | A pointer to the opaque DNS query transaction object. |
[in] | aResponse | A message buffer of the DNS response payload or |
The transaction will be released, so the platform must not call on the same transaction twice. This function passes the ownership of aResponse
to OpenThread stack.
Platform can pass a nullptr to close a transaction without a response.
103
of file include/openthread/platform/dns.h