DNSv6
מודול זה כולל פונקציות ששולטות בתקשורת ה-DNS.
סיכום
הפונקציות במודול זה זמינות רק אם התכונה OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
מופעלת.
הדמיות |
|
---|---|
otDnsNat64Mode{
|
טיפוסים בני מנייה (enum) סוג הספירה הזה מייצג את מצב NAT64 ב- otDnsQueryConfig . |
otDnsRecursionFlag{
|
טיפוסים בני מנייה (enum) סוג ספירה זה מייצג את הסימון "Recurtion Resired" (RD) ב- otDnsQueryConfig . |
סוג מגן |
|
---|---|
otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
|
typedefvoid(*
קריאה לפונקציה הזו נשלחת כשמתקבלת תגובת DNS לשאילתת פענוח כתובת. |
otDnsAddressResponse
|
typedefstruct otDnsAddressResponse
סוג זה מייצג באופן אטום את התגובה לשאילתת DNS לרזולוציית כתובת. |
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)
|
typedefvoid(*
קריאה לפונקציית קריאה זו מתקבלת כאשר מתקבלת תגובת DNS עבור שאילתת גלישה (ספירת מופע שירות). |
otDnsBrowseResponse
|
typedefstruct otDnsBrowseResponse
סוג זה מייצג באופן אטום את התגובה לשאילתת DNS (ספירת מופע שירות). |
otDnsQueryConfig
|
typedefstruct otDnsQueryConfig
המבנה הזה מייצג תצורה של שאילתת DNS. |
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
|
typedefvoid(*
קריאה לפונקציה הזו נשלחת כשמתקבלת תגובת DNS לשאילתת פענוח של מופע שירות. |
otDnsServiceInfo
|
typedefstruct otDnsServiceInfo
המבנה הזה מספק מידע לגבי מופע של שירות DNS. |
otDnsServiceResponse
|
typedefstruct otDnsServiceResponse
סוג זה מייצג אטום של תגובה לשאילתת DNS של מופע שירות. |
otDnsTxtEntry
|
typedefstruct otDnsTxtEntry
מבנה זה מייצג רשומת TXT המייצגת צמד מפתח/ערך (RFC 6763 - סעיף 6.3). |
otDnsTxtEntryIterator
|
typedefstruct otDnsTxtEntryIterator
המבנה הזה מייצג איטרטור לשלמות של רשומות 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)
|
const otDnsQueryConfig *
הפונקציה הזו מקבלת את הגדרת השאילתה הנוכחית המוגדרת כברירת מחדל על ידי לקוח 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
יכולים להתקיים התנאים הבאים:
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
- 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()
.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
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()
.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
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
מוחזרת.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכי החזרה |
|
otDnsAddressResponseGetHostName
otError otDnsAddressResponseGetHostName( const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
פונקציה זו מקבלת את שם המארח המלא המשויך לתגובת DNS לרזולוציית כתובת.
חובה להשתמש בפונקציה הזו רק מ-otDnsAddressCallback
.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכי החזרה |
|
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
מוחזרת.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכי החזרה |
|
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 using
otDnsBrowseResponseGetHostAddress()`.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכי החזרה |
|
otDnsBrowseResponseGetServiceInstance
otError otDnsBrowseResponseGetServiceInstance( const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize )
פונקציה זו מקבלת מופע שירות המשויך לתגובת DNS של דפדוף ב-DNS.
חובה להשתמש בפונקציה הזו רק מ-otDnsBrowseCallback
.
התגובה עשויה לכלול רשומות מרובות של מופע שירות. ניתן להשתמש ב-aIndex
כדי לבצע איטרציה ברשימה. אינדקס אפס מציין את הרשומה הראשונה. כשאנחנו מגיעים לסוף הרשימה, הפונקציה OT_ERROR_NOT_FOUND
מוחזרת.
לתשומת לבך, הפונקציה הזו מקבלת את התווית של מופע השירות ולא את השם המלא של מופע השירות, שהוא בצורה
.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכי החזרה |
|
otDnsBrowseResponseGetServiceName
otError otDnsBrowseResponseGetServiceName( const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
פונקציה זו מקבלת את שם השירות המשויך לתגובת DNS של דפדוף ב-DNS.
חובה להשתמש בפונקציה הזו רק מ-otDnsBrowseCallback
.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכי החזרה |
|
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, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכי החזרה |
|
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
לגבי כל אפשרויות התצורה הקשורות) הנתונים.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מצביע להגדרת ברירת המחדל הנוכחית שבה משתמש לקוח ה-DNS.
|
otDnsClientresolveAddress
otError otDnsClientResolveAddress( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
פונקציה זו שולחת שאילתת DNS לפענוח כתובת עבור רשומות AAAA (IPv6) של שם מארח נתון.
הערך של aConfig
יכול להיות NULL. במקרה כזה, הגדרת ברירת המחדל (מ-otDnsClientGetDefaultConfig()
) תשמש כהגדרה עבור השאילתה הזו. בחלק מה-aConfig
שאינו NULL, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכי החזרה |
|
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, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכי החזרה |
|
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, ניתן להשאיר חלק מהשדות ללא ציון (ערך אפס). לאחר מכן, השדות שלא צוינו יוחלפו בערכים מתצורת ברירת המחדל.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
ערכי החזרה |
|
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 בתצורת ברירת המחדל.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
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
.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכי החזרה |
|
otDnsInitTxtEntryIterator
void otDnsInitTxtEntryIterator( otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength )
פונקציה זו מפעילה איטרטור של רשומת TXT.
מצביע המאגר aTxtData
והתוכן שלו חייבים להישאר ללא שינוי, ונשארים בשימוש באובייקט aIterator
.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
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
מוחזרת.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכי החזרה |
|
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 using
otDnsServiceResponseGetHostAddress()`.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכי החזרה |
|
otDnsServiceResponseGetServiceName
otError otDnsServiceResponseGetServiceName( const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize )
פונקציה זו מקבלת את שם המופע של השירות המשויך לתגובת פענוח של שירות DNS.
חובה להשתמש בפונקציה הזו רק מ-otDnsServiceCallback
.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכי החזרה |
|
otDnsSetNameCompressionEnabled
void otDnsSetNameCompressionEnabled( bool aEnabled )
הפונקציה הזו מפעילה/משביתים את המצב "דחיסה של שם DNS".
כברירת מחדל מופעלת דחיסת שמות DNS. כאשר אפשרות זו מושבתת, שמות DNS מצורפים כמלאים ואף פעם אינם דחוסים. זה רלוונטי למודולי ה-DNS והשרת של SRP של OpenThread.
אפשרות זו מיועדת לבדיקה בלבד וזמינה כאשר ההגדרה של OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
מופעלת.
שים לב שבמקרה של OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE
, מצב זה חל על כל מופעי OpenThread (כלומר, קריאה לפונקציה הזו מפעילה/משביתים את מצב הדחיסה בכל מופעי OpenThread).
פרטים | |||
---|---|---|---|
פרמטרים |
|
פקודות מאקרו
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. למידע נוסף או כדי לתרום לתיעוד שלנו, יש לעיין בקטע משאבים.