DNS-SD-Server

Dieses Modul enthält APIs für DNS-SD-Server.

Fazit

Aufzählungen

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
}
enum
Diese Aufzählung gibt einen DNS-SD-Abfragetyp an.

Typdef.

otDnssdCounters Typdef
Diese Struktur enthält die Zähler des DNS-SD-Servers.
otDnssdHostInfo Typdef
Diese Struktur stellt Informationen eines erkannten Hosts für eine DNS-SD-Abfrage dar.
otDnssdQuery Typdef
void
Dieser undurchsichtige Typ stellt eine DNS-SD-Abfrage dar.
otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName) Typdef
void(*
Diese Funktion wird aufgerufen, wenn bei einer DNS-SD-Abfrage eine der folgenden Quellen abonniert wird:
otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName) Typdef
void(*
Diese Funktion wird aufgerufen, wenn eine DNS-SD-Abfrage eines der folgenden Elemente abmeldet:
otDnssdServiceInstanceInfo Typdef
Diese Struktur stellt Informationen einer erkannten Dienstinstanz für eine DNS-SD-Abfrage dar.

Funktionen

otDnssdGetCounters(otInstance *aInstance)
const otDnssdCounters *
Diese Funktion gibt die Zähler des DNS-SD-Servers zurück.
otDnssdGetNextQuery(otInstance *aInstance, const otDnssdQuery *aQuery)
const otDnssdQuery *
Diese Funktion ruft die nächste Abfrage auf dem DNS-SD-Server ab.
otDnssdGetQueryTypeAndName(const otDnssdQuery *aQuery, char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE])
Mit dieser Funktion werden der DNS-SD-Abfragetyp und der Name für eine bestimmte Abfrage abgerufen.
otDnssdQueryHandleDiscoveredHost(otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo)
void
Diese Funktion benachrichtigt einen erkannten Host.
otDnssdQueryHandleDiscoveredServiceInstance(otInstance *aInstance, const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo)
void
Diese Funktion benachrichtigt eine erkannte Dienstinstanz.
otDnssdQuerySetCallbacks(otInstance *aInstance, otDnssdQuerySubscribeCallback aSubscribe, otDnssdQueryUnsubscribeCallback aUnsubscribe, void *aContext)
void
Mit dieser Funktion werden Callbacks für DNS-SD-Serverabfragen festgelegt.

Strebenklemmen

otDnssdCounter

Diese Struktur enthält die Zähler des DNS-SD-Servers.

otDnssdHostInfo

Diese Struktur stellt Informationen eines erkannten Hosts für eine DNS-SD-Abfrage dar.

otDnssdServiceInstanceInfo

Diese Struktur stellt Informationen einer erkannten Dienstinstanz für eine DNS-SD-Abfrage dar.

Aufzählungen

otDnssdQueryType

 otDnssdQueryType

Diese Aufzählung gibt einen DNS-SD-Abfragetyp an.

Attribute
OT_DNSSD_QUERY_TYPE_BROWSE

Diensttyp-Suche

OT_DNSSD_QUERY_TYPE_NONE

Der Diensttyp ist nicht angegeben.

OT_DNSSD_QUERY_TYPE_RESOLVE

Diensttyp auflösen die Dienstinstanz.

OT_DNSSD_QUERY_TYPE_RESOLVE_HOST

Diensttyp löst den Hostnamen auf.

Typdef.

otDnssdZähler

struct otDnssdCounters otDnssdCounters

Diese Struktur enthält die Zähler des DNS-SD-Servers.

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

Diese Struktur stellt Informationen eines erkannten Hosts für eine DNS-SD-Abfrage dar.

otDnssdQuery

void otDnssdQuery

Dieser undurchsichtige Typ stellt eine DNS-SD-Abfrage dar.

otDnssdQueryAbonnierenCallback

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

Diese Funktion wird aufgerufen, wenn bei einer DNS-SD-Abfrage eine der folgenden Quellen abonniert wird:

  1. Dienstname auswählen.
  2. Name einer Dienstinstanz
  3. angeben.

Die Implementierung der DNS-SD-Abfragen dient der Identifizierung von aFullName. Wenn aFullName ein Dienstname oder Dienstinstanzname ist, sollte die DNS-SD-Abfrageimplementierung die entsprechenden Dienstinstanzinformationen erkennen und den DNS-SD-Server mithilfe von otDnssdQueryHandleDiscoveredServiceInstance benachrichtigen. Wenn aFullName ein Hostname ist, sollte die DNS-SD-Abfrageimplementierung die Hostinformationen erkennen und den DNS-SD-Server mit otDnssdQueryHandleDiscoveredHost benachrichtigen.

