سرور DNS-SD

این ماژول شامل API برای سرور DNS-SD است.

خلاصه

شمارش ها

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 را مشخص می کند.

Typedefs

otDnssdCounters typedef
شامل شمارنده های سرور DNS-SD است.
otDnssdHostInfo typedef
اطلاعات یک میزبان کشف شده برای یک پرس و جوی DNS-SD را نشان می دهد.
otDnssdQuery typedef
void
این نوع مات نشان دهنده پرس و جوی 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)
شمارنده های سرور 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 را به API بالادستی DNS پلت فرم ارسال می کند یا خیر.
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

نوع سرویس حل نام میزبان.

Typedefs

otDnssdCounters

struct otDnssdCounters otDnssdCounters

شامل شمارنده های سرور DNS-SD است.

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

اطلاعات یک میزبان کشف شده برای یک پرس و جوی DNS-SD را نشان می دهد.

otDnssdQuery

void otDnssdQuery

این نوع مات نشان دهنده پرس و جوی 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
نام کامل سرویس پایان‌یافته (مثلاً «_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
نام کامل سرویس بدون پایان (مثلاً "_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
نام کامل میزبان تهی شده.
[in] aHostInfo
اشاره گر به اطلاعات نمونه سرویس کشف شده.

otDnssdQueryHandleDiscoveredServiceInstance

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

به یک نمونه سرویس کشف شده اطلاع می دهد.

حل‌کننده پرس و جو خارجی (مثلاً Discovery Proxy) باید این تابع را فراخوانی کند تا هسته OpenThread را از سرویس‌های مشترک یا نمونه‌های سرویس مطلع کند.

جزئیات
مولفه های
[in] aInstance
ساختار نمونه OpenThread.
[in] aServiceFullName
نام کامل سرویس خاتمه یافته.
[in] aInstanceInfo
اشاره گر به اطلاعات نمونه سرویس کشف شده.

otDnssdQuerySetCallbacks

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

پاسخ تماس های درخواستی سرور DNS-SD را تنظیم می کند.

سرور DNS-SD برای اشتراک در یک سرویس یا نمونه سرویس، برای حل یک جستار DNS-SD، aUnsubscribe aSubscribe و زمانی که درخواست حل شد یا به پایان رسید، برای لغو اشتراک از عضویت خارج می‌شود.

جزئیات
مولفه های
[in] aInstance
ساختار نمونه OpenThread.
[in] aSubscribe
یک اشاره گر به عملکرد برگشت به تماس برای اشتراک یک سرویس یا نمونه سرویس.
[in] aUnsubscribe
یک اشاره گر به عملکرد برگشت به تماس برای لغو اشتراک یک سرویس یا نمونه سرویس.
[in] aContext
اشاره گر به زمینه خاص برنامه.

otDnssdUpstreamQueryIsEnabled

bool otDnssdUpstreamQueryIsEnabled(
  otInstance *aInstance
)

نشان می دهد که آیا سرور DNSSD پرس و جوهای DNS را به API بالادستی DNS پلت فرم ارسال می کند یا خیر.

زمانی در دسترس است که 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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.