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
}
enum
DNS-SD クエリタイプを指定します。

Typedef

otDnssdCounters typedef
DNS-SD サーバーのカウンタが含まれています。
otDnssdHostInfo typedef
DNS-SD クエリで検出されたホストの情報を表します。
otDnssdQuery typedef
void
この opaque 型は 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 サーバークエリ コールバックを設定します。
otDnssdUpstreamQueryIsEnabled(otInstance *aInstance)
bool
DNSSD サーバーが DNS クエリをプラットフォームの DNS アップストリーム API に転送するかどうかを返します。
otDnssdUpstreamQuerySetEnabled(otInstance *aInstance, bool aEnabled)
void
プラットフォームの DNS アップストリーム API への DNS クエリの転送を有効または無効にします。

構造体

otDnssdCounters

DNS-SD サーバーのカウンタが含まれています。

otDnssdHostInfo

DNS-SD クエリで検出されたホストの情報を表します。

otDnssdServiceInstanceInfo

DNS-SD クエリで検出されたサービス インスタンスの情報を表します。

列挙型

otDnssdQueryType

 otDnssdQueryType

DNS-SD クエリタイプを指定します。

プロパティ
OT_DNSSD_QUERY_TYPE_BROWSE

サービスタイプの参照サービス。

OT_DNSSD_QUERY_TYPE_NONE

サービスタイプが指定されていません。

OT_DNSSD_QUERY_TYPE_RESOLVE

サービスタイプがサービス インスタンスを解決します。

OT_DNSSD_QUERY_TYPE_RESOLVE_HOST

サービスタイプがホスト名を解決します。

Typedef

otDnssdCounters

struct otDnssdCounters otDnssdCounters

DNS-SD サーバーのカウンタが含まれています。

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

DNS-SD クエリで検出されたホストの情報を表します。

otDnssdQuery

void otDnssdQuery

この opaque 型は DNS-SD クエリを表します。

otDnssdQuerySubscribeCallback

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

DNS-SD クエリが次のいずれかをサブスクライブしたときに呼び出されます。

  1. 指定します。
  2. 指定します。
  3. 入力します。

DNS-SD クエリの実装は、aFullName を識別する役割を担います。aFullName がサービス名またはサービス インスタンス名の場合、DNS-SD クエリ実装は対応するサービス インスタンス情報を検出し、otDnssdQueryHandleDiscoveredServiceInstance を使用して DNS-SD サーバーに通知する必要があります。aFullName がホスト名の場合、DNS-SD クエリの実装はホスト情報を検出し、otDnssdQueryHandleDiscoveredHost を使用して DNS-SD サーバーに通知する必要があります。

詳細
パラメータ
[in] aContext
アプリケーション固有のコンテキストへのポインタ。
[in] aFullName
null で終わる完全なサービス名(例: 「_ipps._tcp.default.service.arpa.」)、完全なサービスのインスタンス名(例: 「OpenThread._ipps._tcp.default.service.arpa.」)、完全なホスト名(例: ot-host.default.service.arpa)。
関連項目:
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleDiscoveredHost

otDnssdQueryUnsubscribeCallback

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

DNS-SD クエリが次のいずれかをサブスクライブ解除したときに呼び出されます。

  1. 指定します。
  2. 指定します。
  3. 入力します。

DNS-SD クエリの実装は、aFullName を識別する役割を担います。

詳細
パラメータ
[in] aContext
アプリケーション固有のコンテキストへのポインタ。
[in] aFullName
null で終わる完全なサービス名(例: 「_ipps._tcp.default.service.arpa」)、または完全なサービスのインスタンス名(例: 「OpenThread._ipps._tcp.default.service.arpa」)。

otDnssdServiceInstanceInfo

struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo

DNS-SD クエリで検出されたサービス インスタンスの情報を表します。

関数

otDnssdGetCounters

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 クエリタイプ。

otDnssdQueryHandleDiscoveredHost

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

検出されたホストに通知します。

外部のクエリ リゾルバ(Discovery Proxy など)は、この関数を呼び出して、サブスクライブされたホストを OpenThread コアに通知する必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
[in] aHostFullName
null で終わる完全なホスト名。
[in] aHostInfo
検出されたサービス インスタンス情報へのポインタ。

otDnssdQueryHandleDiscoveredServiceInstance

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

検出されたサービス インスタンスに通知します。

外部のクエリ リゾルバ(Discovery Proxy など)は、この関数を呼び出して、サブスクライブされたサービスまたはサービス インスタンスを OpenThread コアに通知する必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
[in] aServiceFullName
null で終わる完全なサービス名。
[in] aInstanceInfo
検出されたサービス インスタンス情報へのポインタ。

otDnssdQuerySetCallbacks

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

DNS-SD サーバークエリ コールバックを設定します。

DNS-SD サーバーは、DNS-SD クエリを解決するためにサービスまたはサービス インスタンスをサブスクライブするために aSubscribe を呼び出し、クエリが解決またはタイムアウトしたときにサブスクライブ解除するために aUnsubscribe を呼び出します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
[in] aSubscribe
サービスまたはサービス インスタンスをサブスクライブするためのコールバック関数へのポインタ。
[in] aUnsubscribe
サービスまたはサービス インスタンスの登録を解除するコールバック関数へのポインタ。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otDnssdUpstreamQueryIsEnabled

bool otDnssdUpstreamQueryIsEnabled(
  otInstance *aInstance
)

DNSSD サーバーが DNS クエリをプラットフォームの DNS アップストリーム API に転送するかどうかを返します。

OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE が有効な場合に利用可能です。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
TRUE
DNSSD サーバーが DNS クエリを転送するかどうか。
FALSE
DNSSD サーバーが DNS クエリを転送しない場合。
関連情報:
otDnssdUpstreamQuerySetEnabled

otDnssdUpstreamQuerySetEnabled

void otDnssdUpstreamQuerySetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

プラットフォームの DNS アップストリーム API への DNS クエリの転送を有効または無効にします。

OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE が有効な場合に利用可能です。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aEnabled
アップストリームへの DNS クエリの転送を有効または無効にするブール値。
関連項目:
otPlatDnsStartUpstreamQuery
otPlatDnsCancelUpstreamQuery
otPlatDnsUpstreamQueryDone

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。