Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

DNSv6

تتضمن هذه الوحدة الوظائف التي تتحكم في اتصال DNS.

ملخص

تتوفر الوظائف في هذه الوحدة فقط إذا تم تمكين الميزة OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE .

التعداد

otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
تعداد
يمثل نوع التعداد هذا علامة "العودية otDnsQueryConfig " (RD) في otDnsQueryConfig .

النوع

otDnsAddressCallback )(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
يتم استدعاء مؤشر الوظيفة هذا عند تلقي استجابة DNS لاستعلام تحليل العنوان.
otDnsAddressResponse typedef
هذا النوع هو تمثيل معتم للاستجابة لاستعلام DNS لتحليل العنوان.
otDnsBrowseCallback )(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
يتم استدعاء مؤشر الوظيفة هذا عند تلقي استجابة DNS لاستعلام استعراض (تعداد مثيل الخدمة).
otDnsBrowseResponse typedef
هذا النوع هو تمثيل معتم لاستجابة لاستعلام DNS للتصفح (تعداد مثيل الخدمة).
otDnsQueryConfig typedef
يمثل هذا الهيكل تكوين استعلام DNS.
otDnsServiceCallback )(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
يتم استدعاء مؤشر الوظيفة هذا عند تلقي استجابة DNS لاستعلام دقة مثيل الخدمة.
otDnsServiceInfo typedef
يوفر هذا الهيكل معلومات لمثيل خدمة DNS.
otDnsServiceResponse typedef
هذا النوع هو تمثيل مبهم لاستجابة لاستعلام DNS لتحليل مثيل الخدمة.

المهام

otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
تحصل هذه الوظيفة على عنوان IPv6 المرتبط باستجابة DNS لتحليل العنوان.
otDnsAddressResponseGetHostName (const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
تحصل هذه الوظيفة على اسم المضيف الكامل المرتبط باستجابة DNS لتحليل العنوان.
otDnsBrowseResponseGetHostAddress (const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
تحصل هذه الوظيفة على عنوان IPv6 للمضيف من استجابة استعراض DNS (تعداد مثيل الخدمة).
otDnsBrowseResponseGetServiceInfo (const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
تحصل هذه الوظيفة على معلومات لمثيل خدمة من استجابة استعراض DNS (تعداد مثيل الخدمة).
otDnsBrowseResponseGetServiceInstance (const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
تحصل هذه الوظيفة على مثيل خدمة مرتبط باستجابة استعراض DNS (تعداد مثيل الخدمة).
otDnsBrowseResponseGetServiceName (const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
تحصل هذه الوظيفة على اسم الخدمة المرتبط باستجابة استعراض DNS (تعداد مثيل الخدمة).
otDnsClientBrowse ( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
ترسل هذه الوظيفة استعلام استعراض DNS (تعداد مثيل الخدمة) لاسم خدمة معين.
otDnsClientGetDefaultConfig ( otInstance *aInstance)
تحصل هذه الوظيفة على تكوين الاستعلام الافتراضي الحالي الذي يستخدمه عميل DNS.
otDnsClientResolveAddress ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
ترسل هذه الوظيفة استعلام DNS لتحليل العنوان لسجل (سجلات) AAAA (IPv6) لاسم مضيف معين.
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
ترسل هذه الوظيفة استعلام دقة مثيل خدمة DNS لمثيل خدمة معين.
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
تحدد هذه الوظيفة تكوين الاستعلام الافتراضي على عميل DNS.
otDnsServiceResponseGetHostAddress (const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
تحصل هذه الوظيفة على عنوان IPv6 للمضيف من استجابة دقة مثيل خدمة DNS.
otDnsServiceResponseGetServiceInfo (const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
تحصل هذه الوظيفة على معلومات لمثيل خدمة من استجابة دقة مثيل خدمة DNS.
otDnsServiceResponseGetServiceName (const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
تحصل هذه الوظيفة على اسم مثيل الخدمة المرتبط باستجابة دقة مثيل خدمة DNS.

الهياكل

otDnsQueryConfig

يمثل هذا الهيكل تكوين استعلام DNS.

otDnsServiceInfo

يوفر هذا الهيكل معلومات لمثيل خدمة DNS.

التعداد

otDnsRecursionFlag

 otDnsRecursionFlag

يمثل نوع التعداد هذا علامة "العودية otDnsQueryConfig " (RD) في otDnsQueryConfig .

ملكيات
OT_DNS_FLAG_NO_RECURSION

يشير إلى أن خادم اسم DNS لا يمكنه حل الاستعلام بشكل متكرر.

OT_DNS_FLAG_RECURSION_DESIRED

يشير إلى أن خادم اسم DNS يمكنه حل الاستعلام بشكل متكرر.

OT_DNS_FLAG_UNSPECIFIED

يشير إلى أن العلم غير محدد.

النوع

otDnsAddressCallback

void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)

يتم استدعاء مؤشر الوظيفة هذا عند تلقي استجابة DNS لاستعلام تحليل العنوان.

ضمن رد الاتصال هذا ، يمكن للمستخدم استخدام otDnsAddressResponseGet{Item}() جنبًا إلى جنب مع مؤشر aResponse للحصول على مزيد من المعلومات حول الاستجابة.

لا يمكن استخدام مؤشر aResponse إلا ضمن رد الاتصال هذا وبعد العودة من هذه الوظيفة لن يظل صالحًا ، لذلك يجب ألا يحتفظ المستخدم بمؤشر aResponse لاستخدامه لاحقًا.

يمكن أن يحتوي aError على ما يلي:

تفاصيل
العوامل
[in] aError
نتيجة معاملة DNS.
[in] aResponse
مؤشر إلى الاستجابة (يكون دائمًا غير فارغ).
[in] aContext
مؤشر إلى سياق خاص بالتطبيق.

  • OT_ERROR_NONE تم استلام الرد بنجاح.
  • OT_ERROR_ABORT تم إحباط معاملة DNS بواسطة المكدس.
  • OT_ERROR_RESPONSE_TIMEOUT لم يتم تلقي استجابة DNS في غضون المهلة.

إذا رفض الخادم تحليل العنوان ، فاطلب تعيين رمز الخطأ من الخادم على النحو التالي:

  • (0) NOERROR Success (بلا حالة خطأ) -> OT_ERROR_NONE
  • (1) تعذر على خادم FORMERR التفسير بسبب خطأ في التنسيق -> OT_ERROR_PARSE
  • (2) واجه SERVFAIL Server فشلًا داخليًا -> OT_ERROR_FAILED
  • (3) اسم NXDOMAIN الذي يجب أن يكون موجودًا ، غير موجود -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server لا يدعم نوع الاستعلام (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) رفض الخادم المرفوض لأسباب تتعلق بالسياسة / الأمان -> OT_ERROR_SECURITY
  • (6) YXDOMAIN بعض الأسماء التي لا يجب أن توجد ، موجودة -> OT_ERROR_DUPLICATED
  • (7) YXRRSET بعض مجموعة RR التي لا يجب أن تكون موجودة ، موجودة -> OT_ERROR_DUPLICATED
  • (8) NXRRSET بعض مجموعة RR التي يجب أن تكون موجودة ، غير موجودة -> OT_ERROR_NOT_FOUND
  • (9) خدمة NOTAUTH ليست مخولة للمنطقة -> OT_ERROR_SECURITY
  • (10) NOTZONE اسم غير موجود في المنطقة -> OT_ERROR_PARSE
  • (20) BADNAME اسم سيء -> OT_ERROR_PARSE
  • (21) BADALG خوارزمية سيئة -> OT_ERROR_SECURITY
  • (22) BADTRUN اقتطاع غير صحيح -> OT_ERROR_PARSE
  • رموز الاستجابة الأخرى -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

هذا النوع هو تمثيل معتم للاستجابة لاستعلام DNS لتحليل العنوان.

يتم توفير مؤشرات إلى مثيل من هذا النوع من رد الاتصال otDnsAddressCallback .

otDnsBrowse رد الاتصال

void(* otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)

يتم استدعاء مؤشر الوظيفة هذا عند تلقي استجابة DNS لاستعلام استعراض (تعداد مثيل الخدمة).

ضمن رد الاتصال هذا ، يمكن للمستخدم استخدام otDnsBrowseResponseGet{Item}() جنبًا إلى جنب مع مؤشر aResponse للحصول على مزيد من المعلومات حول الاستجابة.

لا يمكن استخدام مؤشر aResponse إلا ضمن رد الاتصال هذا وبعد العودة من هذه الوظيفة لن يظل صالحًا ، لذلك يجب ألا يحتفظ المستخدم بمؤشر aResponse لاستخدامه لاحقًا.

للحصول على القائمة الكاملة للقيم المحتملة لـ aError ، يرجى مراجعة otDnsAddressCallback() .

تفاصيل
العوامل
[in] aError
نتيجة معاملة DNS.
[in] aResponse
مؤشر إلى الاستجابة (يكون دائمًا غير فارغ).
[in] aContext
مؤشر إلى سياق خاص بالتطبيق.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

هذا النوع هو تمثيل معتم لاستجابة لاستعلام DNS للاستعراض (تعداد مثيل الخدمة).

يتم توفير مؤشرات إلى مثيل من هذا النوع من رد الاتصال otDnsBrowseCallback .

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

يمثل هذا الهيكل تكوين استعلام DNS.

يمكن تعيين أي حقل من الحقول في هذه البنية على صفر للإشارة إلى أنه غير محدد. يتم تحديد كيفية معالجة الحقول غير المحددة بواسطة الوظيفة التي تستخدم مثيل otDnsQueryConfig .

otDnsServiceCallback

void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)

يتم استدعاء مؤشر الوظيفة هذا عند تلقي استجابة DNS لاستعلام دقة مثيل الخدمة.

ضمن رد الاتصال هذا ، يمكن للمستخدم استخدام otDnsServiceResponseGet{Item}() جنبًا إلى جنب مع مؤشر aResponse للحصول على مزيد من المعلومات حول الاستجابة.

لا يمكن استخدام مؤشر aResponse إلا ضمن رد الاتصال هذا وبعد العودة من هذه الوظيفة لن يظل صالحًا ، لذلك يجب ألا يحتفظ المستخدم بمؤشر aResponse لاستخدامه لاحقًا.

للحصول على القائمة الكاملة للقيم المحتملة لـ aError ، يرجى مراجعة otDnsAddressCallback() .

تفاصيل
العوامل
[in] aError
نتيجة معاملة DNS.
[in] aResponse
مؤشر إلى الاستجابة (يكون دائمًا غير فارغ).
[in] aContext
مؤشر إلى سياق خاص بالتطبيق.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

يوفر هذا الهيكل معلومات لمثيل خدمة DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

هذا النوع هو تمثيل مبهم لاستجابة لاستعلام DNS لتحليل مثيل الخدمة.

يتم توفير مؤشرات إلى مثيل من هذا النوع من رد الاتصال otDnsAddressCallback .

المهام

otDnsAddressResponseGetAddress

otError otDnsAddressResponseGetAddress(
  const otDnsAddressResponse *aResponse,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

تحصل هذه الوظيفة على عنوان IPv6 المرتبط باستجابة DNS لتحليل العنوان.

يجب استخدام هذه الوظيفة فقط من otDnsAddressCallback .

قد تتضمن الاستجابة سجلات عناوين IPv6 متعددة. يمكن استخدام aIndex للتكرار من خلال قائمة العناوين. يحصل الفهرس صفر على العنوان الأول وما إلى ذلك. عندما نصل إلى نهاية القائمة ، يتم إرجاع OT_ERROR_NOT_FOUND .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[in] aIndex
فهرس سجل العنوان المطلوب استرداده.
[out] aAddress
مؤشر إلى عنوان IPv6 لإخراج العنوان (يجب ألا يكون فارغًا).
[out] aTtl
مؤشر إلى uint32_t لإخراج TTL للعنوان. يمكن أن يكون NULL إذا كان المتصل لا يريد الحصول على TTL.
إرجاع القيم
OT_ERROR_NONE
تمت قراءة العنوان بنجاح.
OT_ERROR_NOT_FOUND
لا يوجد سجل عنوان في aResponse في aIndex .
OT_ERROR_PARSE
تعذر تحليل السجلات في aResponse .

otDnsAddressResponseGetHostName

otError otDnsAddressResponseGetHostName(
  const otDnsAddressResponse *aResponse,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

تحصل هذه الوظيفة على اسم المضيف الكامل المرتبط باستجابة DNS لتحليل العنوان.

يجب استخدام هذه الوظيفة فقط من otDnsAddressCallback .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[out] aNameBuffer
مخزن مؤقت لصفيف char لإخراج اسم المضيف الكامل (يجب ألا يكون فارغًا).
[in] aNameBufferSize
حجم aNameBuffer .
إرجاع القيم
OT_ERROR_NONE
تمت قراءة اسم المضيف الكامل بنجاح.
OT_ERROR_NO_BUFS
الاسم لا يتناسب مع aNameBuffer .

otDnsBrowseResponseGetHostAddress

otError otDnsBrowseResponseGetHostAddress(
  const otDnsBrowseResponse *aResponse,
  const char *aHostName,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

تحصل هذه الوظيفة على عنوان IPv6 للمضيف من استجابة استعراض DNS (تعداد مثيل الخدمة).

يجب استخدام هذه الوظيفة فقط من otDnsBrowseCallback .

يمكن أن تتضمن الاستجابة صفرًا أو أكثر من سجلات عناوين IPv6. يمكن استخدام aIndex للتكرار من خلال قائمة العناوين. يحصل الفهرس صفر على العنوان الأول وما إلى ذلك. عندما نصل إلى نهاية القائمة ، يتم إرجاع OT_ERROR_NOT_FOUND .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[in] aHostName
اسم المضيف الذي سيحصل على العنوان (يجب ألا يكون فارغًا).
[in] aIndex
فهرس سجل العنوان المطلوب استرداده.
[out] aAddress
مؤشر إلى عنوان IPv6 لإخراج العنوان (يجب ألا يكون فارغًا).
[out] aTtl
مؤشر إلى uint32_t لإخراج TTL للعنوان. يمكن أن يكون NULL إذا كان المتصل لا يريد الحصول على TTL.
إرجاع القيم
OT_ERROR_NONE
تمت قراءة العنوان بنجاح.
OT_ERROR_NOT_FOUND
لا يوجد سجل عنوان aHostname في aResponse في aIndex .
OT_ERROR_PARSE
تعذر تحليل السجلات في aResponse .

otDnsBrowseResponseGetServiceInfo

otError otDnsBrowseResponseGetServiceInfo(
  const otDnsBrowseResponse *aResponse,
  const char *aInstanceLabel,
  otDnsServiceInfo *aServiceInfo
)

تحصل هذه الوظيفة على معلومات لمثيل خدمة من استجابة استعراض DNS (تعداد مثيل الخدمة).

يجب استخدام هذه الوظيفة فقط من otDnsBrowseCallback .

يجب أن تتضمن استجابة DNS للتصفح سجلات SRV و TXT و AAAA لمثيلات الخدمة التي تم تعدادها (لاحظ أنه "يجب" وليس من المتطلبات). تحاول هذه الوظيفة استرداد هذه المعلومات لمثيل خدمة معين عند توفرها.

  • إذا تم العثور على أي سجل SRV مطابق في aResponse ، OT_ERROR_NOT_FOUND يتم إرجاعها.
  • إذا تم العثور على سجل SRV مطابق في aResponse ، aServiceInfo يتم تحديثها و OT_ERROR_NONE يتم إرجاعها.
  • إذا تم العثور على أي سجل TXT مطابق في aResponse ، mTxtDataSize في aServiceInfo تم تعيين إلى الصفر.
  • إذا تم العثور على أي سجل AAAA مطابق في aResponse ، mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse, فسيتم is set to the first one. The other addresses can be retrieved using mHostAddress is set to the first one. The other addresses can be retrieved using otDnsBrowseResponseGetHostAddress () `.

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[in] aInstanceLabel
تسمية مثيل الخدمة (يجب ألا تكون فارغة).
[out] aServiceInfo
ServiceInfo لإخراج معلومات مثيل الخدمة (يجب ألا تكون فارغة).
إرجاع القيم
OT_ERROR_NONE
تمت قراءة معلومات مثيل الخدمة. يتم تحديث aServiceInfo .
OT_ERROR_NOT_FOUND
تعذر العثور على سجل SRV مطابق لـ aInstanceLabel .
OT_ERROR_NO_BUFS
لا يمكن احتواء اسم المضيف و / أو بيانات TXT في المخازن المؤقتة المحددة.
OT_ERROR_PARSE
تعذر تحليل السجلات في aResponse .

otDnsBrowseResponseGetServiceInstance

otError otDnsBrowseResponseGetServiceInstance(
  const otDnsBrowseResponse *aResponse,
  uint16_t aIndex,
  char *aLabelBuffer,
  uint8_t aLabelBufferSize
)

تحصل هذه الوظيفة على مثيل خدمة مرتبط باستجابة استعراض DNS (تعداد مثيل الخدمة).

يجب استخدام هذه الوظيفة فقط من otDnsBrowseCallback .

قد تتضمن الاستجابة سجلات مثيل خدمة متعددة. يمكن استخدام aIndex للتكرار من خلال القائمة. يعطي الفهرس صفر السجل الأول. عندما نصل إلى نهاية القائمة ، يتم إرجاع OT_ERROR_NOT_FOUND .

لاحظ أن هذه الوظيفة تحصل على تسمية مثيل الخدمة وليس اسم مثيل الخدمة الكامل الموجود في النموذج . . . . .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[in] aIndex
فهرس سجل مثيل الخدمة المطلوب استرداده.
[out] aLabelBuffer
مخزن مؤقت لصفيف حرف لإخراج تسمية مثيل الخدمة (يجب ألا يكون فارغًا).
[in] aLabelBufferSize
حجم aLabelBuffer .
إرجاع القيم
OT_ERROR_NONE
تمت قراءة مثيل الخدمة بنجاح.
OT_ERROR_NO_BUFS
الاسم لا يتناسب مع aNameBuffer .
OT_ERROR_NOT_FOUND
لا يوجد سجل مثيل خدمة في aResponse في aIndex .
OT_ERROR_PARSE
تعذر تحليل السجلات في aResponse .

otDnsBrowseResponseGetServiceName

otError otDnsBrowseResponseGetServiceName(
  const otDnsBrowseResponse *aResponse,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

تحصل هذه الوظيفة على اسم الخدمة المرتبط باستجابة استعراض DNS (تعداد مثيل الخدمة).

يجب استخدام هذه الوظيفة فقط من otDnsBrowseCallback .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[out] aNameBuffer
مخزن مؤقت لصفيف حرف لإخراج اسم الخدمة (يجب ألا يكون فارغًا).
[in] aNameBufferSize
حجم aNameBuffer .
إرجاع القيم
OT_ERROR_NONE
تمت قراءة اسم الخدمة بنجاح.
OT_ERROR_NO_BUFS
الاسم لا يتناسب مع aNameBuffer .

otDnsClientBrowse

otError otDnsClientBrowse(
  otInstance *aInstance,
  const char *aServiceName,
  otDnsBrowseCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

ترسل هذه الوظيفة استعلام استعراض DNS (تعداد مثيل الخدمة) لاسم خدمة معين.

هذه الوظيفة متاحة عند تمكين OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE .

يمكن أن يكون aConfig NULL. في هذه الحالة ، سيتم استخدام التكوين الافتراضي (من otDnsClientGetDefaultConfig() ) otDnsClientGetDefaultConfig() لهذا الاستعلام. في aConfig غير aConfig ، يمكن ترك بعض الحقول غير محددة (القيمة صفر). ثم يتم استبدال الحقول غير المحددة بالقيم من التكوين الافتراضي.

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aServiceName
اسم الخدمة المطلوب الاستعلام عنه (يجب ألا يكون فارغًا).
[in] aCallback
مؤشر وظيفة يتم استدعاؤه عند استقبال الاستجابة أو انتهاء المهلة.
[in] aContext
مؤشر إلى معلومات سياق عشوائية.
[in] aConfig
مؤشر إلى التكوين المراد استخدامه لهذا الاستعلام.
إرجاع القيم
OT_ERROR_NONE
تم إرسال الاستعلام بنجاح. سيتم استدعاء aCallback للإبلاغ عن الحالة.
OT_ERROR_NO_BUFS
مخزن مؤقت غير كافٍ لتحضير الاستعلام وإرساله.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

تحصل هذه الوظيفة على تكوين الاستعلام الافتراضي الحالي الذي يستخدمه عميل DNS.

عند بدء تشغيل OpenThread المكدس، يتم تحديد التكوين استعلام DNS الافتراضي من مجموعة من خيارات التكوين العهد القديم مثل OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS ، _DEFAULT_SERVER_PORT ، _DEFAULT_RESPONSE_TIMEOUT ، الخ (انظر config/dns_clinet.h لجميع خيارات التكوين ذات الصلة).

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
مؤشر إلى التكوين الافتراضي الحالي الذي يستخدمه عميل DNS.

otDnsClientResolveAddress

otError otDnsClientResolveAddress(
  otInstance *aInstance,
  const char *aHostName,
  otDnsAddressCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

ترسل هذه الوظيفة استعلام DNS لتحليل العنوان لسجل (سجلات) AAAA (IPv6) لاسم مضيف معين.

يمكن أن يكون aConfig NULL. في هذه الحالة ، سيتم استخدام التكوين الافتراضي (من otDnsClientGetDefaultConfig() ) otDnsClientGetDefaultConfig() لهذا الاستعلام. في aConfig غير aConfig ، يمكن ترك بعض الحقول غير محددة (القيمة صفر). ثم يتم استبدال الحقول غير المحددة بالقيم من التكوين الافتراضي.

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aHostName
اسم المضيف المراد الاستعلام عن العنوان (يجب ألا يكون فارغًا).
[in] aCallback
مؤشر وظيفة يتم استدعاؤه عند استقبال الاستجابة أو انتهاء المهلة.
[in] aContext
مؤشر إلى معلومات سياق عشوائية.
[in] aConfig
مؤشر إلى التكوين المراد استخدامه لهذا الاستعلام.
إرجاع القيم
OT_ERROR_NONE
تم إرسال الاستعلام بنجاح. سيتم استدعاء aCallback للإبلاغ عن الحالة.
OT_ERROR_NO_BUFS
مخزن مؤقت غير كافٍ لتحضير الاستعلام وإرساله.

otDnsClientResolveService

otError otDnsClientResolveService(
  otInstance *aInstance,
  const char *aInstanceLabel,
  const char *aServiceName,
  otDnsServiceCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

ترسل هذه الوظيفة استعلام دقة مثيل خدمة DNS لمثيل خدمة معين.

هذه الوظيفة متاحة عند تمكين OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE .

يمكن أن يكون aConfig NULL. في هذه الحالة ، سيتم استخدام التكوين الافتراضي (من otDnsClientGetDefaultConfig() ) otDnsClientGetDefaultConfig() لهذا الاستعلام. في aConfig غير aConfig ، يمكن ترك بعض الحقول غير محددة (القيمة صفر). ثم يتم استبدال الحقول غير المحددة بالقيم من التكوين الافتراضي.

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aInstanceLabel
تسمية مثيل الخدمة.
[in] aServiceName
اسم الخدمة (مع اسم المثيل الكامل لنموذج aInstanceLabel ).
[in] aCallback
مؤشر وظيفة يتم استدعاؤه عند استقبال الاستجابة أو انتهاء المهلة.
[in] aContext
مؤشر إلى معلومات سياق عشوائية.
[in] aConfig
مؤشر إلى التكوين المراد استخدامه لهذا الاستعلام.
إرجاع القيم
OT_ERROR_NONE
تم إرسال الاستعلام بنجاح. سيتم استدعاء aCallback للإبلاغ عن الحالة.
OT_ERROR_NO_BUFS
مخزن مؤقت غير كافٍ لتحضير الاستعلام وإرساله.

otDnsClientSetDefaultConfig

void otDnsClientSetDefaultConfig(
  otInstance *aInstance,
  const otDnsQueryConfig *aConfig
)

تقوم هذه الوظيفة بتعيين تكوين الاستعلام الافتراضي على عميل DNS.

ملاحظة: أي استعلام مستمر سيستمر في استخدام التكوين من وقت بدئه. سيتم استخدام التكوين الافتراضي الجديد لأي استعلامات DNS مستقبلية. يمكن أن يكون aConfig NULL. في هذه الحالة ، سيتم تعيين التكوين الافتراضي على الإعدادات الافتراضية من خيارات تكوين OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} . يؤدي هذا إلى إعادة تعيين تكوين الاستعلام الافتراضي إلى التكوين عند بدء تشغيل مكدس OpenThread.

في aConfig غير NULL ، يمكن للمتصل اختيار ترك بعض الحقول في مثيل otDnsQueryConfig غير محدد (القيمة صفر). يتم استبدال الحقول غير المحددة بتعريفات خيارات تهيئة OT المقابلة OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} لتشكيل تكوين الاستعلام الافتراضي.

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aConfig
مؤشر إلى تكوين الاستعلام الجديد لاستخدامه كافتراضي.

otDnsServiceResponseGetHostAddress

otError otDnsServiceResponseGetHostAddress(
  const otDnsServiceResponse *aResponse,
  const char *aHostName,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

تحصل هذه الوظيفة على عنوان IPv6 للمضيف من استجابة دقة مثيل خدمة DNS.

يجب استخدام هذه الوظيفة فقط من otDnsServiceCallback .

يمكن أن تتضمن الاستجابة صفرًا أو أكثر من سجلات عناوين IPv6. يمكن استخدام aIndex للتكرار من خلال قائمة العناوين. يحصل الفهرس صفر على العنوان الأول وما إلى ذلك. عندما نصل إلى نهاية القائمة ، يتم إرجاع OT_ERROR_NOT_FOUND .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[in] aHostName
اسم المضيف الذي سيحصل على العنوان (يجب ألا يكون فارغًا).
[in] aIndex
فهرس سجل العنوان المطلوب استرداده.
[out] aAddress
مؤشر إلى عنوان IPv6 لإخراج العنوان (يجب ألا يكون فارغًا).
[out] aTtl
مؤشر إلى uint32_t لإخراج TTL للعنوان. يمكن أن يكون NULL إذا كان المتصل لا يريد الحصول على TTL.
إرجاع القيم
OT_ERROR_NONE
تمت قراءة العنوان بنجاح.
OT_ERROR_NOT_FOUND
لا يوجد سجل عنوان aHostname في aResponse في aIndex .
OT_ERROR_PARSE
تعذر تحليل السجلات في aResponse .

otDnsServiceResponseGetServiceInfo

otError otDnsServiceResponseGetServiceInfo(
  const otDnsServiceResponse *aResponse,
  otDnsServiceInfo *aServiceInfo
)

تحصل هذه الوظيفة على معلومات لمثيل خدمة من استجابة دقة مثيل خدمة DNS.

يجب استخدام هذه الوظيفة فقط من otDnsServiceCallback .

  • إذا تم العثور على أي سجل SRV مطابق في aResponse ، OT_ERROR_NOT_FOUND يتم إرجاعها.
  • إذا تم العثور على سجل SRV مطابق في aResponse ، aServiceInfo يتم تحديثها و OT_ERROR_NONE يتم إرجاعها.
  • إذا تم العثور على أي سجل TXT مطابق في aResponse ، mTxtDataSize في aServiceInfo تم تعيين إلى الصفر.
  • إذا تم العثور على أي سجل AAAA مطابق في aResponse ، mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse, فسيتم is set to the first one. The other addresses can be retrieved using mHostAddress is set to the first one. The other addresses can be retrieved using otDnsServiceResponseGetHostAddress () `.

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[out] aServiceInfo
ServiceInfo لإخراج معلومات مثيل الخدمة (يجب ألا تكون فارغة).
إرجاع القيم
OT_ERROR_NONE
تمت قراءة معلومات مثيل الخدمة. يتم تحديث aServiceInfo .
OT_ERROR_NOT_FOUND
تعذر العثور على سجل SRV مطابق في aResponse .
OT_ERROR_NO_BUFS
لا يمكن احتواء اسم المضيف و / أو بيانات TXT في المخازن المؤقتة المحددة.
OT_ERROR_PARSE
تعذر تحليل السجلات في aResponse .

otDnsServiceResponseGetServiceName

otError otDnsServiceResponseGetServiceName(
  const otDnsServiceResponse *aResponse,
  char *aLabelBuffer,
  uint8_t aLabelBufferSize,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

تحصل هذه الوظيفة على اسم مثيل الخدمة المرتبط باستجابة دقة مثيل خدمة DNS.

يجب استخدام هذه الوظيفة فقط من otDnsServiceCallback .

تفاصيل
العوامل
[in] aResponse
مؤشر للاستجابة.
[out] aLabelBuffer
مخزن مؤقت لصفيف حرف لإخراج تسمية مثيل الخدمة (يجب ألا يكون فارغًا).
[in] aLabelBufferSize
حجم aLabelBuffer .
[out] aNameBuffer
مخزن مؤقت لصفيف char لإخراج بقية اسم الخدمة (يمكن أن يكون NULL إذا لم يكن المستخدم مهتمًا بالحصول على الاسم.
[in] aNameBufferSize
حجم aNameBuffer .
إرجاع القيم
OT_ERROR_NONE
تمت قراءة اسم الخدمة بنجاح.
OT_ERROR_NO_BUFS
إما أن التسمية أو الاسم لا يتناسب مع المخازن المؤقتة المحددة.