DNS – Plattform

Dieses Modul enthält die Plattformabstraktion zum Senden rekursiver DNS-Abfragen an vorgelagerte DNS-Server.

Zusammenfassung

Typedefs

otPlatDnsUpstreamQuery typedef
Dieser intransparente Typ steht für eine vorgelagerte DNS-Abfragetransaktion.

Funktionen

otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
void
Bricht eine Transaktion einer vorgelagerten Abfrage ab.
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
void
Startet eine Upstream-Abfragetransaktion.
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
void
Die Plattform ruft diese Funktion auf, um die DNS-Abfrage abzuschließen.

Typedefs

otPlatDnsUpstreamQuery

struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery

Dieser intransparente Typ steht für eine vorgelagerte DNS-Abfragetransaktion.

Funktionen

otPlatDnsCancelUpstreamQuery

void otPlatDnsCancelUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn
)

Bricht eine Transaktion einer vorgelagerten Abfrage ab.

Die Plattform muss otPlatDnsUpstreamQueryDone aufrufen, um die Ressourcen freizugeben.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aTxn
Ein Zeiger auf das intransparente DNS-Abfragetransaktionsobjekt.

otPlatDnsStartUpstreamQuery

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

Startet eine Upstream-Abfragetransaktion.

  • Im Erfolgsfall (und bei Fehlern, die durch DNS-Protokollnachrichten dargestellt werden), wird erwartet, dass die Plattform otPlatDnsUpstreamQueryDone aufruft.
  • Der OpenThread-Kern kann eine Abfragetransaktion (möglicherweise Zeitüberschreitung) durch Aufrufen von otPlatDnsCancelUpstreamQuery abbrechen. Die Plattform darf otPlatDnsUpstreamQueryDone bei einer abgebrochenen Transaktion nicht aufrufen.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aTxn
Ein Zeiger auf das intransparente DNS-Abfragetransaktionsobjekt.
[in] aQuery
Ein Nachrichtenpuffer der DNS-Nutzlast, die an den Upstream-DNS-Server gesendet werden soll.

otPlatDnsUpstreamQueryDone

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

Die Plattform ruft diese Funktion auf, um die DNS-Abfrage abzuschließen.

Die Transaktion wird freigegeben, sodass die Plattform dieselbe Transaktion nicht zweimal aufrufen darf. Diese Funktion übergibt die Eigentümerschaft von aResponse an den OpenThread-Stack.

Die Plattform kann einen Nullptr-Wert übergeben, um eine Transaktion ohne Antwort zu schließen.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aTxn
Ein Zeiger auf das intransparente DNS-Abfragetransaktionsobjekt.
[in] aResponse
Ein Nachrichtenpuffer der DNS-Antwortnutzlast oder nullptr zum Schließen einer Transaktion ohne Antwort.

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.