Details
Parameter
[in] aContext
Ein Hinweis auf den anwendungsspezifischen Kontext.
[in] aFullName
Der vollständig beendete Dienstname (z. B. "_ipps._tcp.default.service.arpa.") oder der vollständige Dienstinstanzname (z. B. "OpenThread._ipps._tcp.default.service.arpa.") oder der vollständige Hostname (z. B. "ot-host.default.arpa).
Weitere Informationen:
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleDiscoveredHost

otDnssdQueryAbmelden

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

Diese Funktion wird aufgerufen, wenn eine DNS-SD-Abfrage eines der folgenden Elemente abmeldet:

  1. Dienstname auswählen.
  2. Name einer Dienstinstanz
  3. angeben.

Die Implementierung der DNS-SD-Abfragen hat Einfluss darauf, was aFullName ist.

Details
Parameter
[in] aContext
Ein Hinweis auf den anwendungsspezifischen Kontext.
[in] aFullName
Der vollständige Dienstname mit Null beendet (z.B. "_ipps._tcp.default.service.arpa.") oder der Name der Dienstinstanz (z.B. "OpenThread._ipps._tcp.default.service.arpa.").

otDnssdServiceInstanceInfo

struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo

Diese Struktur stellt Informationen einer erkannten Dienstinstanz für eine DNS-SD-Abfrage dar.

Funktionen

otDnssdGetZähler

const otDnssdCounters * otDnssdGetCounters(
  otInstance *aInstance
)

Diese Funktion gibt die Zähler des DNS-SD-Servers zurück.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
Rückgabe
Ein Zeiger auf die Zähler des DNS-SD-Servers.

otDnssDGetNextQuery

const otDnssdQuery * otDnssdGetNextQuery(
  otInstance *aInstance,
  const otDnssdQuery *aQuery
)

Diese Funktion ruft die nächste Abfrage auf dem DNS-SD-Server ab.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aQuery
Der Abfragezeiger. Übergeben Sie NULL, um die erste Abfrage abzurufen.
Rückgabe
Ein Verweis auf die Abfrage oder NULL, wenn keine Abfragen mehr vorhanden sind.

otDnssdGetQueryTypeAndName

otDnssdQueryType otDnssdGetQueryTypeAndName(
  const otDnssdQuery *aQuery,
  char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE]
)

Mit dieser Funktion werden der DNS-SD-Abfragetyp und der Name für eine bestimmte Abfrage abgerufen.

Details
Parameter
[in] aQuery
Der Abfragezeiger, der von otDnssdGetNextQuery akquiriert wurde.
[out] aNameOutput
Der Namensausgabezwischenspeicher, der OT_DNS_MAX_NAME_SIZE Byte lang sein muss.
Rückgabe
Der DNS-SD-Abfragetyp.

otDnssdQueryHandleDiscoveredHost

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

Diese Funktion benachrichtigt einen erkannten Host.

Der externe Resolver (z.B. der Discovery-Proxy) sollte diese Funktion aufrufen, um den OpenThread-Kern der abonnierten Hosts zu benachrichtigen.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aHostFullName
Der vollständige Hostname mit Nullende.
[in] aHostInfo
Ein Verweis auf die erkannten Dienstinstanzinformationen.

otDnssdQueryHandleDiscoveredServiceInstance

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

Diese Funktion benachrichtigt eine erkannte Dienstinstanz.

Der externe Abfragelöser (z.B. Discovery Proxy) sollte diese Funktion aufrufen, um den OpenThread-Kern der abonnierten Dienste oder Dienstinstanzen zu benachrichtigen.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aServiceFullName
Der vollständige Servicename mit Nullende.
[in] aInstanceInfo
Ein Verweis auf die erkannten Dienstinstanzinformationen.

otDnssdQuerySetCallbacks

void otDnssdQuerySetCallbacks(
  otInstance *aInstance,
  otDnssdQuerySubscribeCallback aSubscribe,
  otDnssdQueryUnsubscribeCallback aUnsubscribe,
  void *aContext
)

Mit dieser Funktion werden Callbacks für DNS-SD-Serverabfragen festgelegt.

Der DNS-SD-Server ruft aSubscribe auf, um einen Dienst oder eine Dienstinstanz zu abonnieren, um eine DNS-SD-Abfrage aufzulösen, und aUnsubscribe, um sie abzumelden, wenn die Abfrage aufgelöst wurde oder eine Zeitüberschreitung aufgetreten ist.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aSubscribe
Ein Verweis auf die Callback-Funktion, um einen Dienst oder eine Dienstinstanz zu abonnieren.
[in] aUnsubscribe
Ein Verweis auf die Callback-Funktion, mit der Dienste oder Dienstinstanzen beendet werden.
[in] aContext
Ein Hinweis auf den anwendungsspezifischen Kontext.

Ressourcen

Die Themen der Referenzthread API basieren auf dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen sowie die Möglichkeit, in unserer Dokumentation mitzuwirken, finden Sie unter Ressourcen.