DNSv6

מודול זה כולל פונקציות ששולטות בתקשורת ה-DNS.

סיכום

הפונקציות במודול זה זמינות רק אם התכונה OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE מופעלת.

הדמיות

otDnsNat64Mode{
  OT_DNS_NAT64_UNSPECIFIED = 0,
  OT_DNS_NAT64_ALLOW = 1,
  OT_DNS_NAT64_DISALLOW = 2
}
טיפוסים בני מנייה (enum)
סוג הספירה הזה מייצג את מצב NAT64 ב-otDnsQueryConfig.
otDnsRecursionFlag{
  OT_DNS_FLAG_UNSPECIFIED = 0,
  OT_DNS_FLAG_RECURSION_DESIRED = 1,
  OT_DNS_FLAG_NO_RECURSION = 2
}
טיפוסים בני מנייה (enum)
סוג ספירה זה מייצג את הסימון "Recurtion Resired" (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
struct otDnsTxtEntry
מבנה זה מייצג רשומת 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 של דפדוף ב-DNS.
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
פונקציה זו מקבלת את שם השירות המשויך לתגובת DNS של דפדוף ב-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) של שם מארח נתון.
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
פונקציה זו שולחת שאילתת DNS לרזולוציית כתובת עבור רשומות A (IPv4) עבור שם מארח נתון.
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

