سرور 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
}
شمارش
این شمارش نوع پرس و جوی 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 را تنظیم می کند.

سازه ها

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

otDnssdQueryUnsubscribe Callback

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، aSubscribe را aUnsubscribe می کند و زمانی که درخواست حل شد یا مهلت زمانی تمام شد، برای لغو اشتراک، لغو اشتراک را لغو می کند.

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

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.