Google is committed to advancing racial equity for Black communities. See how.

DNSv6

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

ملخص

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

التعداد

otDnsNat64Mode {
OT_DNS_NAT64_UNSPECIFIED = 0,
OT_DNS_NAT64_ALLOW = 1,
OT_DNS_NAT64_DISALLOW = 2
}
تعداد
ويمثل هذا النوع تعداد وضع NAT64 في otDnsQueryConfig .
otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
تعداد
ويمثل هذا النوع تعداد لل"العودية المرغوب" (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 لتحليل مثيل الخدمة.
otDnsTxtEntry typedef
تمثل هذه البنية إدخال سجل TXT يمثل زوجًا من المفاتيح / القيمة (RFC 6763 - القسم 6.3).
otDnsTxtEntryIterator typedef
يمثل هذا الهيكل مكررًا لإقتراحات سجل TXT (أزواج المفتاح / القيمة).

المهام

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.
otDnsGetNextTxtEntry ( otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
تحلل هذه الوظيفة بيانات TXT من مكرر وتحصل على إدخال سجل TXT التالي (زوج المفتاح / القيمة).
otDnsInitTxtEntryIterator ( otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
تعمل هذه الوظيفة على تهيئة مكرر سجل TXT.
otDnsIsNameCompressionEnabled (void)
bool
تشير هذه الوظيفة إلى ما إذا كان وضع "ضغط اسم 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.
otDnsSetNameCompressionEnabled (bool aEnabled)
void
تعمل هذه الوظيفة على تمكين / تعطيل وضع "ضغط اسم DNS".

الهياكل

otDnsQueryConfig

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

otDnsServiceInfo

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

otDnsTxtEntry

تمثل هذه البنية إدخال سجل TXT يمثل زوجًا من المفاتيح / القيمة (RFC 6763 - القسم 6.3).

otDnsTxtEntryIterator

يمثل هذا الهيكل مكررًا لإقتراحات سجل TXT (أزواج المفتاح / القيمة).

التعداد

otDnsNat64 الوضع

 otDnsNat64Mode

ويمثل هذا النوع تعداد وضع NAT64 في otDnsQueryConfig .

يشير وضع NAT64 إلى ما إذا كان سيتم السماح أو عدم السماح بترجمة عنوان NAT64 أثناء تحليل عنوان عميل DNS. يستخدم هذا الوضع فقط عندما OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE تمكين.

الخصائص
OT_DNS_NAT64_ALLOW

السماح بترجمة عنوان NAT64 أثناء تحليل عنوان عميل DNS.

OT_DNS_NAT64_DISALLOW

لا تسمح بترجمة عنوان NAT64 أثناء تحليل عنوان عميل DNS.

OT_DNS_NAT64_UNSPECIFIED

لم يتم تحديد وضع NAT64. استخدم وضع NAT64 الافتراضي.

otDnsRecursionFlag

 otDnsRecursionFlag

ويمثل هذا النوع تعداد لل"العودية المرغوب" (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 .

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

تمثل هذه البنية إدخال سجل TXT يمثل زوجًا من المفاتيح / القيمة (RFC 6763 - القسم 6.3).

مخازن سلسلة المشار إليه بواسطة mKey و mValue يجب أن تستمر وتبقى دون تغيير بعد يتم تمرير مثيل من هذا الهيكل إلى OpenThread (كجزء من otSrpClientService سبيل المثال).

مجموعة من otDnsTxtEntry تستخدم الإدخالات في otSrpClientService لتحديد سجل TXT الكامل (قائمة إدخالات).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

يمثل هذا الهيكل مكررًا لإقتراحات سجل TXT (أزواج المفتاح / القيمة).

حقول البيانات في هذا الهيكل مخصصة للاستخدام من قبل OpenThread core ولا يجب على المتصل قراءتها أو تغييرها.

المهام

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, mHostAddress is set to the first one. The other addresses can be retrieved using otDnsBrowseResponseGetHostAddress () `.

تفاصيل
المعلمات
[in] aResponse
مؤشر للاستجابة.
[in] aInstanceLabel
تسمية مثيل الخدمة (يجب ألا تكون فارغة).
[out] aServiceInfo
A ServiceInfo لإخراج المعلومات مثيل خدمة (يجب أن لا يكون NULL).
إرجاع القيم
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 يمكن أن تكون فارغة. في هذه الحالة التكوين الافتراضي (من otDnsClientGetDefaultConfig() سيتم استخدام)، والتهيئة لهذا الاستعلام. في غير NULL 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_client.h لجميع خيارات التكوين ذات الصلة).

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

otDnsClientResolveAddress

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

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

و aConfig يمكن أن تكون فارغة. في هذه الحالة التكوين الافتراضي (من otDnsClientGetDefaultConfig() سيتم استخدام)، والتهيئة لهذا الاستعلام. في غير NULL 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 يمكن أن تكون فارغة. في هذه الحالة التكوين الافتراضي (من otDnsClientGetDefaultConfig() سيتم استخدام)، والتهيئة لهذا الاستعلام. في غير NULL aConfig ، بعض الحقول يمكن ترك غير محدد (قيمة صفر). ثم يتم استبدال الحقول غير المحددة بالقيم من التكوين الافتراضي.

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

otDnsClientSetDefaultConfig

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

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

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

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

عندما OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE تمكين، يتم تلقائيا تعيين عنوان IPv6 للملقم في التهيئة الافتراضية وتحديثها من قبل العميل DNS. يتم ذلك فقط عندما لا يقوم المستخدم بتعيينه أو تحديده بشكل صريح. يتطلب هذا السلوك عميل SRP وتمكين ميزة بدء التشغيل التلقائي الخاصة به. سيقوم عميل SRP بعد ذلك بمراقبة بيانات شبكة مؤشر الترابط لإدخالات خدمة DNS / SRP لتحديد خادم SRP. يتم أيضًا تعيين عنوان خادم SRP المحدد كعنوان خادم DNS في التكوين الافتراضي.

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

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

تحلل هذه الوظيفة بيانات TXT من مكرر وتحصل على إدخال سجل TXT التالي (زوج المفتاح / القيمة).

و aIterator يجب تهيئة باستخدام otDnsInitTxtEntryIterator() قبل استدعاء هذه الوظيفة والبيانات TXT المخزن المؤقت تستخدم لتهيئة مكرر يجب أن تستمر وتبقى دون تغيير. وإلا فإن سلوك هذه الوظيفة غير محدد.

إذا كان طول سلسلة مفتاح تحليل أصغر من أو يساوي إلى OT_DNS_TXT_KEY_MAX_LENGTH (موصى به أقصى طول المفتاح) يتم إرجاع سلسلة الرئيسية في mKey في aEntry . ولكن إذا كان المفتاح هو لفترة أطول، ثم mKey ومن المقرر أن NULL ويتم إرجاع المشفرة سلسلة دخول TXT بأكملها في mValue و mValueLength .

تفاصيل
المعلمات
[in] aIterator
مؤشر إلى المكرر (يجب ألا يكون فارغًا).
[out] aEntry
مؤشر إلى otDnsTxtEntry هيكل لإخراج تحليل / دخول للقراءة (لا يجب أن يكون NULL).
إرجاع القيم
OT_ERROR_NONE
تم تحليل الإدخال التالي بنجاح. aEntry يتم تحديثها.
OT_ERROR_NOT_FOUND
لا مزيد من الإدخالات في بيانات TXT.
OT_ERROR_PARSE
البيانات TXT من aIterator غير منسق بشكل جيد.

otDnsInitTxtEntryIterator

void otDnsInitTxtEntryIterator(
  otDnsTxtEntryIterator *aIterator,
  const uint8_t *aTxtData,
  uint16_t aTxtDataLength
)

تعمل هذه الوظيفة على تهيئة مكرر سجل TXT.

مؤشر عازلة aTxtData ومحتواه يجب أن تستمر وتبقى دون تغيير في حين aIterator يستخدم الكائن.

تفاصيل
المعلمات
[in] aIterator
مؤشر إلى مكرر التهيئة (يجب ألا يكون فارغًا).
[in] aTxtData
مؤشر إلى المخزن المؤقت الذي يحتوي على بيانات TXT المشفرة.
[in] aTxtDataLength
طول (عدد بايت) من aTxtData .

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

تشير هذه الوظيفة إلى ما إذا كان وضع "ضغط اسم DNS" ممكّنًا أم لا.

ويهدف هذا لاختبار فقط ومتوفرة عند OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE تمكين التكوين.

تفاصيل
عائدات
تكون القيمة TRUE في حالة تمكين وضع "ضغط اسم DNS" ، وإلا ستخطئ.

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, mHostAddress is set to the first one. The other addresses can be retrieved using otDnsServiceResponseGetHostAddress () `.

تفاصيل
المعلمات
[in] aResponse
مؤشر للاستجابة.
[out] aServiceInfo
A ServiceInfo لإخراج المعلومات مثيل خدمة (يجب أن لا يكون NULL).
إرجاع القيم
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
إما أن التسمية أو الاسم لا يتناسب مع المخازن المؤقتة المحددة.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

تعمل هذه الوظيفة على تمكين / تعطيل وضع "ضغط اسم DNS".

افتراضيًا ، يتم تمكين ضغط اسم DNS. عند التعطيل ، يتم إلحاق أسماء DNS كاملة ولا يتم ضغطها أبدًا. ينطبق هذا على وحدات العميل / الخادم الخاصة بـ OpenThread's DNS و SRP.

ويهدف هذا لاختبار فقط ومتوفرة عند OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE تمكين التكوين.

ملاحظة أنه في حالة OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE يستخدم، وينطبق هذا الوضع على كافة مثيلات OpenThread (أي استدعاء هذه الوظيفة تمكن / تعطيل وضع ضغط على كافة مثيلات OpenThread).

تفاصيل
المعلمات
[in] aEnabled
TRUE لتمكين وضع "ضغط اسم DNS" ، FALSE للتعطيل.

وحدات الماكرو

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

الحد الأقصى لحجم سلسلة التسمية (قم بتضمين حرف فارغ في نهاية السلسلة).

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

الحد الأقصى لحجم سلسلة الاسم (يتضمن حرفًا فارغًا في نهاية السلسلة).

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

الحد الأقصى الموصى به لطول سلسلة مفتاح سجل TXT (RFC 6763 - القسم 6.4).

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

الحد الأدنى لطول سلسلة مفتاح سجل TXT (RFC 6763 - القسم 6.4).