डीएनएस
इस मॉड्यूल में ऐसे फ़ंक्शन शामिल हैं जो डीएनएस कम्यूनिकेशन को कंट्रोल करते हैं.
खास जानकारी
OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
सुविधा के चालू होने पर ही, इस मॉड्यूल में मौजूद फ़ंक्शन उपलब्ध होते हैं.
गिनती |
|
---|---|
otDnsNat64Mode{
|
enum टाइप, otDnsQueryConfig में NAT64 मोड को दिखाता है. |
otDnsRecursionFlag{
|
enum टाइप, otDnsQueryConfig में "Recursion Desired" (RD) फ़्लैग को दिखाता है. |
otDnsServiceMode{
|
enum टाइप, otDnsQueryConfig में सेवा रिज़ॉल्यूशन मोड को दिखाता है. |
otDnsTransportProto{
|
enum टाइप, otDnsQueryConfig में डीएनएस ट्रांसपोर्ट प्रोटोकॉल को दिखाता है. |
टाइपडीफ़ |
|
---|---|
otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
|
typedefvoid(*
पॉइंटर को तब कॉल किया जाता है, जब किसी एड्रेस रिज़ॉल्यूशन क्वेरी के लिए डीएनएस रिस्पॉन्स मिलता है. |
otDnsAddressResponse
|
typedefstruct otDnsAddressResponse
किसी पते के रिज़ॉल्यूशन वाली डीएनएस क्वेरी के रिस्पॉन्स का ओपेक तरीके से दिखाना. |
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)
|
typedefvoid(*
पॉइंटर को तब कॉल किया जाता है, जब किसी ब्राउज़ (सर्विस इंस्टेंस एन्युमरेशन) क्वेरी के लिए डीएनएस रिस्पॉन्स मिलता है. |
otDnsBrowseResponse
|
typedefstruct otDnsBrowseResponse
किसी ब्राउज़ (सर्विस इंस्टेंस इन्यूमिरेशन) डीएनएस क्वेरी के रिस्पॉन्स का ओपेक तरीके से दिखाना. |
otDnsQueryConfig
|
typedefstruct otDnsQueryConfig
यह डीएनएस क्वेरी कॉन्फ़िगरेशन को दिखाता है. |
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
|
typedefvoid(*
पॉइंटर को तब कॉल किया जाता है, जब किसी सर्विस इंस्टेंस रिज़ॉल्यूशन क्वेरी के लिए डीएनएस रिस्पॉन्स मिलता है. |
otDnsServiceInfo
|
typedefstruct otDnsServiceInfo
यह डीएनएस सेवा के इंस्टेंस के बारे में जानकारी देता है. |
otDnsServiceResponse
|
typedefstruct otDnsServiceResponse
सर्विस इंस्टेंस रिज़ॉल्यूशन वाली डीएनएस क्वेरी के रिस्पॉन्स का ओपेक तरीके से दिखाया गया है. |
otDnsTxtEntry
|
typedefstruct otDnsTxtEntry
कुंजी/वैल्यू के जोड़े (आरएफ़सी 6763 - सेक्शन 6.3) को दिखाने वाली TXT रिकॉर्ड एंट्री के बारे में बताता है. |
otDnsTxtEntryIterator
|
typedefstruct otDnsTxtEntryIterator
TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू पेयर) के लिए, इटरेटर को दिखाता है. |
फ़ंक्शन |
|
---|---|
otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
|
पते के रिज़ॉल्यूशन वाले डीएनएस रिस्पॉन्स से जुड़ा आईपीवी6 पता मिलता है.
|
otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
|
पते की समस्या को ठीक करने वाले डीएनएस रिस्पॉन्स से जुड़े पूरे होस्ट नेम की जानकारी देता है.
|
otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
|
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) के रिस्पॉन्स से, होस्ट आईपीवी6 पता पाता है.
|
otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
|
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) के रिस्पॉन्स से, किसी सेवा इंस्टेंस की जानकारी मिलती है.
|
otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
|
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) रिस्पॉन्स से जुड़ा सेवा इंस्टेंस लेता है.
|
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
|
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) रिस्पॉन्स से जुड़ी सेवा के नाम की जानकारी देता है.
|
otDnsClientBrowse(otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
किसी सेवा के नाम के लिए, डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) क्वेरी भेजता है.
|
otDnsClientGetDefaultConfig(otInstance *aInstance)
|
const otDnsQueryConfig *
इससे डीएनएस क्लाइंट के इस्तेमाल किए गए मौजूदा डिफ़ॉल्ट क्वेरी कॉन्फ़िगरेशन की जानकारी मिलती है.
|
otDnsClientResolveAddress(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
दिए गए होस्ट नाम के लिए, AAAA (IPv6) रिकॉर्ड के लिए पते के रिज़ॉल्यूशन वाली डीएनएस क्वेरी भेजता है.
|
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
दिए गए होस्ट नेम के A (IPv4) रिकॉर्ड के लिए, पते के रिज़ॉल्यूशन वाली डीएनएस क्वेरी भेजता है.
|
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
दिए गए सेवा इंस्टेंस के लिए, डीएनएस सेवा इंस्टेंस का रिज़ॉल्यूशन शुरू करता है.
|
otDnsClientResolveServiceAndHostAddress(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
यह दिए गए सेवा इंस्टेंस के लिए डीएनएस सेवा इंस्टेंस का रिज़ॉल्यूशन शुरू करता है. इसमें सेवा इंस्टेंस के लिए खोजे गए होस्ट नाम के लिए फ़ॉलो-अप पते का संभावित रिज़ॉल्यूशन शुरू होता है.
|
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
|
void
यह डीएनएस क्लाइंट पर, डिफ़ॉल्ट क्वेरी कॉन्फ़िगरेशन को सेट करता है.
|
otDnsEncodeTxtData(const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength)
|
यह TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू के जोड़े) की दी गई सूची को TXT डेटा में कोड में बदलता है. ऐसा आरएफ़सी 6763 के बताए गए फ़ॉर्मैट के मुताबिक किया जाता है.
|
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
|
यह, किसी इटरेटर से TXT डेटा को पार्स करता है और अगली TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू पेयर) हासिल करता है.
|
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
|
void
TXT रिकॉर्ड इटरेटर शुरू करता है.
|
otDnsIsNameCompressionEnabled(void)
|
bool
इससे पता चलता है कि "डीएनएस नाम को कंप्रेस करने का तरीका" मोड चालू है या नहीं.
|
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
|
डीएनएस सेवा इंस्टेंस रिज़ॉल्यूशन रिस्पॉन्स से, होस्ट आईपीवी6 पते की जानकारी मिलती है.
|
otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
|
डीएनएस सेवा के इंस्टेंस रिज़ॉल्यूशन वाले रिस्पॉन्स से, सेवा इंस्टेंस के बारे में जानकारी मिलती है.
|
otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
|
डीएनएस सेवा इंस्टेंस रिज़ॉल्यूशन रिस्पॉन्स से जुड़े सेवा इंस्टेंस के नाम की जानकारी देता है.
|
otDnsSetNameCompressionEnabled(bool aEnabled)
|
void
"डीएनएस नाम कंप्रेशन" मोड को चालू/बंद करता है.
|
संरचना |
|
---|---|
otDnsQueryConfig |
यह डीएनएस क्वेरी कॉन्फ़िगरेशन को दिखाता है. |
otDnsServiceInfo |
यह डीएनएस सेवा के इंस्टेंस के बारे में जानकारी देता है. |
otDnsTxtEntry |
कुंजी/वैल्यू के जोड़े (आरएफ़सी 6763 - सेक्शन 6.3) को दिखाने वाली TXT रिकॉर्ड एंट्री के बारे में बताता है. |
otDnsTxtEntryIterator |
TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू पेयर) के लिए, इटरेटर को दिखाता है. |
गिनती
otDnsNat64Mode
otDnsNat64Mode
टाइप, otDnsQueryConfig
में NAT64 मोड को दिखाता है.
NAT64 मोड से यह पता चलता है कि डीएनएस क्लाइंट के अड्रेस रिज़ॉल्यूशन के दौरान, NAT64 पते का अनुवाद करने की अनुमति दी जाएगी या नहीं. इस मोड का इस्तेमाल सिर्फ़ तब किया जाता है, जब OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE
चालू हो.
प्रॉपर्टी | |
---|---|
OT_DNS_NAT64_ALLOW
|
डीएनएस क्लाइंट के अड्रेस रिज़ॉल्यूशन के दौरान, NAT64 पते का अनुवाद करने की अनुमति दें. |
OT_DNS_NAT64_DISALLOW
|
डीएनएस क्लाइंट ऐड्रेस रिज़ॉल्यूशन के दौरान, NAT64 पते का अनुवाद करने की अनुमति न दें. |
OT_DNS_NAT64_UNSPECIFIED
|
NAT64 मोड की जानकारी नहीं दी गई है. डिफ़ॉल्ट NAT64 मोड का इस्तेमाल करें. |
otDnsRecursionFlag
otDnsRecursionFlag
टाइप, otDnsQueryConfig
में "Recursion Desired" (RD) फ़्लैग को दिखाता है.
प्रॉपर्टी | |
---|---|
OT_DNS_FLAG_NO_RECURSION
|
यह बताता है कि डीएनएस नेम सर्वर, क्वेरी का बार-बार समाधान नहीं कर सकता. |
OT_DNS_FLAG_RECURSION_DESIRED
|
इससे पता चलता है कि डीएनएस नेम सर्वर, क्वेरी का बार-बार समाधान कर सकता है. |
OT_DNS_FLAG_UNSPECIFIED
|
इससे पता चलता है कि फ़्लैग तय नहीं किया गया है. |
otDnsServiceMode
otDnsServiceMode
टाइप, otDnsQueryConfig
में सेवा रिज़ॉल्यूशन मोड को दिखाता है.
इसका इस्तेमाल सिर्फ़ डीएनएस क्लाइंट सर्विस रिज़ॉल्यूशन otDnsClientResolveService()
के दौरान किया जाता है. इससे यह तय होता है कि किस तरह के रिकॉर्ड के लिए क्वेरी की जानी है.
प्रॉपर्टी | |
---|---|
OT_DNS_SERVICE_MODE_SRV
|
सिर्फ़ SRV रिकॉर्ड के लिए क्वेरी. |
OT_DNS_SERVICE_MODE_SRV_TXT
|
एक ही मैसेज में SRV और TXT रिकॉर्ड, दोनों के लिए क्वेरी. |
OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE
|
पहले TXT/SRV के लिए एक साथ क्वेरी करें, अगर विफल हो जाए, तो फिर अलग से क्वेरी करें. |
OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE
|
अलग-अलग मैसेज का इस्तेमाल करके SRV और TXT के लिए साथ-साथ क्वेरी करें. |
OT_DNS_SERVICE_MODE_TXT
|
सिर्फ़ TXT रिकॉर्ड के लिए क्वेरी. |
OT_DNS_SERVICE_MODE_UNSPECIFIED
|
मोड की जानकारी नहीं दी गई है. डिफ़ॉल्ट सेवा मोड का इस्तेमाल करें. |
otDnsTransportProto
otDnsTransportProto
टाइप, otDnsQueryConfig
में डीएनएस ट्रांसपोर्ट प्रोटोकॉल को दिखाता है.
यह OT_DNS_TRANSPORT_TCP
सिर्फ़ तब काम करता है, जब OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE
चालू हो.
प्रॉपर्टी | |
---|---|
OT_DNS_TRANSPORT_TCP
|
डीएनएस क्वेरी, यूडीपी के ज़रिए भेजी जानी चाहिए. |
OT_DNS_TRANSPORT_UDP
|
डीएनएस ट्रांसपोर्ट की जानकारी नहीं दी गई है. |
टाइपडीफ़
otDnsAddressCallback
void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
पॉइंटर को तब कॉल किया जाता है, जब किसी एड्रेस रिज़ॉल्यूशन क्वेरी के लिए डीएनएस रिस्पॉन्स मिलता है.
इस कॉलबैक में, उपयोगकर्ता रिस्पॉन्स के बारे में ज़्यादा जानकारी पाने के लिए, aResponse
पॉइंटर के साथ-साथ otDnsAddressResponseGet{Item}()
फ़ंक्शन का इस्तेमाल कर सकता है.
aResponse
पॉइंटर का इस्तेमाल सिर्फ़ इस कॉलबैक में किया जा सकता है. इस फ़ंक्शन से लौटने के बाद, यह मान्य नहीं रहेगा. इसलिए, बाद में इस्तेमाल करने के लिए, उपयोगकर्ता को aResponse
पॉइंटर को बनाए रखना ज़रूरी नहीं है.
aError
में ये चीज़ें हो सकती हैं:
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
- OT_ERROR_NONE एक जवाब मिला.
- OT_ERROR_ABORT स्टैक की मदद से डीएनएस लेन-देन रद्द किया गया.
- OT_ERROR_ERROR_ क्रिएटिव टाइम आउट के अंदर कोई डीएनएस जवाब नहीं मिला है.
अगर सर्वर, पते का समाधान करने का अनुरोध अस्वीकार कर देता है, तो सर्वर से मिले गड़बड़ी कोड को इस तरह मैप किया जाएगा:
- (0) NOERROR सफलता (कोई गड़बड़ी वाली शर्त नहीं) -> OT_ERROR_NONE
- (1) FORMERR सर्वर प्रारूप गड़बड़ी के कारण व्याख्या करने में असमर्थ -> OT_ERROR_PARSE
- (2) SERVFAILED सर्वर को आंतरिक गड़बड़ी का सामना करना पड़ा -> OT_ERROR_FAILED
- (3) NXDOMAIN नाम जो मौजूद होना चाहिए, वह मौजूद नहीं है -> OT_ERROR_NOT_FOUND
- (4) NOTIMP सर्वर, क्वेरी प्रकार (OpCode) -> OT_ERROR_NOT_IMPLEMENTED का समर्थन नहीं करता
- (5) REFused सर्वर ने नीति/सुरक्षा कारणों से अस्वीकार कर दिया -> OT_ERROR_Security
- (6) YXDOMAIN कुछ ऐसे नाम हैं जो मौजूद नहीं होने चाहिए, मौजूद हैं -> OT_ERROR_ भले ही
- (7) YXRRSET कुछ आरआरसेट जिनका होना ज़रूरी नहीं है, मौजूद है -> OT_ERROR_ टेंप्लेट
- (8) NXRRSET कुछ आरआरसेट जो मौजूद होने चाहिए, मौजूद नहीं हैं -> OT_ERROR_NOT_FOUND
- (9) ज़ोन के लिए NOTAUTH सेवा आधिकारिक नहीं है -> OT_ERROR_Security
- (10) NOTZONE नाम ज़ोन में नहीं है -> OT_ERROR_PARSE
- (20) BADNAME खराब नाम -> OT_ERROR_PARSE
- (21) BADALG खराब एल्गोरिदम -> OT_ERROR_सुरक्षा
- (22) BADTRUN खराब काट-छांट -> OT_ERROR_PARSE
- अन्य जवाब कोड -> OT_ERROR_FAILED
otDnsAddressResponse
struct otDnsAddressResponse otDnsAddressResponse
किसी पते के रिज़ॉल्यूशन वाली डीएनएस क्वेरी के रिस्पॉन्स का ओपेक तरीके से दिखाना.
इस तरह के इंस्टेंस के पॉइंटर, कॉलबैक otDnsAddressCallback
से मिलते हैं.
otDnsBrowseCallback
void(* otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)
पॉइंटर को तब कॉल किया जाता है, जब किसी ब्राउज़ (सर्विस इंस्टेंस एन्युमरेशन) क्वेरी के लिए डीएनएस रिस्पॉन्स मिलता है.
इस कॉलबैक में, उपयोगकर्ता रिस्पॉन्स के बारे में ज़्यादा जानकारी पाने के लिए, aResponse
पॉइंटर के साथ-साथ otDnsBrowseResponseGet{Item}()
फ़ंक्शन का इस्तेमाल कर सकता है.
aResponse
पॉइंटर का इस्तेमाल सिर्फ़ इस कॉलबैक में किया जा सकता है. इस फ़ंक्शन से लौटने के बाद, यह मान्य नहीं रहेगा. इसलिए, बाद में इस्तेमाल करने के लिए, उपयोगकर्ता को aResponse
पॉइंटर को बनाए रखना ज़रूरी नहीं है.
aError
के लिए संभावित वैल्यू की पूरी सूची देखने के लिए, कृपया otDnsAddressCallback()
देखें.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
otDnsBrowseResponse
struct otDnsBrowseResponse otDnsBrowseResponse
किसी ब्राउज़ (सर्विस इंस्टेंस इन्यूमिरेशन) डीएनएस क्वेरी के रिस्पॉन्स का ओपेक तरीके से दिखाना.
इस तरह के इंस्टेंस के पॉइंटर, कॉलबैक otDnsBrowseCallback
से मिलते हैं.
otDnsQueryConfig
struct otDnsQueryConfig otDnsQueryConfig
यह डीएनएस क्वेरी कॉन्फ़िगरेशन को दिखाता है.
इस स्ट्रक्चर में किसी भी फ़ील्ड को शून्य पर सेट किया जा सकता है, ताकि यह बताया जा सके कि वह तय नहीं किया गया है. otDnsQueryConfig
के इंस्टेंस का इस्तेमाल करने वाला फ़ंक्शन, यह तय करता है कि ऐसे फ़ील्ड कैसे इस्तेमाल किए जाते हैं जिनके बारे में जानकारी नहीं दी गई है.
otDnsServiceCallback
void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
पॉइंटर को तब कॉल किया जाता है, जब किसी सर्विस इंस्टेंस रिज़ॉल्यूशन क्वेरी के लिए डीएनएस रिस्पॉन्स मिलता है.
इस कॉलबैक में, उपयोगकर्ता रिस्पॉन्स के बारे में ज़्यादा जानकारी पाने के लिए, aResponse
पॉइंटर के साथ-साथ otDnsServiceResponseGet{Item}()
फ़ंक्शन का इस्तेमाल कर सकता है.
aResponse
पॉइंटर का इस्तेमाल सिर्फ़ इस कॉलबैक में किया जा सकता है. इस फ़ंक्शन से लौटने के बाद, यह मान्य नहीं रहेगा. इसलिए, बाद में इस्तेमाल करने के लिए, उपयोगकर्ता को aResponse
पॉइंटर को बनाए रखना ज़रूरी नहीं है.
aError
के लिए संभावित वैल्यू की पूरी सूची देखने के लिए, कृपया otDnsAddressCallback()
देखें.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
otDnsServiceInfo
struct otDnsServiceInfo otDnsServiceInfo
यह डीएनएस सेवा के इंस्टेंस के बारे में जानकारी देता है.
otDnsServiceResponse
struct otDnsServiceResponse otDnsServiceResponse
सर्विस इंस्टेंस रिज़ॉल्यूशन वाली डीएनएस क्वेरी के रिस्पॉन्स का ओपेक तरीके से दिखाया गया है.
इस तरह के इंस्टेंस के पॉइंटर, कॉलबैक otDnsAddressCallback
से मिलते हैं.
otDnsTxtEntry
struct otDnsTxtEntry otDnsTxtEntry
कुंजी/वैल्यू के जोड़े (आरएफ़सी 6763 - सेक्शन 6.3) को दिखाने वाली TXT रिकॉर्ड एंट्री के बारे में बताता है.
mKey
और mValue
से बताए गए स्ट्रिंग बफ़र का इस्तेमाल जारी रखना ज़रूरी है. साथ ही, OpenThread को इस तरह के स्ट्रक्चर का कोई इंस्टेंस पास होने के बाद, इनमें कोई बदलाव नहीं होना चाहिए. यह बदलाव, otSrpClientService
इंस्टेंस के हिस्से के तौर पर किया जाता है.
otSrpClientService
में otDnsTxtEntry
एंट्री का इस्तेमाल किया जाता है, ताकि पूरा TXT रिकॉर्ड (जानकारी की सूची) दर्ज किया जा सके.
otDnsTxtEntryIterator
struct otDnsTxtEntryIterator otDnsTxtEntryIterator
TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू पेयर) के लिए, इटरेटर को दिखाता है.
इस स्ट्रक्चर में मौजूद डेटा फ़ील्ड, OpenThread कोर के लिए इस्तेमाल किए जाने के लिए हैं. इसलिए, कॉलर को इन्हें पढ़ना या बदलना नहीं चाहिए.
फ़ंक्शन
otDnsAddressResponseGetAddress
otError otDnsAddressResponseGetAddress( const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
पते के रिज़ॉल्यूशन वाले डीएनएस रिस्पॉन्स से जुड़ा आईपीवी6 पता मिलता है.
सिर्फ़ otDnsAddressCallback
से इस्तेमाल किया जाना चाहिए.
जवाब में, आईपीवी6 पते के कई रिकॉर्ड शामिल हो सकते हैं. aIndex
का इस्तेमाल, पतों की सूची की मदद से दोहराने के लिए किया जा सकता है. इंडेक्स शून्य को पहला पता मिलता है. यह क्रम इसी तरह जारी रहता है. सूची के आखिर में पहुंचने पर, OT_ERROR_NOT_FOUND
नतीजा मिलता है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otDnsAddressResponseGetHostName
otError otDnsAddressResponseGetHostName( const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
पते की समस्या को ठीक करने वाले डीएनएस रिस्पॉन्स से जुड़े पूरे होस्ट नेम की जानकारी देता है.
सिर्फ़ otDnsAddressCallback
से इस्तेमाल किया जाना चाहिए.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otDnsBrowseResponseGetHostAddress
otError otDnsBrowseResponseGetHostAddress( const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) के रिस्पॉन्स से, होस्ट आईपीवी6 पता पाता है.
सिर्फ़ otDnsBrowseCallback
से इस्तेमाल किया जाना चाहिए.
जवाब में, आईपीवी6 पते के शून्य या उससे ज़्यादा रिकॉर्ड शामिल हो सकते हैं. aIndex
का इस्तेमाल, पतों की सूची की मदद से दोहराने के लिए किया जा सकता है. इंडेक्स शून्य को पहला पता मिलता है. यह क्रम इसी तरह जारी रहता है. सूची के आखिर में पहुंचने पर, OT_ERROR_NOT_FOUND
नतीजा मिलता है.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otDnsBrowseResponseGetServiceInfo
otError otDnsBrowseResponseGetServiceInfo( const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo )
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) के रिस्पॉन्स से, किसी सेवा इंस्टेंस की जानकारी मिलती है.
सिर्फ़ otDnsBrowseCallback
से इस्तेमाल किया जाना चाहिए.
ब्राउज़ डीएनएस रिस्पॉन्स में, सेवा इंस्टेंस के लिए SRV, TXT, और AAAA रिकॉर्ड शामिल हो सकते हैं. ऐसा करना ज़रूरी नहीं है. साथ ही, सर्वर/सॉल्वर को यह जानकारी देना ज़रूरी नहीं है. उपलब्ध होने पर, यह फ़ंक्शन किसी दी गई सेवा के इंस्टेंस के लिए, इस जानकारी को हासिल करने की कोशिश करता है.
- अगर
aResponse
में मिलता-जुलता कोई SRV रिकॉर्ड नहीं मिलता, तोOT_ERROR_NOT_FOUND
लौटाया जाता है. इस मामले में, कोई अतिरिक्त रिकॉर्ड (कोई TXT और/या AAAA) नहीं पढ़ा जाता है. - अगर
aResponse
में मिलता-जुलता एसआरवी रिकॉर्ड मिलता है, तोaServiceInfo
को अपडेट किया जाता है औरOT_ERROR_NONE
दिखाया जाता है. - अगर
aResponse
में मिलता-जुलता कोई TXT रिकॉर्ड नहीं मिलता है, तोaServiceInfo
मेंmTxtDataSize
को शून्य पर सेट कर दिया जाता है. - अगर TXT डेटा की लंबाई
mTxtDataSize
से ज़्यादा है, तो उसे कुछ हद तक पढ़ा जाता है औरmTxtDataTruncated
को 'सही' पर सेट किया जाता है. - अगर
aResponse
में मिलता-जुलता कोई AAAA रिकॉर्ड नहीं मिलता है, तो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 )
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) रिस्पॉन्स से जुड़ा सेवा इंस्टेंस लेता है.
सिर्फ़ otDnsBrowseCallback
से इस्तेमाल किया जाना चाहिए.
रिस्पॉन्स में कई सेवा इंस्टेंस रिकॉर्ड शामिल हो सकते हैं. aIndex
का इस्तेमाल, सूची में दी गई जानकारी दोहराने के लिए किया जा सकता है. इंडेक्स ज़ीरो से पहला रिकॉर्ड मिलता है. सूची के आखिर में पहुंचने पर, OT_ERROR_NOT_FOUND
नतीजा मिलता है.
ध्यान दें कि इस फ़ंक्शन को सेवा इंस्टेंस लेबल मिलता है, न कि सेवा इंस्टेंस का पूरा नाम, जो
फ़ॉर्म का होता है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otDnsBrowseResponseGetServiceName
otError otDnsBrowseResponseGetServiceName( const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) रिस्पॉन्स से जुड़ी सेवा के नाम की जानकारी देता है.
सिर्फ़ otDnsBrowseCallback
से इस्तेमाल किया जाना चाहिए.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otDnsClientBrowse
otError otDnsClientBrowse( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
किसी सेवा के नाम के लिए, डीएनएस ब्राउज़ (सेवा इंस्टेंस की गिनती) क्वेरी भेजता है.
यह विकल्प, OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
के चालू होने पर उपलब्ध होगा.
aConfig
, NULL हो सकता है. इस मामले में, otDnsClientGetDefaultConfig()
के डिफ़ॉल्ट कॉन्फ़िगरेशन को इस क्वेरी के कॉन्फ़िगरेशन के तौर पर इस्तेमाल किया जाएगा. नॉन-शून्य aConfig
में, कुछ फ़ील्ड को बिना वैल्यू के छोड़ा जा सकता है (वैल्यू शून्य). इसके बाद, उन फ़ील्ड को डिफ़ॉल्ट कॉन्फ़िगरेशन में मौजूद वैल्यू से बदल दिया जाता है जिनके बारे में जानकारी नहीं है.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otDnsClientGetDefaultConfig
const otDnsQueryConfig * otDnsClientGetDefaultConfig( otInstance *aInstance )
इससे डीएनएस क्लाइंट के इस्तेमाल किए गए मौजूदा डिफ़ॉल्ट क्वेरी कॉन्फ़िगरेशन की जानकारी मिलती है.
OpenThread स्टैक के शुरू होने पर, डिफ़ॉल्ट डीएनएस क्वेरी कॉन्फ़िगरेशन को ओटी कॉन्फ़िगरेशन के विकल्पों के सेट से तय किया जाता है. जैसे, OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS
, _DEFAULT_SERVER_PORT
, _DEFAULT_RESPONSE_TIMEOUT
वगैरह. कॉन्फ़िगरेशन से जुड़े सभी विकल्पों के लिए config/dns_client.h
देखें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
मौजूदा डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए एक पॉइंटर, जिसका इस्तेमाल डीएनएस क्लाइंट कर रहा है.
|
otDnsClientResolveAddress
otError otDnsClientResolveAddress( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
दिए गए होस्ट नाम के लिए, AAAA (IPv6) रिकॉर्ड के लिए पते के रिज़ॉल्यूशन वाली डीएनएस क्वेरी भेजता है.
aConfig
, NULL हो सकता है. इस मामले में, otDnsClientGetDefaultConfig()
के डिफ़ॉल्ट कॉन्फ़िगरेशन को इस क्वेरी के कॉन्फ़िगरेशन के तौर पर इस्तेमाल किया जाएगा. नॉन-शून्य aConfig
में, कुछ फ़ील्ड को बिना वैल्यू के छोड़ा जा सकता है (वैल्यू शून्य). इसके बाद, उन फ़ील्ड को डिफ़ॉल्ट कॉन्फ़िगरेशन में मौजूद वैल्यू से बदल दिया जाता है जिनके बारे में जानकारी नहीं है.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otDnsClientResolveIp4Address
otError otDnsClientResolveIp4Address( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
दिए गए होस्ट नेम के A (IPv4) रिकॉर्ड के लिए, पते के रिज़ॉल्यूशन वाली डीएनएस क्वेरी भेजता है.
OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE
के चालू होने पर ही उपलब्ध होता है और इसकी ज़रूरत होती है.
जवाब मिलने पर, aCallback
से आईपी पते के वे पते दिखाए जाते हैं जिनका अनुवाद, क्वेरी के जवाब में दिखाया जाता है. ये पते, आईपीवी4 पतों के NAT64 IPv6 वर्शन के तौर पर दिखाए जाते हैं.
aConfig
, NULL हो सकता है. इस मामले में, otDnsClientGetDefaultConfig()
के डिफ़ॉल्ट कॉन्फ़िगरेशन को इस क्वेरी के कॉन्फ़िगरेशन के तौर पर इस्तेमाल किया जाएगा. नॉन-शून्य aConfig
में, कुछ फ़ील्ड को बिना वैल्यू के छोड़ा जा सकता है (वैल्यू शून्य). इसके बाद, उन फ़ील्ड को डिफ़ॉल्ट कॉन्फ़िगरेशन में मौजूद वैल्यू से बदल दिया जाता है जिनके बारे में जानकारी नहीं है.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otDnsClientResolveService
otError otDnsClientResolveService( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
दिए गए सेवा इंस्टेंस के लिए, डीएनएस सेवा इंस्टेंस का रिज़ॉल्यूशन शुरू करता है.
यह विकल्प, OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
के चालू होने पर उपलब्ध होगा.
aConfig
, NULL हो सकता है. इस मामले में, otDnsClientGetDefaultConfig()
के डिफ़ॉल्ट कॉन्फ़िगरेशन को इस क्वेरी के कॉन्फ़िगरेशन के तौर पर इस्तेमाल किया जाएगा. नॉन-शून्य aConfig
में, कुछ फ़ील्ड को बिना वैल्यू के छोड़ा जा सकता है (वैल्यू शून्य). इसके बाद, उन फ़ील्ड को डिफ़ॉल्ट कॉन्फ़िगरेशन में मौजूद वैल्यू से बदल दिया जाता है जिनके बारे में जानकारी नहीं है.
फ़ंक्शन दिए गए सर्विस इंस्टेंस के लिए, SRV और/या TXT रिकॉर्ड के लिए क्वेरी भेजता है. otDnsQueryConfig
के mServiceMode
फ़ील्ड से तय होता है कि किन रिकॉर्ड पर क्वेरी करनी है (सिर्फ़ SRV, सिर्फ़ TXT या SRV और TXT दोनों) और क्वेरी कैसे की जानी चाहिए (एक साथ समान मैसेज में, अलग-अलग साथ में या ऑप्टिमाइज़ किए गए मोड में, जहां क्लाइंट पहले उसी मैसेज पर और फिर अलग से जवाब देने की कोशिश करेगा, अगर उसे कोई जवाब नहीं मिलता है).
SRV रिकॉर्ड, सर्विस इंस्टेंस से जुड़े होस्ट नाम के साथ सर्विस पोर्ट, प्राथमिकता, और वज़न के बारे में जानकारी देता है. यह फ़ंक्शन SRV रिकॉर्ड से खोजे गए होस्ट नाम के लिए पते का समाधान नहीं करता. सर्वर/रिज़ॉल्वर, SRV/TXT क्वेरी के जवाब के अतिरिक्त डेटा सेक्शन में होस्ट नाम के लिए AAAA/A रिकॉर्ड दे सकता है. यह जानकारी otDnsServiceCallback
में otDnsServiceResponseGetServiceInfo()
का इस्तेमाल करके हासिल की जा सकती है. इस एपीआई का इस्तेमाल करने वालों को यह नहीं मानना चाहिए कि होस्ट पता हमेशा otDnsServiceResponseGetServiceInfo()
से उपलब्ध रहेगा.
जानकारी | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||
रिटर्न वैल्यू |
|
otDnsClientResolveServiceAndHostAddress
otError otDnsClientResolveServiceAndHostAddress( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
यह दिए गए सेवा इंस्टेंस के लिए डीएनएस सेवा इंस्टेंस का रिज़ॉल्यूशन शुरू करता है. इसमें सेवा इंस्टेंस के लिए खोजे गए होस्ट नाम के लिए फ़ॉलो-अप पते का संभावित रिज़ॉल्यूशन शुरू होता है.
यह विकल्प, OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
के चालू होने पर उपलब्ध होगा.
aConfig
, NULL हो सकता है. इस मामले में, otDnsClientGetDefaultConfig()
के डिफ़ॉल्ट कॉन्फ़िगरेशन को इस क्वेरी के कॉन्फ़िगरेशन के तौर पर इस्तेमाल किया जाएगा. नॉन-शून्य aConfig
में, कुछ फ़ील्ड को बिना वैल्यू के छोड़ा जा सकता है (वैल्यू शून्य). इसके बाद, उन फ़ील्ड को डिफ़ॉल्ट कॉन्फ़िगरेशन में मौजूद वैल्यू से बदल दिया जाता है जिनके बारे में जानकारी नहीं है. इस फ़ंक्शन को OT_DNS_SERVICE_MODE_TXT
पर सेट किए गए डीएनएस कॉन्फ़िगरेशन में mServiceMode
के साथ इस्तेमाल नहीं किया जा सकता (जैसे, सिर्फ़ TXT रिकॉर्ड के लिए क्वेरी करना) और इससे OT_ERROR_INVALID_ARGS
मिलेगा.
यह एसआरवी और टीएक्सटी रिकॉर्ड के लिए क्वेरी भेजने वाले otDnsClientResolveService()
की तरह ही काम करता है. हालांकि, अगर सर्वर/रिज़ॉल्वर, SRV क्वेरी (अतिरिक्त डेटा सेक्शन में) के जवाब में होस्ट नाम के लिए AAAA/A रिकॉर्ड नहीं देता है, तो वह SRV रिकॉर्ड से खोजे गए होस्ट नाम के लिए होस्ट नेम रिज़ॉल्यूशन (AAAA क्वेरी भेजेगा). सभी क्वेरी के जवाब मिलने पर, aCallback
कॉलबैक को शुरू किया जाता है. इसका मतलब है कि सेवा और होस्ट अड्रेस, दोनों के रिज़ॉल्यूशन पूरे हो जाने पर.
जानकारी | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||
रिटर्न वैल्यू |
|
otDnsClientSetDefaultConfig
void otDnsClientSetDefaultConfig( otInstance *aInstance, const otDnsQueryConfig *aConfig )
यह डीएनएस क्लाइंट पर, डिफ़ॉल्ट क्वेरी कॉन्फ़िगरेशन को सेट करता है.
aConfig
, NULL हो सकता है. इस मामले में, डिफ़ॉल्ट कॉन्फ़िगरेशन को ओटी कॉन्फ़िगरेशन के विकल्प OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}
में मौजूद, डिफ़ॉल्ट के तौर पर सेट किया जाएगा. ऐसा करने से, OpenThread स्टैक के शुरू होने पर डिफ़ॉल्ट क्वेरी कॉन्फ़िगरेशन को वापस कॉन्फ़िगरेशन पर रीसेट कर दिया जाता है.
नॉन-शून्य aConfig
में, कॉलर otDnsQueryConfig
इंस्टेंस के कुछ फ़ील्ड को बिना तय किए (वैल्यू शून्य) छोड़ने का विकल्प चुन सकता है. डिफ़ॉल्ट क्वेरी कॉन्फ़िगरेशन बनाने के लिए, बिना जानकारी वाले फ़ील्ड को उनसे जुड़े ओटी कॉन्फ़िगरेशन विकल्प की परिभाषाओं OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}
से बदल दिया जाता है.
जब OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE
चालू होता है, तो डिफ़ॉल्ट कॉन्फ़िगरेशन में सर्वर का IPv6 पता, डीएनएस क्लाइंट के ज़रिए अपने-आप सेट और अपडेट हो जाता है. ऐसा सिर्फ़ तब किया जाता है, जब उपयोगकर्ता इसे साफ़ तौर पर सेट या तय नहीं करता. इस व्यवहार के लिए, SRP क्लाइंट और इसकी अपने-आप चालू होने की सुविधा चालू होना ज़रूरी है. इसके बाद, SRP क्लाइंट किसी SRP सर्वर को चुनने के लिए, DNS/SRP सेवा की एंट्री के लिए Thread नेटवर्क डेटा की निगरानी करेगा. चुने गए एसआरपी सर्वर का पता, डिफ़ॉल्ट कॉन्फ़िगरेशन में डीएनएस सर्वर पते के तौर पर भी सेट है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otDnsEncodeTxtData
otError otDnsEncodeTxtData( const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength )
यह TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू के जोड़े) की दी गई सूची को TXT डेटा में कोड में बदलता है. ऐसा आरएफ़सी 6763 के बताए गए फ़ॉर्मैट के मुताबिक किया जाता है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otDnsGetNextTxtEntry
otError otDnsGetNextTxtEntry( otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry )
यह, किसी इटरेटर से TXT डेटा को पार्स करता है और अगली TXT रिकॉर्ड एंट्री (कुंजी/वैल्यू पेयर) हासिल करता है.
इस फ़ंक्शन को कॉल करने से पहले aIterator
को otDnsInitTxtEntryIterator()
का इस्तेमाल करके शुरू किया जाना चाहिए. साथ ही, इटरेटर को शुरू करने के लिए इस्तेमाल किए गए TXT डेटा बफ़र को बनाए रखना ज़रूरी है और इसमें कोई बदलाव नहीं किया गया है. अगर ऐसा नहीं है, तो इस फ़ंक्शन के व्यवहार के बारे में कोई जानकारी नहीं दी गई है.
अगर पार्स की गई कुंजी स्ट्रिंग की लंबाई OT_DNS_TXT_KEY_ITER_MAX_LENGTH
से कम या इसके बराबर है, तो aEntry
में mKey
में कुंजी स्ट्रिंग दिखाई जाती है. अगर कुंजी ज़्यादा लंबी है, तो mKey
को NULL पर सेट कर दिया जाता है और कोड में बदली गई पूरी TXT एंट्री स्ट्रिंग mValue
और mValueLength
में दिखाई जाती है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otDnsInitTxtEntryIterator
void otDnsInitTxtEntryIterator( otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength )
TXT रिकॉर्ड इटरेटर शुरू करता है.
aIterator
ऑब्जेक्ट का इस्तेमाल किए जाने के दौरान, बफ़र पॉइंटर aTxtData
और इसके कॉन्टेंट में कोई बदलाव नहीं होना चाहिए.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
otDnsIsNameCompressionEnabled
bool otDnsIsNameCompressionEnabled( void )
इससे पता चलता है कि "डीएनएस नाम को कंप्रेस करने का तरीका" मोड चालू है या नहीं.
यह सिर्फ़ जांच के लिए है और OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
कॉन्फ़िगरेशन चालू होने पर ही उपलब्ध होगा.
जानकारी | |
---|---|
लौटाए गए सामान |
"डीएनएस नाम कंप्रेशन" मोड चालू होने पर 'सही', अगर नहीं, तो 'गलत'.
|
otDnsServiceResponseGetHostAddress
otError otDnsServiceResponseGetHostAddress( const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
डीएनएस सेवा इंस्टेंस रिज़ॉल्यूशन रिस्पॉन्स से, होस्ट आईपीवी6 पते की जानकारी मिलती है.
सिर्फ़ otDnsServiceCallback
से इस्तेमाल किया जाना चाहिए.
जवाब में, आईपीवी6 पते के शून्य या उससे ज़्यादा रिकॉर्ड शामिल हो सकते हैं. aIndex
का इस्तेमाल, पतों की सूची की मदद से दोहराने के लिए किया जा सकता है. इंडेक्स शून्य को पहला पता मिलता है. यह क्रम इसी तरह जारी रहता है. सूची के आखिर में पहुंचने पर, OT_ERROR_NOT_FOUND
नतीजा मिलता है.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otDnsServiceResponseGetServiceInfo
otError otDnsServiceResponseGetServiceInfo( const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo )
डीएनएस सेवा के इंस्टेंस रिज़ॉल्यूशन वाले रिस्पॉन्स से, सेवा इंस्टेंस के बारे में जानकारी मिलती है.
इसका इस्तेमाल सिर्फ़ ऐसे otDnsServiceCallback
से किया जाना चाहिए जो otDnsClientResolveService()
या otDnsClientResolveServiceAndHostAddress()
से ट्रिगर हुआ हो.
जब इसका इस्तेमाल otDnsClientResolveService()
कॉलबैक से किया जाता है, तो सर्वर/रिज़ॉल्वर से मिलने वाले डीएनएस रिस्पॉन्स में, रिज़ॉल्वर वाले सेवा इंस्टेंस से जुड़े होस्ट नेम के लिए, अतिरिक्त डेटा सेक्शन में AAAA रिकॉर्ड शामिल हो सकता है. यह एक ज़रूरी शर्त है और ज़रूरी नहीं है. इसलिए, सर्वर/रिज़ॉल्वर को यह जानकारी देने की ज़रूरत नहीं होती. यह फ़ंक्शन, जवाब में शामिल AAAA रिकॉर्ड को पार्स करने की कोशिश करता है. अगर इसे शामिल नहीं किया जाता है, तो mHostAddress
को शून्य (अनिर्दिष्ट पता) पर सेट किया जाता है. होस्ट पते का समाधान भी करने के लिए, उपयोगकर्ता डीएनएस क्लाइंट एपीआई फ़ंक्शन otDnsClientResolveServiceAndHostAddress()
का इस्तेमाल कर सकता है. सेवा रिज़ॉल्यूशन के बाद, होस्ट नेम के पते का समाधान करने वाली क्वेरी (जब SRV क्वेरी के जवाब में सर्वर/रिज़ॉल्वर की ओर से AAAA रिकॉर्ड उपलब्ध नहीं कराए जाते) शामिल होगी.
- अगर
aResponse
में मिलता-जुलता एसआरवी रिकॉर्ड मिलता है, तोaServiceInfo
अपडेट कर दिया जाता है. - अगर मिलता-जुलता कोई एसआरवी रिकॉर्ड नहीं मिलता है, तो
OT_ERROR_NOT_FOUND
तब तक लौटाया जाता है, जब तक इस क्वेरी के क्वेरी कॉन्फ़िगरेशन मेंmServiceMode
के लिएOT_DNS_SERVICE_MODE_TXT
का इस्तेमाल नहीं किया गया हो. इसका मतलब है कि अनुरोध सिर्फ़ TXT रिकॉर्ड के लिए किया गया था. इस मामले में भी, हम रिस्पॉन्स के अतिरिक्त डेटा सेक्शन (अगर सर्वर ने जानकारी दी हो) से एसआरवी रिकॉर्ड को पार्स करने की कोशिश करते हैं. - अगर
aResponse
में मिलता-जुलता कोई TXT रिकॉर्ड नहीं मिलता है, तोaServiceInfo
मेंmTxtDataSize
को शून्य पर सेट कर दिया जाता है. - अगर TXT डेटा की लंबाई
mTxtDataSize
से ज़्यादा है, तो उसे कुछ हद तक पढ़ा जाता है औरmTxtDataTruncated
को 'सही' पर सेट किया जाता है. - अगर
aResponse
में मिलता-जुलता कोई AAAA रिकॉर्ड नहीं मिलता है, तो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 )
डीएनएस सेवा इंस्टेंस रिज़ॉल्यूशन रिस्पॉन्स से जुड़े सेवा इंस्टेंस के नाम की जानकारी देता है.
सिर्फ़ otDnsServiceCallback
से इस्तेमाल किया जाना चाहिए.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otDnsSetNameCompressionEnabled
void otDnsSetNameCompressionEnabled( bool aEnabled )
"डीएनएस नाम कंप्रेशन" मोड को चालू/बंद करता है.
डीएनएस नाम को कंप्रेस करने की सुविधा, डिफ़ॉल्ट रूप से चालू रहती है. बंद होने पर, डीएनएस नामों को पूरे नाम के साथ जोड़ा जाता है और कभी भी कंप्रेस नहीं किया जाता है. यह OpenThread के DNS और SRP क्लाइंट/सर्वर मॉड्यूल पर लागू होता है.
यह सिर्फ़ जांच के लिए है और 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_ITER_MAX_LENGTH
OT_DNS_TXT_KEY_ITER_MAX_LENGTH 64
TXT कुंजी स्ट्रिंग की ज़्यादा से ज़्यादा लंबाई, जो otDnsTxtEntryIterator
पर काम करती है.
OT_DNS_TXT_KEY_MAX_LENGTH
OT_DNS_TXT_KEY_MAX_LENGTH 9
TXT रिकॉर्ड की कुंजी स्ट्रिंग की ज़्यादा से ज़्यादा लंबाई का सुझाव दिया जाता है (आरएफ़सी 6763 - सेक्शन 6.4).
OT_DNS_TXT_KEY_MIN_LENGTH
OT_DNS_TXT_KEY_MIN_LENGTH 1
TXT रिकॉर्ड की कुंजी स्ट्रिंग की कम से कम लंबाई (RFC 6763 - सेक्शन 6.4).
संसाधन
OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.