סוג ספירה זה מייצג את הסימון "Recurtion Resired" (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 רק ב-callback הזה ולאחר חזרה מפונקציה זו הוא לא יהיה חוקי, לכן המשתמש לא יכול לשמור את הסמן של aResponse לשימוש מאוחר יותר.

ב-aError יכולים להתקיים התנאים הבאים:

פרטים
פרמטרים
[in] aError
התוצאה של עסקת ה-DNS.
[in] aResponse
מצביע לתגובה (היא תמיד לא NULL).
[in] aContext
מצביע להקשר ספציפי לאפליקציה.

  • OT_ERROR_NONE תגובת התקבלה בהצלחה.
  • OT_ERROR_ABORT עסקת DNS בוטלה על ידי ערימה.
  • OT_ERROR_RESPONSE_OFFSET לא התקבלה תגובת DNS בזמן הקצוב.

אם השרת ידחה את הבקשה לפענוח הכתובת, קוד השגיאה מהשרת ימופה כך:

  • (0) NOERROR בוצע בהצלחה (ללא תנאי שגיאה) -> OT_ERROR_NONE
  • (1) FORMERR Server לא יכול לפרש עקב שגיאת פורמט -> OT_ERROR_PARSE
  • (2) שרת SERVFAIL נתקל בכשל פנימי -> OT_ERROR_FAILED
  • (3) NXDOMAIN שם שאמור להיות קיים -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server אינו תומך בסוג השאילתה (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) השרת REFUSED סירב מטעמי מדיניות/אבטחה -> OT_ERROR_Security
  • (6) YXDOMAIN שם מסוים שלא אמור להיות קיים -> OT_ERROR_REMAININGD
  • (7) YXRRSET some RRset שלא אמור להיות קיים -> OT_ERROR_REMAININGD
  • (8) NXRRSET קצת RRset שצריך להיות קיים -> 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 Bad trunation -> OT_ERROR_PARSE
  • קודי תגובה אחרים -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

סוג זה מייצג באופן אטום את התגובה לשאילתת DNS לרזולוציית כתובת.

מצביעים למופע מסוג זה מגיעים מ-callback otDnsAddressCallback.

otDnsBrowseCallback

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

קריאה לפונקציית קריאה זו מתקבלת כאשר מתקבלת תגובת DNS עבור שאילתת גלישה (ספירת מופע שירות).

במהלך השיחה החוזרת, המשתמש יכול להשתמש בפונקציות של otDnsBrowseResponseGet{Item}() יחד עם הסמן של aResponse כדי לקבל מידע נוסף על התגובה.

ניתן להשתמש בסמן של aResponse רק ב-callback הזה ולאחר חזרה מפונקציה זו הוא לא יהיה חוקי, לכן המשתמש לא יכול לשמור את הסמן של aResponse לשימוש מאוחר יותר.

אפשר לראות את הרשימה המלאה של ערכים אפשריים עבור aError בכתובת otDnsAddressCallback().

פרטים
פרמטרים
[in] aError
התוצאה של עסקת ה-DNS.
[in] aResponse
מצביע לתגובה (היא תמיד לא NULL).
[in] aContext
מצביע להקשר ספציפי לאפליקציה.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

סוג זה מייצג באופן אטום את התגובה לשאילתת DNS (ספירת מופע שירות).

מצביעים למופע מסוג זה מגיעים מ-callback otDnsBrowseCallback.

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

המבנה הזה מייצג תצורה של שאילתת DNS.

ניתן להגדיר אחד מהשדות במבנה זה כאפס, כדי לציין שהוא לא צוין. אופן הטיפול בשדות שלא צוינו נקבע על ידי הפונקציה שמשתמשת במופע של otDnsQueryConfig.

otDnsServiceCallback

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

קריאה לפונקציה הזו נשלחת כשמתקבלת תגובת DNS לשאילתת פענוח של מופע שירות.

במהלך השיחה החוזרת, המשתמש יכול להשתמש בפונקציות של otDnsServiceResponseGet{Item}() יחד עם הסמן של aResponse כדי לקבל מידע נוסף על התגובה.

ניתן להשתמש בסמן של aResponse רק ב-callback הזה ולאחר חזרה מפונקציה זו הוא לא יהיה חוקי, לכן המשתמש לא יכול לשמור את הסמן של aResponse לשימוש מאוחר יותר.

אפשר לראות את הרשימה המלאה של ערכים אפשריים עבור aError בכתובת otDnsAddressCallback().

פרטים
פרמטרים
[in] aError
התוצאה של עסקת ה-DNS.
[in] aResponse
מצביע לתגובה (היא תמיד לא NULL).
[in] aContext
מצביע להקשר ספציפי לאפליקציה.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

המבנה הזה מספק מידע לגבי מופע של שירות DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

סוג זה מייצג אטום של תגובה לשאילתת DNS של מופע שירות.

מצביעים למופע מסוג זה מגיעים מ-callback otDnsAddressCallback.

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

מבנה זה מייצג רשומת TXT המייצגת צמד מפתח/ערך (RFC 6763 - סעיף 6.3).

מאגרי הנתונים הזמניים של המחרוזת מצביעים על mKey ועל mValue, ועליהם להישאר ללא שינוי לאחר שמופע של מבנה כזה מועבר אל OpenThread (כחלק ממופע של otSrpClientService).

מערך של otDnsTxtEntry ערכים משמש ב-otSrpClientService לציון רשומת ה-TXT המלאה (רשימת ערכים).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

המבנה הזה מייצג איטרטור לשלמות של רשומות TXT (צמדים של מפתח/ערך).

שדות הנתונים במבנה הזה מיועדים לשימוש על ידי ליבת OpenThread והמתקשר לא יוכל לקרוא או לשנות אותם.

פונקציות

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 לפלט הכתובת (לא יכול להיות NULL).
[out] aTtl
מצביע אל uint32_t לפלט TTL עבור הכתובת. הערך יכול להיות NULL אם המתקשר לא רוצה לקבל את קובץ ה-TTL.
ערכי החזרה
OT_ERROR_NONE
הכתובת נקראה בהצלחה.
OT_ERROR_NOT_FOUND
אין רשומת כתובת ב-aResponse בשעה aIndex.
OT_ERROR_PARSE
לא ניתן לנתח את הרשומות ב-aResponse.
OT_ERROR_INVALID_STATE
אין קידומת NAT64 (רלוונטי רק כשמותר להשתמש ב-NAT64).

otDnsAddressResponseGetHostName

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

פונקציה זו מקבלת את שם המארח המלא המשויך לתגובת DNS לרזולוציית כתובת.

חובה להשתמש בפונקציה הזו רק מ-otDnsAddressCallback.

פרטים
פרמטרים
[in] aResponse
מצביע לתגובה.
[out] aNameBuffer
א
[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
שם המארח שאליו יש לקבל את הכתובת (חייב להיות לא NULL).
[in] aIndex
אינדקס רשומות הכתובות שיש לאחזר.
[out] aAddress
מצביע לכתובת IPv6 לפלט הכתובת (לא יכול להיות NULL).
[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,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsBrowseResponseGetHostAddress()`.

פרטים
פרמטרים
[in] aResponse
מצביע לתגובה.
[in] aInstanceLabel
תווית המופע של השירות (לא יכול להיות NULL).
[out] aServiceInfo
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 של דפדוף ב-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 של דפדוף ב-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()) תשמש כהגדרה עבור השאילתה הזו. בחלק מה-aConfig שאינו NULL, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aServiceName
שם השירות שעבורו יש לבצע שאילתה (MUST NOT NULL).
[in] aCallback
מצביע פונקציה שאמורה להופיע בקבלת תגובות או בתם הזמן הקצוב.
[in] aContext
מצביע למידע שרירותי לגבי הקשר.
[in] aConfig
מצביע להגדרת התצורה לשימוש עבור שאילתה זו.
ערכי החזרה
OT_ERROR_NONE
השאילתה נשלחה בהצלחה. המערכת aCallback תפעיל את הדיווח על הסטטוס.
OT_ERROR_NO_BUFS
אין מספיק אחסון זמני כדי להכין ולשלוח שאילתה.

otDnsClientGetdefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

הפונקציה הזו מקבלת את הגדרת השאילתה הנוכחית המוגדרת כברירת מחדל על ידי לקוח DNS.

כאשר מתחילה ערימת OpenThread, תצורת ברירת המחדל של שאילתת ה-DNS נקבעת מתוך קבוצה של אפשרויות להגדרת OT, כגון 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 יכול להיות NULL. במקרה כזה, הגדרת ברירת המחדל (מ-otDnsClientGetDefaultConfig()) תשמש כהגדרה עבור השאילתה הזו. בחלק מה-aConfig שאינו NULL, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aHostName
שם המארח שעבורו יש לבצע שאילתות על הכתובת (MUST NOT NULL).
[in] aCallback
מצביע פונקציה שאמורה להופיע בקבלת תגובות או בתם הזמן הקצוב.
[in] aContext
מצביע למידע שרירותי לגבי הקשר.
[in] aConfig
מצביע להגדרת התצורה לשימוש עבור שאילתה זו.
ערכי החזרה
OT_ERROR_NONE
השאילתה נשלחה בהצלחה. המערכת aCallback תפעיל את הדיווח על הסטטוס.
OT_ERROR_NO_BUFS
אין מספיק אחסון זמני כדי להכין ולשלוח שאילתה.
OT_ERROR_INVALID_ARGS
שם המארח אינו בפורמט חוקי.
OT_ERROR_INVALID_STATE
לא ניתן לשלוח את השאילתה מכיוון שממשק שרשור לא פועל.

otDnsClientresolveIp4Address

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

פונקציה זו שולחת שאילתת DNS לרזולוציית כתובת עבור רשומות A (IPv4) עבור שם מארח נתון.

פונקציה זו מחייבת והיא זמינה כאשר OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE מופעל.

כשמתקבלת תגובה מוצלחת, הכתובות מוחזרות מ-aCallback כגרסאות מתורגמות של NAT64 IPv6 של כתובות IPv4 מתגובת השאילתה.

הערך של aConfig יכול להיות NULL. במקרה כזה, הגדרת ברירת המחדל (מ-otDnsClientGetDefaultConfig()) תשמש כהגדרה עבור השאילתה הזו. בחלק מה-aConfig שאינו NULL, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aHostName
שם המארח שעבורו יש לבצע שאילתות על הכתובת (MUST NOT NULL).
[in] aCallback
מצביע פונקציה שאמורה להופיע בקבלת תגובות או בתם הזמן הקצוב.
[in] aContext
מצביע למידע שרירותי לגבי הקשר.
[in] aConfig
מצביע להגדרת התצורה לשימוש עבור שאילתה זו.
ערכי החזרה
OT_ERROR_NONE
השאילתה נשלחה בהצלחה. המערכת aCallback תפעיל את הדיווח על הסטטוס.
OT_ERROR_NO_BUFS
אין מספיק אחסון זמני כדי להכין ולשלוח שאילתה.
OT_ERROR_INVALID_ARGS
שם המארח אינו בפורמט חוקי או ש-NAT64 אינו מופעל בהגדרה.
OT_ERROR_INVALID_STATE
לא ניתן לשלוח את השאילתה מכיוון שממשק שרשור לא פועל.

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()) תשמש כהגדרה עבור השאילתה הזו. בחלק מה-aConfig שאינו NULL, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.

פרטים
פרמטרים
[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 יכול להיות NULL. במקרה כזה, הגדרת ברירת המחדל תוגדר לברירות המחדל מתוך האפשרויות של תצורת OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}. הפעולה הזו מאפסת את תצורת ברירת המחדל של השאילתה חזרה לתצורה כשההפעלה של OpenThread מתחילה.

אם לא קובעים את הערך aConfig במחרוזת, המתקשר יכול להשאיר חלק מהשדות במופע אחד (otDnsQueryConfig) שלא צוין (ערך אפס). השדות שלא צוינו יוחלפו בהגדרות של תצורת ה-OT המתאימה OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} ליצירת תצורת ברירת המחדל לשאילתה.

כאשר OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE מופעל, כתובת ה-IPv6 של השרת בתצורת ברירת המחדל מוגדרת ומתעדכנת באופן אוטומטי על ידי לקוח DNS. הדבר מתבצע רק כאשר המשתמש לא הגדיר או ציין אותו במפורש. התנהגות זו מחייבת הפעלה של לקוח SRP ושל תכונת ההפעלה האוטומטית שלו. לקוח SRP יעקוב אחר נתוני רשת Thread עבור רשומות 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
מצביע לאיטרטור (אסור להיות NULL).
[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
מצביע לאיטרטור לאתחול (לא יכול להיות NULL).
[in] aTxtData
מצביע במאגר נתונים זמניים המכיל את נתוני ה-TXT המקודדים.
[in] aTxtDataLength
האורך (מספר הבייטים) של aTxtData.

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

הפונקציה הזו מציינת אם המצב "דחיסת שמות DNS" מופעל או לא.

אפשרות זו מיועדת לבדיקה בלבד וזמינה כאשר ההגדרה של OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE מופעלת.

פרטים
החזרות
TRUE אם המצב "דחיסת שם DNS" מופעל, FALSE אם לא.

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
שם המארח שאליו יש לקבל את הכתובת (חייב להיות לא NULL).
[in] aIndex
אינדקס רשומות הכתובות שיש לאחזר.
[out] aAddress
מצביע לכתובת IPv6 לפלט הכתובת (לא יכול להיות NULL).
[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,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsServiceResponseGetHostAddress()`.

פרטים
פרמטרים
[in] aResponse
מצביע לתגובה.
[out] aServiceInfo
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
א
[in] aNameBufferSize
הגודל של aNameBuffer.
ערכי החזרה
OT_ERROR_NONE
שם השירות נקרא בהצלחה.
OT_ERROR_NO_BUFS
התווית או השם לא תואמים למאגרים הזמניים.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

הפונקציה הזו מפעילה/משביתים את המצב "דחיסה של שם DNS".

כברירת מחדל מופעלת דחיסת שמות DNS. כאשר אפשרות זו מושבתת, שמות DNS מצורפים כמלאים ואף פעם אינם דחוסים. זה רלוונטי למודולי ה-DNS והשרת של SRP של OpenThread.

אפשרות זו מיועדת לבדיקה בלבד וזמינה כאשר ההגדרה של 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).

מקורות מידע

מקור העזר של OpenThread ב-API הוא מקוד המקור, והוא זמין ב-GitHub. למידע נוסף או כדי לתרום לתיעוד שלנו, יש לעיין בקטע משאבים.