ডিএনএস
এই মডিউলটিতে এমন ফাংশন রয়েছে যা DNS যোগাযোগ নিয়ন্ত্রণ করে।
সারসংক্ষেপ
এই মডিউলের ফাংশনগুলি শুধুমাত্র OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
বৈশিষ্ট্য সক্রিয় থাকলেই উপলব্ধ।
গণনা | |
---|---|
otDnsNat64Mode { | enum টাইপ একটি otDnsQueryConfig এ NAT64 মোড উপস্থাপন করে। |
otDnsRecursionFlag { | enum টাইপ একটি otDnsQueryConfig এ "রিকারশন ডিজায়ারড" (RD) পতাকা উপস্থাপন করে। |
otDnsServiceMode { | enum টাইপ একটি otDnsQueryConfig এ পরিষেবা রেজোলিউশন মোড উপস্থাপন করে। |
otDnsTransportProto { | enum টাইপ একটি otDnsQueryConfig এ DNS পরিবহন প্রোটোকল উপস্থাপন করে। |
Typedefs | |
---|---|
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 একটি কী/মান জোড়া (RFC 6763 - বিভাগ 6.3) প্রতিনিধিত্ব করে একটি TXT রেকর্ড এন্ট্রি প্রতিনিধিত্ব করে। |
otDnsTxtEntryIterator | typedefstruct otDnsTxtEntryIterator TXT রেকর্ড এন্ট্রির জন্য একটি পুনরাবৃত্তিকারী প্রতিনিধিত্ব করে (কী/মান জোড়া)। |
ফাংশন | |
---|---|
otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl) | একটি ঠিকানা রেজোলিউশন DNS প্রতিক্রিয়া সঙ্গে যুক্ত একটি IPv6 ঠিকানা পায়। |
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) | একটি DNS ব্রাউজ (পরিষেবা উদাহরণ গণনা) প্রতিক্রিয়া থেকে হোস্ট IPv6 ঠিকানা পায়। |
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) | const otDnsQueryConfig * DNS ক্লায়েন্ট দ্বারা ব্যবহৃত বর্তমান ডিফল্ট ক্যোয়ারী কনফিগারেশন পায়। |
otDnsClientResolveAddress ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | একটি প্রদত্ত হোস্ট নামের জন্য AAAA (IPv6) রেকর্ড(গুলি) এর জন্য একটি ঠিকানা রেজোলিউশন DNS ক্যোয়ারী পাঠায়। |
otDnsClientResolveIp4Address ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | একটি প্রদত্ত হোস্ট নামের জন্য A (IPv4) রেকর্ড(গুলি) এর জন্য একটি ঠিকানা রেজোলিউশন DNS ক্যোয়ারী পাঠায়। |
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | একটি প্রদত্ত পরিষেবা দৃষ্টান্তের জন্য একটি DNS পরিষেবা দৃষ্টান্ত রেজোলিউশন শুরু করে৷ |
otDnsClientResolveServiceAndHostAddress ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | পরিষেবা দৃষ্টান্তের জন্য আবিষ্কৃত হোস্ট নামের জন্য সম্ভাব্য ফলো-আপ ঠিকানা রেজোলিউশন সহ একটি প্রদত্ত পরিষেবা দৃষ্টান্তের জন্য একটি DNS পরিষেবা দৃষ্টান্ত রেজোলিউশন শুরু করে৷ |
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig) | void DNS ক্লায়েন্টে ডিফল্ট ক্যোয়ারী কনফিগারেশন সেট করে। |
otDnsEncodeTxtData (const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength) | TXT রেকর্ড এন্ট্রির একটি প্রদত্ত তালিকা (কী/মান জোড়া) TXT ডেটাতে এনকোড করে (RFC 6763 দ্বারা নির্দিষ্ট করা বিন্যাস অনুসরণ করে)। |
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) | একটি DNS পরিষেবা ইনস্ট্যান্স রেজোলিউশন প্রতিক্রিয়া থেকে হোস্ট IPv6 ঠিকানা পায়৷ |
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 | একটি কী/মান জোড়া (RFC 6763 - বিভাগ 6.3) প্রতিনিধিত্ব করে একটি TXT রেকর্ড এন্ট্রি প্রতিনিধিত্ব করে। |
otDnsTxtEntryIterator | TXT রেকর্ড এন্ট্রির জন্য একটি পুনরাবৃত্তিকারী প্রতিনিধিত্ব করে (কী/মান জোড়া)। |
গণনা
otDnsNat64Mode
otDnsNat64Mode
টাইপ একটি otDnsQueryConfig
এ NAT64 মোড উপস্থাপন করে।
NAT64 মোড নির্দেশ করে যে DNS ক্লায়েন্ট অ্যাড্রেস রেজোলিউশনের সময় NAT64 ঠিকানা অনুবাদের অনুমতি দেওয়া বা না দেওয়া। এই মোডটি শুধুমাত্র তখনই ব্যবহৃত হয় যখন OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE
সক্ষম থাকে৷
otDnsRecursionFlag
otDnsRecursionFlag
টাইপ একটি otDnsQueryConfig
এ "রিকারশন ডিজায়ারড" (RD) পতাকা উপস্থাপন করে।
otDnsServiceMode
otDnsServiceMode
টাইপ একটি otDnsQueryConfig
এ পরিষেবা রেজোলিউশন মোড উপস্থাপন করে।
এটি শুধুমাত্র DNS ক্লায়েন্ট পরিষেবা রেজোলিউশন otDnsClientResolveService()
এর সময় ব্যবহৃত হয়। এটি নির্ধারণ করে যে কোন রেকর্ডের প্রকারগুলি অনুসন্ধান করতে হবে৷
otDnsTransportProto
otDnsTransportProto
টাইপ একটি otDnsQueryConfig
এ DNS পরিবহন প্রোটোকল উপস্থাপন করে।
এই OT_DNS_TRANSPORT_TCP
শুধুমাত্র তখনই সমর্থিত হয় যখন OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE
সক্রিয় থাকে৷
বৈশিষ্ট্য | |
---|---|
OT_DNS_TRANSPORT_TCP | DNS ক্যোয়ারী UDP এর মাধ্যমে পাঠাতে হবে। |
OT_DNS_TRANSPORT_UDP | DNS পরিবহন অনির্দিষ্ট। |
Typedefs
otDnsAddressCallback
void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
একটি ঠিকানা রেজোলিউশন প্রশ্নের জন্য একটি DNS প্রতিক্রিয়া প্রাপ্ত হলে পয়েন্টার বলা হয়।
এই কলব্যাকের মধ্যে ব্যবহারকারী প্রতিক্রিয়া সম্পর্কে আরও তথ্য পেতে aResponse
পয়েন্টারের সাথে otDnsAddressResponseGet{Item}()
ফাংশন ব্যবহার করতে পারেন।
aResponse
পয়েন্টারটি শুধুমাত্র এই কলব্যাকের মধ্যে ব্যবহার করা যেতে পারে এবং এই ফাংশন থেকে ফিরে আসার পরে এটি বৈধ থাকবে না, তাই ব্যবহারকারীকে পরবর্তী ব্যবহারের জন্য aResponse
পয়েন্টারটি ধরে রাখতে হবে না।
একটি aError
নিম্নলিখিত থাকতে পারে:
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
- OT_ERROR_NONE একটি প্রতিক্রিয়া সফলভাবে গৃহীত হয়েছে৷
- OT_ERROR_ABORT স্ট্যাকের দ্বারা একটি DNS লেনদেন বাতিল করা হয়েছে৷
- OT_ERROR_RESPONSE_TIMEOUT সময়সীমার মধ্যে কোনো DNS প্রতিক্রিয়া পাওয়া যায়নি।
যদি সার্ভার ঠিকানা রেজোলিউশনের অনুরোধ প্রত্যাখ্যান করে তবে সার্ভার থেকে ত্রুটি কোডটি নিম্নরূপ ম্যাপ করা হয়:
- (0) NOERROR সাফল্য (কোন ত্রুটি শর্ত নেই) -> OT_ERROR_NONE
- (1) ফর্ম্যাট ত্রুটির কারণে FORMERR সার্ভার ব্যাখ্যা করতে অক্ষম -> OT_ERROR_PARSE
- (2) SERVFAIL সার্ভার একটি অভ্যন্তরীণ ব্যর্থতার সম্মুখীন হয়েছে -> 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_DUPLICATED
- (7) YXRRSET কিছু RRset যা বিদ্যমান থাকা উচিত নয়, বিদ্যমান আছে -> OT_ERROR_DUPLICATED
- (8) NXRRSET কিছু RRset যা বিদ্যমান থাকা উচিত, বিদ্যমান নেই -> OT_ERROR_NOT_FOUND
- (9) NOTAUTH পরিষেবা জোনের জন্য অনুমোদিত নয় -> OT_ERROR_SECURITY
- (10) নোটজোন একটি নাম জোনে নেই -> 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
থেকে প্রদান করা হয়।
otDnsBrowseCallback
void(* otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)
একটি ব্রাউজ (পরিষেবা উদাহরণ গণনা) প্রশ্নের জন্য একটি DNS প্রতিক্রিয়া প্রাপ্ত হলে পয়েন্টার বলা হয়।
এই কলব্যাকের মধ্যে ব্যবহারকারী প্রতিক্রিয়া সম্পর্কে আরও তথ্য পেতে aResponse
পয়েন্টারের সাথে otDnsBrowseResponseGet{Item}()
ফাংশন ব্যবহার করতে পারেন।
aResponse
পয়েন্টারটি শুধুমাত্র এই কলব্যাকের মধ্যে ব্যবহার করা যেতে পারে এবং এই ফাংশন থেকে ফিরে আসার পরে এটি বৈধ থাকবে না, তাই ব্যবহারকারীকে পরবর্তী ব্যবহারের জন্য aResponse
পয়েন্টারটি ধরে রাখতে হবে না।
aError
এর সম্ভাব্য মানের সম্পূর্ণ তালিকার জন্য, অনুগ্রহ করে otDnsAddressCallback()
দেখুন।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otDnsBrowseResponse
struct otDnsBrowseResponse otDnsBrowseResponse
একটি ব্রাউজ (পরিষেবা উদাহরণ গণনা) DNS ক্যোয়ারীতে একটি প্রতিক্রিয়ার একটি অস্বচ্ছ উপস্থাপনা।
এই ধরনের উদাহরণের পয়েন্টার কলব্যাক otDnsBrowseCallback
থেকে প্রদান করা হয়।
otDnsQueryConfig
struct otDnsQueryConfig otDnsQueryConfig
একটি DNS ক্যোয়ারী কনফিগারেশন প্রতিনিধিত্ব করে।
এই কাঠামোর যেকোন ক্ষেত্রকে শূন্যে সেট করা যেতে পারে নির্দেশ করে যে এটি নির্দিষ্ট করা নেই। অনির্দিষ্ট ক্ষেত্রগুলিকে কীভাবে চিকিত্সা করা হয় তা ফাংশন দ্বারা নির্ধারিত হয় যা otDnsQueryConfig
এর উদাহরণ ব্যবহার করে।
otDnsServiceCallback
void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
একটি পরিষেবা উদাহরণ রেজোলিউশন প্রশ্নের জন্য একটি DNS প্রতিক্রিয়া প্রাপ্ত হলে পয়েন্টার বলা হয়।
এই কলব্যাকের মধ্যে ব্যবহারকারী প্রতিক্রিয়া সম্পর্কে আরও তথ্য পেতে aResponse
পয়েন্টারের সাথে otDnsServiceResponseGet{Item}()
ফাংশন ব্যবহার করতে পারেন।
aResponse
পয়েন্টারটি শুধুমাত্র এই কলব্যাকের মধ্যে ব্যবহার করা যেতে পারে এবং এই ফাংশন থেকে ফিরে আসার পরে এটি বৈধ থাকবে না, তাই ব্যবহারকারীকে পরবর্তী ব্যবহারের জন্য aResponse
পয়েন্টারটি ধরে রাখতে হবে না।
aError
এর সম্ভাব্য মানের সম্পূর্ণ তালিকার জন্য, অনুগ্রহ করে otDnsAddressCallback()
দেখুন।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otDnsServiceInfo
struct otDnsServiceInfo otDnsServiceInfo
একটি DNS পরিষেবার উদাহরণের জন্য তথ্য প্রদান করে।
otDnsService রেসপন্স
struct otDnsServiceResponse otDnsServiceResponse
একটি পরিষেবা ইনস্ট্যান্স রেজোলিউশন DNS ক্যোয়ারী একটি প্রতিক্রিয়া একটি অস্বচ্ছ উপস্থাপনা.
এই ধরনের উদাহরণের পয়েন্টার কলব্যাক otDnsAddressCallback
থেকে প্রদান করা হয়।
otDnsTxtEntry
struct otDnsTxtEntry otDnsTxtEntry
একটি কী/মান জোড়া (RFC 6763 - বিভাগ 6.3) প্রতিনিধিত্ব করে একটি TXT রেকর্ড এন্ট্রি প্রতিনিধিত্ব করে।
mKey
এবং mValue
দ্বারা নির্দেশিত স্ট্রিং বাফারগুলি অবশ্যই বজায় থাকবে এবং এই ধরনের কাঠামোর একটি উদাহরণ OpenThread-এ পাস করার পরে অপরিবর্তিত থাকবে ( otSrpClientService
উদাহরণের অংশ হিসাবে)।
সম্পূর্ণ TXT রেকর্ড (এন্ট্রিগুলির একটি তালিকা) নির্দিষ্ট করতে otSrpClientService
এ otDnsTxtEntry
এন্ট্রিগুলির একটি অ্যারে ব্যবহার করা হয়।
otDnsTxtEntryIterator
struct otDnsTxtEntryIterator otDnsTxtEntryIterator
TXT রেকর্ড এন্ট্রির জন্য একটি পুনরাবৃত্তিকারী প্রতিনিধিত্ব করে (কী/মান জোড়া)।
এই কাঠামোর ডেটা ক্ষেত্রগুলি OpenThread কোর দ্বারা ব্যবহারের জন্য উদ্দিষ্ট এবং কলার তাদের পড়া বা পরিবর্তন করা উচিত নয়।
ফাংশন
otDnsAddressResponseGetAddress
otError otDnsAddressResponseGetAddress( const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
একটি ঠিকানা রেজোলিউশন DNS প্রতিক্রিয়া সঙ্গে যুক্ত একটি IPv6 ঠিকানা পায়।
শুধুমাত্র 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 )
একটি DNS ব্রাউজ (পরিষেবা উদাহরণ গণনা) প্রতিক্রিয়া থেকে হোস্ট IPv6 ঠিকানা পায়।
শুধুমাত্র otDnsBrowseCallback
থেকে ব্যবহার করা আবশ্যক।
প্রতিক্রিয়া শূন্য বা তার বেশি IPv6 ঠিকানা রেকর্ড অন্তর্ভুক্ত করতে পারে। aIndex
ঠিকানার তালিকার মাধ্যমে পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে। সূচক শূন্য প্রথম ঠিকানা পায় এবং তাই। যখন আমরা তালিকার শেষে পৌঁছাই, OT_ERROR_NOT_FOUND
ফেরত দেওয়া হয়৷
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
otDnsBrowseResponseGetServiceInfo
otError otDnsBrowseResponseGetServiceInfo( const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo )
একটি DNS ব্রাউজ (পরিষেবা উদাহরণ গণনা) প্রতিক্রিয়া থেকে একটি পরিষেবার উদাহরণের জন্য তথ্য পায়৷
শুধুমাত্র otDnsBrowseCallback
থেকে ব্যবহার করা আবশ্যক।
একটি ব্রাউজ ডিএনএস প্রতিক্রিয়া SRV, TXT, এবং AAAA রেকর্ড অন্তর্ভুক্ত করতে পারে যে পরিষেবা দৃষ্টান্তগুলি গণনা করা হয়েছে। এটি একটি আবশ্যক এবং আবশ্যক নয়, এবং সার্ভার/সমাধানকারীদের এটি প্রদান করার প্রয়োজন নেই৷ এই ফাংশন উপলব্ধ একটি প্রদত্ত পরিষেবা উদাহরণের জন্য এই তথ্য পুনরুদ্ধার করার চেষ্টা করে।
- যদি
aResponse
এ কোনো মিলে যাওয়া SRV রেকর্ড পাওয়া না যায়,OT_ERROR_NOT_FOUND
ফেরত দেওয়া হয়। এই ক্ষেত্রে, কোন অতিরিক্ত রেকর্ড (কোন TXT এবং/বা AAAA) পড়া হয় না। - যদি
aResponse
এ একটি মিলে যাওয়া SRV রেকর্ড পাওয়া যায়,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 )
একটি DNS ব্রাউজ (পরিষেবা উদাহরণ গণনা) প্রতিক্রিয়ার সাথে যুক্ত একটি পরিষেবা দৃষ্টান্ত পায়৷
শুধুমাত্র otDnsBrowseCallback
থেকে ব্যবহার করা আবশ্যক।
প্রতিক্রিয়া একাধিক পরিষেবা উদাহরণ রেকর্ড অন্তর্ভুক্ত করতে পারে. তালিকার মাধ্যমে পুনরাবৃত্তি করতে aIndex
ব্যবহার করা যেতে পারে। সূচক শূন্য প্রথম রেকর্ড দেয়. যখন আমরা তালিকার শেষে পৌঁছাই, OT_ERROR_NOT_FOUND
ফেরত দেওয়া হয়৷
মনে রাখবেন যে এই ফাংশনটি সার্ভিস ইনস্ট্যান্স লেবেল পায় এবং সম্পূর্ণ সার্ভিস ইনস্ট্যান্স নাম নয় যা ফর্মের. .
. .
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
|
otDnsBrowseResponseGetServiceName
otError otDnsBrowseResponseGetServiceName( const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
একটি 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()
থেকে ) এই প্রশ্নের জন্য কনফিগার হিসাবে ব্যবহার করা হবে। একটি নন-NULL aConfig
এ, কিছু ক্ষেত্র অনির্দিষ্ট (মান শূন্য) ছেড়ে দেওয়া যেতে পারে। অনির্দিষ্ট ক্ষেত্রগুলি ডিফল্ট কনফিগারেশনের মান দ্বারা প্রতিস্থাপিত হয়।
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
otDnsClientGetDefaultConfig
const otDnsQueryConfig * otDnsClientGetDefaultConfig( otInstance *aInstance )
DNS ক্লায়েন্ট দ্বারা ব্যবহৃত বর্তমান ডিফল্ট ক্যোয়ারী কনফিগারেশন পায়।
যখন OpenThread স্ট্যাক শুরু হয়, ডিফল্ট DNS ক্যোয়ারী কনফিগারেশন নির্ধারণ করা হয় OT কনফিগারেশন বিকল্পগুলির একটি সেট থেকে যেমন OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS
, _DEFAULT_SERVER_PORT
, _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 )
একটি প্রদত্ত হোস্ট নামের জন্য AAAA (IPv6) রেকর্ড(গুলি) এর জন্য একটি ঠিকানা রেজোলিউশন DNS ক্যোয়ারী পাঠায়।
aConfig
NULL হতে পারে। এই ক্ষেত্রে ডিফল্ট কনফিগারেশন ( otDnsClientGetDefaultConfig()
থেকে ) এই প্রশ্নের জন্য কনফিগার হিসাবে ব্যবহার করা হবে। একটি নন-NULL aConfig
এ, কিছু ক্ষেত্র অনির্দিষ্ট (মান শূন্য) ছেড়ে দেওয়া যেতে পারে। অনির্দিষ্ট ক্ষেত্রগুলি ডিফল্ট কনফিগারেশনের মান দ্বারা প্রতিস্থাপিত হয়।
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
otDnsClientResolveIp4Address
otError otDnsClientResolveIp4Address( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
একটি প্রদত্ত হোস্ট নামের জন্য A (IPv4) রেকর্ড(গুলি) এর জন্য একটি ঠিকানা রেজোলিউশন DNS ক্যোয়ারী পাঠায়।
OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE
সক্ষম হলে প্রয়োজন এবং উপলব্ধ।
একটি সফল প্রতিক্রিয়া প্রাপ্ত হলে, ঠিকানাগুলি ক্যোয়ারী প্রতিক্রিয়া থেকে IPv4 ঠিকানাগুলির NAT64 IPv6 অনুবাদকৃত সংস্করণ হিসাবে aCallback
থেকে ফেরত দেওয়া হয়।
aConfig
NULL হতে পারে। এই ক্ষেত্রে ডিফল্ট কনফিগারেশন ( otDnsClientGetDefaultConfig()
থেকে ) এই প্রশ্নের জন্য কনফিগার হিসাবে ব্যবহার করা হবে। একটি নন-NULL aConfig
এ, কিছু ক্ষেত্র অনির্দিষ্ট (মান শূন্য) ছেড়ে দেওয়া যেতে পারে। অনির্দিষ্ট ক্ষেত্রগুলি ডিফল্ট কনফিগারেশনের মান দ্বারা প্রতিস্থাপিত হয়।
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
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()
থেকে ) এই প্রশ্নের জন্য কনফিগার হিসাবে ব্যবহার করা হবে। একটি নন-NULL aConfig
এ, কিছু ক্ষেত্র অনির্দিষ্ট (মান শূন্য) ছেড়ে দেওয়া যেতে পারে। অনির্দিষ্ট ক্ষেত্রগুলি ডিফল্ট কনফিগারেশনের মান দ্বারা প্রতিস্থাপিত হয়।
ফাংশনটি প্রদত্ত পরিষেবার উদাহরণের জন্য SRV এবং/অথবা TXT রেকর্ডের জন্য প্রশ্ন পাঠায়। otDnsQueryConfig
এর mServiceMode
ক্ষেত্রটি নির্ধারণ করে কোন রেকর্ডগুলিকে কোয়েরি করতে হবে (শুধুমাত্র SRV, শুধুমাত্র TXT, অথবা SRV এবং TXT উভয়ই) এবং কীভাবে কোয়েরি সম্পাদন করতে হবে (একত্রে একই বার্তায়, আলাদাভাবে সমান্তরালভাবে বা অপ্টিমাইজ করা মোডে যেখানে ক্লায়েন্ট চেষ্টা করবে একই বার্তা প্রথমে এবং তারপর পৃথকভাবে যদি এটি একটি প্রতিক্রিয়া পেতে ব্যর্থ হয়)।
SRV রেকর্ড পরিষেবা পোর্ট, অগ্রাধিকার, এবং পরিষেবার দৃষ্টান্তের সাথে যুক্ত হোস্টের নাম সহ ওজন সম্পর্কে তথ্য প্রদান করে। এই ফাংশনটি SRV রেকর্ড থেকে আবিষ্কৃত হোস্ট নামের জন্য ঠিকানা রেজোলিউশন সম্পাদন করে না। সার্ভার/সমাধানকারী SRV/TXT প্রশ্নের উত্তরের অতিরিক্ত ডেটা বিভাগে হোস্ট নামের জন্য AAAA/A রেকর্ড(গুলি) প্রদান করতে পারে এবং এই তথ্যটি otDnsServiceResponseGetServiceInfo()
ব্যবহার করে otDnsServiceCallback
এ পুনরুদ্ধার করা যেতে পারে। এই API-এর ব্যবহারকারীদের অনুমান করা উচিত নয় যে হোস্ট ঠিকানা সর্বদা otDnsServiceResponseGetServiceInfo()
থেকে পাওয়া যাবে।
বিস্তারিত | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||||
রিটার্ন মান |
|
otDnsClientResolveServiceAndHostAddress
otError otDnsClientResolveServiceAndHostAddress( 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()
থেকে ) এই প্রশ্নের জন্য কনফিগার হিসাবে ব্যবহার করা হবে। একটি নন-NULL aConfig
এ, কিছু ক্ষেত্র অনির্দিষ্ট (মান শূন্য) ছেড়ে দেওয়া যেতে পারে। অনির্দিষ্ট ক্ষেত্রগুলি ডিফল্ট কনফিগারেশনের মান দ্বারা প্রতিস্থাপিত হয়। এই ফাংশনটি OT_DNS_SERVICE_MODE_TXT
(অর্থাৎ, শুধুমাত্র TXT রেকর্ডের জন্য অনুসন্ধান) সেট করা DNS কনফিগারে mServiceMode
এর সাথে ব্যবহার করা যাবে না এবং OT_ERROR_INVALID_ARGS
ফেরত দেবে।
otDnsClientResolveService()
SRV এবং TXT রেকর্ডের জন্য প্রশ্ন পাঠানোর অনুরূপ আচরণ করে। যাইহোক, যদি সার্ভার/সমাধানকারী SRV ক্যোয়ারী (অতিরিক্ত ডেটা বিভাগে) এর প্রতিক্রিয়াতে হোস্ট নামের জন্য AAAA/A রেকর্ড প্রদান না করে তবে এটি থেকে আবিষ্কৃত হোস্ট নামের জন্য হোস্ট নেম রেজোলিউশন (এএএএ কোয়েরি পাঠানো) সঞ্চালন করবে SRV রেকর্ড। কলব্যাক aCallback
আহ্বান করা হয় যখন সমস্ত প্রশ্নের উত্তর প্রাপ্ত হয় (অর্থাৎ, উভয় পরিষেবা এবং হোস্ট ঠিকানার রেজোলিউশন সমাপ্ত হয়)।
বিস্তারিত | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||||
রিটার্ন মান |
|
otDnsClientSetDefaultConfig
void otDnsClientSetDefaultConfig( otInstance *aInstance, const otDnsQueryConfig *aConfig )
DNS ক্লায়েন্টে ডিফল্ট ক্যোয়ারী কনফিগারেশন সেট করে।
aConfig
NULL হতে পারে। এই ক্ষেত্রে ডিফল্ট কনফিগারেশন 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 ক্লায়েন্ট তারপর একটি SRP সার্ভার নির্বাচন করার জন্য DNS/SRP পরিষেবা এন্ট্রিগুলির জন্য থ্রেড নেটওয়ার্ক ডেটা নিরীক্ষণ করবে। নির্বাচিত এসআরপি সার্ভার ঠিকানাটি ডিফল্ট কনফিগারেশনে DNS সার্ভার ঠিকানা হিসাবেও সেট করা হয়েছে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
otDnsEncodeTxtData
otError otDnsEncodeTxtData( const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength )
TXT রেকর্ড এন্ট্রির একটি প্রদত্ত তালিকা (কী/মান জোড়া) TXT ডেটাতে এনকোড করে (RFC 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 রেকর্ড পুনরাবৃত্তিকারী শুরু করে।
বাফার পয়েন্টার aTxtData
এবং এর বিষয়বস্তু অবশ্যই বজায় থাকবে এবং aIterator
অবজেক্ট ব্যবহার করার সময় অপরিবর্তিত থাকবে।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otDnsIsNameCompression সক্ষম
bool otDnsIsNameCompressionEnabled( void )
"DNS নাম কম্প্রেশন" মোড সক্ষম করা আছে কি না তা নির্দেশ করে৷
এটি শুধুমাত্র পরীক্ষার জন্য উদ্দিষ্ট এবং OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
কনফিগারেশন সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |
---|---|
রিটার্নস | "DNS নাম কম্প্রেশন" মোড সক্রিয় থাকলে সত্য, অন্যথায় FALSE। |
otDnsServiceResponseGetHostAddress
otError otDnsServiceResponseGetHostAddress( const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
একটি DNS পরিষেবা ইনস্ট্যান্স রেজোলিউশন প্রতিক্রিয়া থেকে হোস্ট IPv6 ঠিকানা পায়৷
শুধুমাত্র otDnsServiceCallback
থেকে ব্যবহার করা আবশ্যক।
প্রতিক্রিয়া শূন্য বা তার বেশি IPv6 ঠিকানা রেকর্ড অন্তর্ভুক্ত করতে পারে। aIndex
ঠিকানার তালিকার মাধ্যমে পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে। সূচক শূন্য প্রথম ঠিকানা পায় এবং তাই। যখন আমরা তালিকার শেষে পৌঁছাই, OT_ERROR_NOT_FOUND
ফেরত দেওয়া হয়৷
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
otDnsServiceResponseGetServiceInfo
otError otDnsServiceResponseGetServiceInfo( const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo )
একটি DNS পরিষেবা ইনস্ট্যান্স রেজোলিউশন প্রতিক্রিয়া থেকে একটি পরিষেবার উদাহরণের জন্য তথ্য পায়৷
শুধুমাত্র otDnsClientResolveService()
বা otDnsClientResolveServiceAndHostAddress()
থেকে ট্রিগার করা একটি otDnsServiceCallback
থেকে ব্যবহার করা আবশ্যক।
যখন এটি একটি otDnsClientResolveService()
কলব্যাক থেকে ব্যবহার করা হয়, তখন সার্ভার/রেজোলভার থেকে DNS প্রতিক্রিয়া AAAA রেকর্ডগুলিকে অন্তর্ভুক্ত করতে পারে তার অতিরিক্ত ডেটা বিভাগে হোস্ট নামের পরিষেবার উদাহরণের সাথে সম্পর্কিত যেটি সমাধান করা হয়েছে। এটি একটি উচিত এবং আবশ্যক নয় তাই সার্ভার/সমাধানকারীদের এটি প্রদান করার প্রয়োজন নেই৷ এই ফাংশনটি AAAA রেকর্ড(গুলি) পার্স করার চেষ্টা করে যদি প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হয়। এটি অন্তর্ভুক্ত না হলে mHostAddress
সব শূন্য (অনির্দিষ্ট ঠিকানা) সেট করা হয়। হোস্ট ঠিকানা সমাধান করার জন্য, ব্যবহারকারী DNS ক্লায়েন্ট API ফাংশন otDnsClientResolveServiceAndHostAddress()
ব্যবহার করতে পারেন যা একটি হোস্ট নাম ঠিকানা রেজোলিউশন ক্যোয়ারী (যখন SRV ক্যোয়ারী রেসপন্সে সার্ভার/রিসোলভার দ্বারা AAAA রেকর্ড সরবরাহ করা হয় না) দ্বারা অনুসরণ করে পরিষেবা রেজোলিউশন সম্পাদন করবে।
- যদি
aResponse
এ একটি মিলে যাওয়া SRV রেকর্ড পাওয়া যায়,aServiceInfo
আপডেট করা হয়। - যদি কোন মিলিত SRV রেকর্ড পাওয়া না যায়,
OT_ERROR_NOT_FOUND
ফেরত দেওয়া হয় যদি না এই প্রশ্নের জন্য ক্যোয়ারী কনফিগারmServiceMode
এর জন্যOT_DNS_SERVICE_MODE_TXT
ব্যবহার করা হয় (অর্থাৎ অনুরোধটি শুধুমাত্র TXT রেকর্ডের জন্য ছিল)। এই ক্ষেত্রে, আমরা এখনও প্রতিক্রিয়ার অতিরিক্ত ডেটা বিভাগ থেকে SRV রেকর্ড পার্স করার চেষ্টা করি (যদি সার্ভার তথ্য সরবরাহ করে)। - যদি
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 )
একটি DNS পরিষেবা ইনস্ট্যান্স রেজোলিউশন প্রতিক্রিয়ার সাথে সম্পর্কিত পরিষেবার উদাহরণের নাম পায়৷
শুধুমাত্র otDnsServiceCallback
থেকে ব্যবহার করা আবশ্যক।
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
otDnsSetNameCompression সক্ষম
void otDnsSetNameCompressionEnabled( bool aEnabled )
"DNS নাম কম্প্রেশন" মোড সক্ষম/অক্ষম করে।
ডিফল্টরূপে DNS নাম কম্প্রেশন সক্ষম করা আছে। অক্ষম করা হলে, DNS নামগুলি পূর্ণ হিসাবে যুক্ত করা হয় এবং কখনই সংকুচিত হয় না। এটি 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 রেকর্ড কী স্ট্রিং এর সর্বাধিক দৈর্ঘ্য প্রস্তাবিত (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- এ উপলব্ধ। আরও তথ্যের জন্য, বা আমাদের ডকুমেন্টেশনে অবদান রাখতে, সম্পদ দেখুন।