IPv6

इस मॉड्यूल में ऐसे फ़ंक्शन शामिल हैं जो IPv6 कम्यूनिकेशन को कंट्रोल करते हैं.

खास जानकारी

गिनती

anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
इंटरनेट प्रोटोकॉल नंबर.
anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
IPv6 पते के ऑरिजिन.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
ईसीएन स्टेटस, जिन्हें आईपी हेडर में दिखाया जाता है.

टाइपडीफ़

otBorderRoutingCounters typedef
बॉर्डर रूटिंग की मदद से, भेजे गए पैकेट के काउंटर को दिखाता है.
otIp6Address typedef
struct otIp6Address
यह आईपीवी6 पता दिखाता है.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
पॉइंटर को तब कॉल किया जाता है, जब कोई इंटरनल आईपीवी6 पता जोड़ा या हटाया जाता है.
otIp6AddressComponents typedef
यह IPv6 पते के कॉम्पोनेंट के बारे में बताता है.
otIp6AddressInfo typedef
यह IPv6 पते की जानकारी दिखाता है.
otIp6InterfaceIdentifier typedef
यह आईपीवी6 पते के इंटरफ़ेस आइडेंटिफ़ायर को दिखाता है.
otIp6NetworkPrefix typedef
यह आईपीवी6 पते के नेटवर्क प्रीफ़िक्स को दिखाता है. पते के सबसे अहम 64 बिट.
otIp6Prefix typedef
struct otIp6Prefix
आईपीवी6 प्रीफ़िक्स के बारे में बताता है.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
आईपीवी6 डेटाग्राम मिलने पर, पॉइंटर को कॉल किया जाता है.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
otIp6RegisterMulticastListeners के नतीजे दिखाने पर पॉइंटर को कॉल किया जाता है.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
पॉइंटर की मदद से, उपयोगकर्ता प्रीफ़िक्स को फ़िल्टर कर सकते हैं. साथ ही, प्रीफ़िक्स के आधार पर एसएलएएसी पते को जोड़ने की अनुमति नहीं दे सकते.
otMessageInfo typedef
struct otMessageInfo
लोकल और पीयर IPv6 सॉकेट के पते दिखाता है.
otNetifAddress typedef
आईपीवी6 नेटवर्क इंटरफ़ेस यूनिकास्ट पते को दिखाता है.
otNetifMulticastAddress typedef
आईपीवी6 नेटवर्क इंटरफ़ेस मल्टीकास्ट पते को दिखाता है.
otPacketsAndBytes typedef
पैकेट और बाइट के लिए काउंटर के बारे में बताता है.
otSockAddr typedef
struct otSockAddr
आईपीवी6 सॉकेट पता दिखाता है.

वैरिएबल

OT_TOOL_PACKED_END

फ़ंक्शन

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Thread इंटरफ़ेस में नेटवर्क इंटरफ़ेस का पता जोड़ता है.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
पोर्ट को अनुमति वाले असुरक्षित पोर्ट की सूची में जोड़ता है.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
इंसान के पढ़े जा सकने वाले IPv6 पता स्ट्रिंग को बाइनरी प्रज़ेंटेशन में बदलता है.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
दिए गए IPv6 पते को ऐसी स्ट्रिंग में बदलता है जिसे इंसान पढ़ सकते हैं.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
जांच करें कि दो IPv6 प्रीफ़िक्स एक हैं या नहीं.
otIp6GetBorderRoutingCounters(otInstance *aInstance)
बॉर्डर रूटिंग काउंटर की जानकारी मिलती है.
otIp6GetMulticastAddresses(otInstance *aInstance)
Thread इंटरफ़ेस के लिए, आईपीवी6 मल्टीकास्ट पतों की सूची की जानकारी मिलती है.
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
aAddress से aLength वाला प्रीफ़िक्स मिलता है.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Thread इंटरफ़ेस को असाइन किए गए IPv6 पतों की सूची की जानकारी मिलती है.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
असुरक्षित पोर्ट सूची पर पॉइंटर लौटाता है.
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
bool
इससे पता चलता है कि Thread इंटरफ़ेस को एक यूनिकास्ट आईपीवी6 पता असाइन किया गया है या नहीं.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
जांच करें कि दो IPv6 पते एक ही हैं या नहीं.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
यह बताता है कि दिया गया IPv6 पता अनिर्दिष्ट पता है या नहीं.
otIp6IsEnabled(otInstance *aInstance)
bool
यह बताता है कि IPv6 इंटरफ़ेस चालू है या नहीं.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
यह जांच करता है कि Thread इंटरफ़ेस पर मल्टीकास्ट प्रमिस्क्यूअस मोड चालू है या नहीं.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
इससे पता चलता है कि otIp6SetReceiveCallback() में बताए गए कॉलबैक के ज़रिए, आईपीवी6 डेटाग्राम डिलीवर करते समय, थ्रेड कंट्रोल के ट्रैफ़िक को फ़िल्टर किया गया है या नहीं.
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
इससे पता चलता है कि एसएलएएसी मॉड्यूल चालू है या नहीं.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
IPv6 मैसेज भेजने के लिए, नया मैसेज बफ़र तय करें.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
नया मैसेज बफ़र तय करें और आईपीवी6 मैसेज भेजने के लिए, मैसेज बफ़र में आईपीवी6 डेटाग्राम लिखें.
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
इंसान के पढ़े जा सकने वाले IPv6 प्रीफ़िक्स स्ट्रिंग को बाइनरी प्रज़ेंटेशन में बदलता है.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
दो IPv6 पतों के लिए प्रीफ़िक्स से मैच होने वाली लंबाई (बिट) दिखाता है.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
दिए गए IPv6 प्रीफ़िक्स को ऐसी स्ट्रिंग में बदलता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.
otIp6ProtoToString(uint8_t aIpProto)
const char *
किसी दिए गए आईपी प्रोटोकॉल नंबर को ऐसी स्ट्रिंग में बदलता है जिसे इंसान पढ़ सकते हैं.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
यह मल्टीकास्ट लिसनर को प्राइमरी बैकबोन राऊटर में रजिस्टर करता है.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
असुरक्षित पोर्ट करने की अनुमति वाली सूची से सभी पोर्ट हटा देता है.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
यह Thread इंटरफ़ेस से नेटवर्क इंटरफ़ेस के पते को हटाता है.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
पोर्ट करने के लिए मंज़ूर किए गए असुरक्षित पोर्ट की सूची से पोर्ट को हटा दिया जाता है.
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
void
बॉर्डर रूटिंग काउंटर को रीसेट करता है.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
OpenThread सोर्स पता चुनें.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
यह Thread इंटरफ़ेस की मदद से IPv6 डेटाग्राम भेजता है.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
यह सुविधा, आईपीवी6 पते में होने वाले बदलावों के बारे में सूचना देने के लिए कॉलबैक को रजिस्टर करती है.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
IPv6 इंटरफ़ेस को ऊपर या नीचे दिखाता है.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
मेश लोकल आईआईडी को सेट करता है (टेस्ट के लिए).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
इससे Thread इंटरफ़ेस पर मल्टीकास्ट प्रमिस्क्यूअस मोड को चालू या बंद किया जा सकता है.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
मिले हुए IPv6 डेटाग्राम देने के लिए, कॉलबैक को रजिस्टर करता है.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
यह नीति सेट करती है कि otIp6SetReceiveCallback() में बताए गए कॉलबैक के ज़रिए आईपीवी6 डेटाग्राम डिलीवर करते समय, थ्रेड कंट्रोल ट्रैफ़िक को फ़िल्टर किया गया है या नहीं.
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
एसएलएएसी मॉड्यूल को चालू/बंद करता है.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
एसएलएएसी मॉड्यूल फ़िल्टर हैंडलर सेट करता है.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
दिए गए IPv6 सॉकेट पते को ऐसी स्ट्रिंग में बदलता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
नेटवर्क इंटरफ़ेस मल्टीकास्ट पते के लिए, Thread इंटरफ़ेस की सदस्यता लेता है.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
यह थ्रेड इंटरफ़ेस की सदस्यता छोड़ने के लिए, नेटवर्क इंटरफ़ेस मल्टीकास्ट पते की सदस्यता लेता है.

संरचना

otBorderRoutingCounters

बॉर्डर रूटिंग की मदद से, भेजे गए पैकेट के काउंटर को दिखाता है.

otIp6Address

यह आईपीवी6 पता दिखाता है.

otIp6AddressComponents

यह IPv6 पते के कॉम्पोनेंट के बारे में बताता है.

otIp6AddressInfo

यह IPv6 पते की जानकारी दिखाता है.

otIp6InterfaceIdentifier

यह आईपीवी6 पते के इंटरफ़ेस आइडेंटिफ़ायर को दिखाता है.

otIp6NetworkPrefix

यह आईपीवी6 पते के नेटवर्क प्रीफ़िक्स को दिखाता है. पते के सबसे अहम 64 बिट.

otIp6Prefix

आईपीवी6 प्रीफ़िक्स के बारे में बताता है.

otMessageInfo

लोकल और पीयर IPv6 सॉकेट के पते दिखाता है.

otNetifAddress

आईपीवी6 नेटवर्क इंटरफ़ेस यूनिकास्ट पते को दिखाता है.

otNetifMulticastAddress

आईपीवी6 नेटवर्क इंटरफ़ेस मल्टीकास्ट पते को दिखाता है.

otPacketsAndBytes

पैकेट और बाइट के लिए काउंटर के बारे में बताता है.

otSockAddr

आईपीवी6 सॉकेट पता दिखाता है.

यूनियन

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

गिनती

अनाम Enum

 anonymous enum

इंटरनेट प्रोटोकॉल नंबर.

प्रॉपर्टी
OT_IP6_PROTO_DST_OPTS

IPv6 के लिए डेस्टिनेशन विकल्प.

OT_IP6_PROTO_FRAGMENT

IPv6 के लिए फ़्रैगमेंट हेडर.

OT_IP6_PROTO_HOP_OPTS

आईपीवी6 हॉप-बाई-हॉप विकल्प.

OT_IP6_PROTO_ICMP6

IPv6 के लिए ICMP.

OT_IP6_PROTO_IP6

आईपीवी6 एनकैप्सुलेशन.

OT_IP6_PROTO_NONE

IPv6 के लिए कोई अगला हेडर नहीं.

OT_IP6_PROTO_ROUTING

IPv6 के लिए रूटिंग हेडर.

OT_IP6_PROTO_TCP

ट्रांसमिशन कंट्रोल प्रोटोकॉल.

OT_IP6_PROTO_UDP

उपयोगकर्ता डेटाग्राम.

अनाम Enum

 anonymous enum

IPv6 पते के ऑरिजिन.

प्रॉपर्टी
OT_ADDRESS_ORIGIN_DHCPV6

DHCPv6 को असाइन किया गया पता.

OT_ADDRESS_ORIGIN_MANUAL

मैन्युअल रूप से असाइन किया गया पता.

OT_ADDRESS_ORIGIN_SLAAC

SLAAC असाइन किया गया पता.

OT_ADDRESS_ORIGIN_THREAD

थ्रेड को असाइन किया गया पता (ALOC, RLOC, MLEID वगैरह)

अनाम Enum

 anonymous enum

ईसीएन स्टेटस, जिन्हें आईपी हेडर में दिखाया जाता है.

प्रॉपर्टी
OT_ECN_CAPABLE_0

ईसीटी(0)

OT_ECN_CAPABLE_1

ईसीटी(1)

OT_ECN_MARKED

भीड़ है (सीई)

OT_ECN_NOT_CAPABLE

गैर-ECT.

टाइपडीफ़

otBorderRoutingCounters

struct otBorderRoutingCounters otBorderRoutingCounters

बॉर्डर रूटिंग की मदद से, भेजे गए पैकेट के काउंटर को दिखाता है.

otIp6Address

struct otIp6Address otIp6Address

यह आईपीवी6 पता दिखाता है.

otIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

पॉइंटर को तब कॉल किया जाता है, जब कोई इंटरनल आईपीवी6 पता जोड़ा या हटाया जाता है.

जानकारी
पैरामीटर
[in] aAddressInfo
आईपीवी6 पते की जानकारी के लिए पॉइंटर.
[in] aIsAdded
अगर aAddress जोड़ा गया है, तो सही. अगर aAddress को हटाया गया है, तो गलत.
[in] aContext
ऐप्लिकेशन के हिसाब से संदर्भ के लिए पॉइंटर.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

यह IPv6 पते के कॉम्पोनेंट के बारे में बताता है.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

यह IPv6 पते की जानकारी दिखाता है.

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

यह आईपीवी6 पते के इंटरफ़ेस आइडेंटिफ़ायर को दिखाता है.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

यह आईपीवी6 पते के नेटवर्क प्रीफ़िक्स को दिखाता है. पते के सबसे अहम 64 बिट.

otIp6Prefix

struct otIp6Prefix otIp6Prefix

आईपीवी6 प्रीफ़िक्स के बारे में बताता है.

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

आईपीवी6 डेटाग्राम मिलने पर, पॉइंटर को कॉल किया जाता है.

जानकारी
पैरामीटर
[in] aMessage
मैसेज बफ़र का पॉइंटर, जिसमें मिला हुआ IPv6 डेटाग्राम होता है. यह फ़ंक्शन, aMessage का मालिकाना हक, कॉलबैक पाने वाले को ट्रांसफ़र कर देता है. मैसेज प्रोसेस होने के बाद, कॉलबैक पाने वाले व्यक्ति को मैसेज फ़्रीज करना चाहिए (otMessageFree() देखें).
[in] aContext
ऐप्लिकेशन के हिसाब से संदर्भ के लिए पॉइंटर.

otIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

otIp6RegisterMulticastListeners के नतीजे दिखाने पर पॉइंटर को कॉल किया जाता है.

जानकारी
पैरामीटर
[in] aContext
उपयोगकर्ता के संदर्भ की जानकारी देने वाला पॉइंटर.
[in] aError
OT_ERROR_NONE जब MLR.req भेजा गया और MLR.rsp मिला और MLR.rsp मिला, तब OT_ERROR_ERROR_TIMEOUT जब MLR.rsp नहीं मिला, तब OT_ERROR_PARSE जब MLR.rsp को पार्स नहीं किया जा सका, तब OT_ERROR_PARSE.
[in] aMlrStatus
aError के OT_ERROR_NONE होने पर मल्टीकास्ट लिसनर रजिस्ट्रेशन की स्थिति.
[in] aFailedAddresses
aError के OT_ERROR_NONE होने पर, काम न करने वाले IPv6 पतों का पॉइंटर.
[in] aFailedAddressNum
aError के OT_ERROR_NONE होने पर, पूरे न होने वाले IPv6 पतों की संख्या.
यह भी देखें:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

पॉइंटर की मदद से, उपयोगकर्ता प्रीफ़िक्स को फ़िल्टर कर सकते हैं. साथ ही, प्रीफ़िक्स के आधार पर एसएलएएसी पते को जोड़ने की अनुमति नहीं दे सकते.

फ़िल्टर हैंडलर सेट करने के लिए, otIp6SetSlaacPrefixFilter() का इस्तेमाल किया जा सकता है. फ़िल्टर हैंडलर को एसएलएएसी मॉड्यूल से तब शुरू किया जाता है, जब वह किसी प्रीफ़िक्स के आधार पर एसएलएएसी पता जोड़ने वाला होता है. इसकी बूलियन रिटर्न वैल्यू से तय होता है कि पता फ़िल्टर किया गया है (जोड़ा नहीं गया) या नहीं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aPrefix
प्रीफ़िक्स के लिए पॉइंटर, जिसके लिए एसएलएएसी पता जोड़ा जाने वाला है.
रिटर्न वैल्यू
TRUE
इससे यह पता चलता है कि प्रीफ़िक्स के हिसाब से, एसएलएएसी पते को फ़िल्टर किया जाना चाहिए और जोड़ा नहीं जाना चाहिए.
FALSE
इससे यह पता चलता है कि प्रीफ़िक्स के आधार पर, एसएलएएसी पता जोड़ा जाना चाहिए.

otMessageInfo

struct otMessageInfo otMessageInfo

लोकल और पीयर IPv6 सॉकेट के पते दिखाता है.

otNetifAddress

struct otNetifAddress otNetifAddress

आईपीवी6 नेटवर्क इंटरफ़ेस यूनिकास्ट पते को दिखाता है.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

आईपीवी6 नेटवर्क इंटरफ़ेस मल्टीकास्ट पते को दिखाता है.

otPacketsAndBytes

struct otPacketsAndBytes otPacketsAndBytes

पैकेट और बाइट के लिए काउंटर के बारे में बताता है.

otSockAddr

struct otSockAddr otSockAddr

आईपीवी6 सॉकेट पता दिखाता है.

वैरिएबल

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

फ़ंक्शन

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Thread इंटरफ़ेस में नेटवर्क इंटरफ़ेस का पता जोड़ता है.

पास किए गए इंस्टेंस aAddress को Thread इंटरफ़ेस से कॉपी किया जाता है. Thread इंटरफ़ेस में, बाहर से जोड़े गए यूनिकास्ट पतों की संख्या तय होती है. यह संख्या तय नहीं होती. OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS देखें.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aAddress
नेटवर्क इंटरफ़ेस पते का पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
नेटवर्क इंटरफ़ेस का पता जोड़ा (या अपडेट) किया गया.
OT_ERROR_INVALID_ARGS
aAddress के ज़रिए बताया गया आईपी पता, एक इंटरनल पता है.
OT_ERROR_NO_BUFS
नेटवर्क इंटरफ़ेस पहले से ही ज़्यादा से ज़्यादा मान्य बाहरी पते स्टोर कर रहा है.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

पोर्ट को अनुमति वाले असुरक्षित पोर्ट की सूची में जोड़ता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aPort
पोर्ट वैल्यू.
रिटर्न वैल्यू
OT_ERROR_NONE
पोर्ट को मंज़ूर किए गए असुरक्षित पोर्ट की सूची में जोड़ दिया गया.
OT_ERROR_INVALID_ARGS
पोर्ट अमान्य है (मान 0 आंतरिक उपयोग के लिए आरक्षित है).
OT_ERROR_NO_BUFS
असुरक्षित पोर्ट सूची भरी हुई है.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

इंसान के पढ़े जा सकने वाले IPv6 पता स्ट्रिंग को बाइनरी प्रज़ेंटेशन में बदलता है.

जानकारी
पैरामीटर
[in] aString
NULL-खत्म की गई स्ट्रिंग के लिए पॉइंटर.
[out] aAddress
आईपीवी6 पते के लिए पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
aString को पार्स करके aAddress को अपडेट किया गया.
OT_ERROR_PARSE
aString को आईपीवी6 पते के तौर पर पार्स नहीं किया जा सका.

otIp6AddressToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

दिए गए IPv6 पते को ऐसी स्ट्रिंग में बदलता है जिसे इंसान पढ़ सकते हैं.

आईपीवी6 पता स्ट्रिंग को 16 हेक्स वैल्यू के तौर पर फ़ॉर्मैट किया जाता है और इसे ':' से अलग किया जाता है. (उदाहरण के लिए, "%x:%x:%x:...:%x").

अगर नतीजे में मिलने वाली स्ट्रिंग, aBuffer (इसके aSize वर्णों के अंदर) में फ़िट नहीं होती है, तो स्ट्रिंग को छोटा कर दिया जाएगा. हालांकि, आउटपुट स्ट्रिंग हमेशा खाली रहेगी.

जानकारी
पैरामीटर
[in] aAddress
आईपीवी6 पते के लिए पॉइंटर (शून्य नहीं होना चाहिए).
[out] aBuffer
स्ट्रिंग को आउटपुट करने के लिए चार्ट अरे का पॉइंटर (शून्य नहीं होना चाहिए).
[in] aSize
aBuffer का साइज़ (बाइट में). OT_IP6_ADDRESS_STRING_SIZE के इस्तेमाल का सुझाव दिया जाता है.

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

जांच करें कि दो IPv6 प्रीफ़िक्स एक हैं या नहीं.

जानकारी
पैरामीटर
[in] aFirst
तुलना करने के लिए, पहले IPv6 प्रीफ़िक्स का पॉइंटर.
[in] aSecond
तुलना करने के लिए दूसरे IPv6 प्रीफ़िक्स का पॉइंटर.
रिटर्न वैल्यू
TRUE
दो IPv6 प्रीफ़िक्स एक जैसे हैं.
FALSE
दो IPv6 प्रीफ़िक्स एक जैसे नहीं हैं.

otIp6GetBorderRoutingCounters

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

बॉर्डर रूटिंग काउंटर की जानकारी मिलती है.

OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE की बिल्ड टाइम सुविधा चालू करना ज़रूरी है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
बॉर्डर रूटिंग काउंटर के लिए पॉइंटर.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Thread इंटरफ़ेस के लिए, आईपीवी6 मल्टीकास्ट पतों की सूची की जानकारी मिलती है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
पहले नेटवर्क इंटरफ़ेस मल्टीकास्ट पते का पॉइंटर.

otIp6GetPrefix

void otIp6GetPrefix(
  const otIp6Address *aAddress,
  uint8_t aLength,
  otIp6Prefix *aPrefix
)

aAddress से aLength वाला प्रीफ़िक्स मिलता है.

जानकारी
पैरामीटर
[in] aAddress
आईपीवी6 पते के लिए पॉइंटर.
[in] aLength
बिट में प्रीफ़िक्स की लंबाई.
[out] aPrefix
आईपीवी6 प्रीफ़िक्स का आउटपुट देने के लिए पॉइंटर.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Thread इंटरफ़ेस को असाइन किए गए IPv6 पतों की सूची की जानकारी मिलती है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
पहले नेटवर्क इंटरफ़ेस पते का पॉइंटर.

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

असुरक्षित पोर्ट सूची पर पॉइंटर लौटाता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aNumEntries
सूची में एंट्री की संख्या.
लौटाए गए सामान
असुरक्षित पोर्ट सूची की ओर एक पॉइंटर.

otIp6HasUnicastAddress

bool otIp6HasUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

इससे पता चलता है कि Thread इंटरफ़ेस को एक यूनिकास्ट आईपीवी6 पता असाइन किया गया है या नहीं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aAddress
यूनिकास्ट पते के लिए पॉइंटर.
रिटर्न वैल्यू
TRUE
अगर aAddress को Thread इंटरफ़ेस को असाइन किया गया है.
FALSE
अगर aAddress को Thread इंटरफ़ेस के लिए असाइन नहीं किया गया है.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

जांच करें कि दो IPv6 पते एक ही हैं या नहीं.

जानकारी
पैरामीटर
[in] aFirst
तुलना करने के लिए पहले IPv6 पते का पॉइंटर.
[in] aSecond
दूसरे IPv6 पते का पॉइंटर, जिसकी तुलना करनी है.
रिटर्न वैल्यू
TRUE
दोनों आईपीवी6 पते एक जैसे हैं.
FALSE
दो IPv6 पते एक जैसे नहीं हैं.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

यह बताता है कि दिया गया IPv6 पता अनिर्दिष्ट पता है या नहीं.

जानकारी
पैरामीटर
[in] aAddress
आईपीवी6 पते के लिए पॉइंटर.
रिटर्न वैल्यू
TRUE
अगर IPv6 पता गलत है.
FALSE
अगर IPv6 पता अनजान पता नहीं है.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

यह बताता है कि IPv6 इंटरफ़ेस चालू है या नहीं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
रिटर्न वैल्यू
TRUE
IPv6 इंटरफ़ेस चालू है.
FALSE
IPv6 इंटरफ़ेस बंद है.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

यह जांच करता है कि Thread इंटरफ़ेस पर मल्टीकास्ट प्रमिस्क्यूअस मोड चालू है या नहीं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
यह भी देखें:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

इससे पता चलता है कि otIp6SetReceiveCallback() में बताए गए कॉलबैक के ज़रिए, आईपीवी6 डेटाग्राम डिलीवर करते समय, थ्रेड कंट्रोल के ट्रैफ़िक को फ़िल्टर किया गया है या नहीं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
अगर थ्रेड कंट्रोल ट्रैफ़िक को फ़िल्टर करके बाहर कर दिया जाता है, तो वैल्यू 'सही' होती है. ऐसा नहीं होने पर 'गलत'.
यह भी देखें:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

इससे पता चलता है कि एसएलएएसी मॉड्यूल चालू है या नहीं.

OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE की बिल्ड टाइम सुविधा चालू करना ज़रूरी है.

जानकारी
रिटर्न वैल्यू
TRUE
एसएलएसी मॉड्यूल चालू है.
FALSE
एसएलएसी मॉड्यूल बंद है.

otIp6NewMessage

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

IPv6 मैसेज भेजने के लिए, नया मैसेज बफ़र तय करें.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aSettings
मैसेज सेटिंग का पॉइंटर या डिफ़ॉल्ट सेटिंग सेट करने के लिए NULL.
लौटाए गए सामान
अगर कोई मैसेज बफ़र उपलब्ध नहीं है या पैरामीटर अमान्य है, तो मैसेज बफ़र या शून्य का पॉइंटर.
यह भी देखें:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

नया मैसेज बफ़र तय करें और आईपीवी6 मैसेज भेजने के लिए, मैसेज बफ़र में आईपीवी6 डेटाग्राम लिखें.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aData
आईपीवी6 डेटाग्राम बफ़र के लिए पॉइंटर.
[in] aDataLength
IPv6 डेटाग्राम बफ़र का साइज़, जिसे aData दिखाया गया है.
[in] aSettings
मैसेज सेटिंग का पॉइंटर या डिफ़ॉल्ट सेटिंग सेट करने के लिए NULL.
लौटाए गए सामान
गलत आईपीवी6 हेडर या ज़रूरी मैसेज बफ़र उपलब्ध होने पर मैसेज की ओर पॉइंट या शून्य.
यह भी देखें:
otMessageFree

otIp6PrefixFromString

otError otIp6PrefixFromString(
  const char *aString,
  otIp6Prefix *aPrefix
)

इंसान के पढ़े जा सकने वाले IPv6 प्रीफ़िक्स स्ट्रिंग को बाइनरी प्रज़ेंटेशन में बदलता है.

aString पैरामीटर इस फ़ॉर्मैट में एक स्ट्रिंग होनी चाहिए "

/", जहां
एक IPv6 पता है और प्रीफ़िक्स की लंबाई है.

ब्यौरा
पैरामीटर
[in] aString
NULL-खत्म की गई स्ट्रिंग के लिए पॉइंटर.
[out] aPrefix
आईपीवी6 प्रीफ़िक्स का पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
स्ट्रिंग को IPv6 प्रीफ़िक्स के तौर पर पार्स कर दिया गया है. साथ ही, aPrefix को अपडेट कर दिया गया है.
OT_ERROR_PARSE
aString को आईपीवी6 प्रीफ़िक्स के तौर पर पार्स नहीं किया जा सका.

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

दो IPv6 पतों के लिए प्रीफ़िक्स से मैच होने वाली लंबाई (बिट) दिखाता है.

ब्यौरा
पैरामीटर
[in] aFirst
पहले IPv6 पते का पॉइंटर.
[in] aSecond
दूसरे IPv6 पते के लिए पॉइंटर.
लौटाए गए सामान
प्रीफ़िक्स, बिट में लंबाई से मेल खाता है.

otIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

दिए गए IPv6 प्रीफ़िक्स को ऐसी स्ट्रिंग में बदलता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.

IPv6 पता स्ट्रिंग को "%x:%x:%x:...[::]/plen" के तौर पर फ़ॉर्मैट किया जाता है.

अगर नतीजे में मिलने वाली स्ट्रिंग, aBuffer (इसके aSize वर्णों के अंदर) में फ़िट नहीं होती है, तो स्ट्रिंग को छोटा कर दिया जाएगा. हालांकि, आउटपुट स्ट्रिंग हमेशा खाली रहेगी.

जानकारी
पैरामीटर
[in] aPrefix
IPv6 प्रीफ़िक्स का पॉइंटर (शून्य नहीं होना चाहिए).
[out] aBuffer
स्ट्रिंग को आउटपुट करने के लिए चार्ट अरे का पॉइंटर (शून्य नहीं होना चाहिए).
[in] aSize
aBuffer का साइज़ (बाइट में). OT_IP6_PREFIX_STRING_SIZE के इस्तेमाल का सुझाव दिया जाता है.

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

किसी दिए गए आईपी प्रोटोकॉल नंबर को ऐसी स्ट्रिंग में बदलता है जिसे इंसान पढ़ सकते हैं.

जानकारी
पैरामीटर
[in] aIpProto
आईपी प्रोटोकॉल नंबर (OT_IP6_PROTO_* गिनती).
लौटाए गए सामान
aIpProto को दिखाने वाली स्ट्रिंग.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

यह मल्टीकास्ट लिसनर को प्राइमरी बैकबोन राऊटर में रजिस्टर करता है.

OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE और OPENTHREAD_CONFIG_COMMISSIONER_ENABLE चालू होनी चाहिए.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aAddresses
रजिस्टर करने के लिए, मल्टीकास्ट अड्रेस कलेक्शन.
[in] aAddressNum
रजिस्टर करने के लिए मल्टीकास्ट पते की संख्या (अगर aAddresses NULL है).
[in] aTimeout
MLR.req में शामिल किए जाने के लिए, टाइम आउट वैल्यू (सेकंड में) का पॉइंटर. टाइम आउट की वैल्यू 0 होने पर, इससे जुड़े मल्टीकास्ट लिसनर को हटा दिया जाता है. अगर वैल्यू शून्य है, तो MLR.req का टाइम आउट Tlv डिफ़ॉल्ट रूप से नहीं होगा.
[in] aCallback
कॉलबैक फ़ंक्शन के लिए पॉइंटर.
[in] aContext
उपयोगकर्ता के संदर्भ की जानकारी देने वाला पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
MLR.req भेजा गया. aCallback को कॉल किया जाएगा, अगर यह तरीका OT_ERROR_NONE लौटाता है.
OT_ERROR_BUSY
अगर पिछला रजिस्ट्रेशन जारी था.
OT_ERROR_INVALID_ARGS
अगर एक या उससे ज़्यादा तर्क अमान्य हैं.
OT_ERROR_INVALID_STATE
अगर डिवाइस MLR.req भेजने के लिए सही स्थिति में नहीं था (उदाहरण के लिए, कमिश्नर ने शुरू नहीं किया, तो प्राइमरी बैकबोन राऊटर नहीं मिला).
OT_ERROR_NO_BUFS
अगर ज़रूरत के हिसाब से मैसेज बफ़र उपलब्ध नहीं हैं.
यह भी देखें:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

असुरक्षित पोर्ट करने की अनुमति वाली सूची से सभी पोर्ट हटा देता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

यह Thread इंटरफ़ेस से नेटवर्क इंटरफ़ेस के पते को हटाता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aAddress
किसी आईपी पते का पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
नेटवर्क इंटरफ़ेस का पता हटा दिया गया.
OT_ERROR_INVALID_ARGS
aAddress के ज़रिए बताया गया आईपी पता, एक इंटरनल पता है.
OT_ERROR_NOT_FOUND
aAddress का बताया गया आईपी पता नहीं मिला.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

पोर्ट करने के लिए मंज़ूर किए गए असुरक्षित पोर्ट की सूची से पोर्ट को हटा दिया जाता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aPort
पोर्ट वैल्यू.
रिटर्न वैल्यू
OT_ERROR_NONE
पोर्ट को मंज़ूर किए गए असुरक्षित पोर्ट की सूची से हटा दिया गया.
OT_ERROR_INVALID_ARGS
पोर्ट अमान्य है (मान 0 आंतरिक उपयोग के लिए आरक्षित है).
OT_ERROR_NOT_FOUND
पोर्ट की जानकारी असुरक्षित पोर्ट सूची में नहीं मिली.

otIp6ResetBorderRoutingCounters

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

बॉर्डर रूटिंग काउंटर को रीसेट करता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

OpenThread सोर्स पता चुनें.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in,out] aMessageInfo
मैसेज की जानकारी के लिए पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
सोर्स का पता मिला है और इसे aMessageInfo के mSockAddr से भरा गया है.
OT_ERROR_NOT_FOUND
सोर्स का कोई पता नहीं मिला और aMessageInfo में कोई बदलाव नहीं हुआ है.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

यह Thread इंटरफ़ेस की मदद से IPv6 डेटाग्राम भेजता है.

यह कॉल करते समय, कॉल करने वाला, aMessage का मालिकाना हक ट्रांसफ़र करता है. प्रोसेसिंग पूरी होने पर, OpenThread aMessage को खाली कर देगा. ऐसा तब भी होगा, जब OT_ERROR_NONE के अलावा कोई अन्य वैल्यू दी जाए.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aMessage
मैसेज बफ़र का पॉइंटर, जिसमें IPv6 डेटाग्राम होता है.
रिटर्न वैल्यू
OT_ERROR_NONE
मैसेज प्रोसेस हो गया.
OT_ERROR_DROP
मैसेज अच्छी तरह से बनाया गया था, लेकिन पैकेट प्रोसेसिंग के नियमों की वजह से पूरी तरह प्रोसेस नहीं हुआ.
OT_ERROR_NO_BUFS
डेटाग्राम की प्रोसेसिंग के दौरान, ज़रूरी मैसेज बफ़र असाइन नहीं किए जा सके.
OT_ERROR_NO_ROUTE
होस्ट करने के लिए कोई रास्ता नहीं है.
OT_ERROR_INVALID_SOURCE_ADDRESS
सोर्स का पता अमान्य है. जैसे, कोई एनीकास्ट पता या मल्टीकास्ट पता.
OT_ERROR_PARSE
मैसेज प्रोसेस करते समय कोई गलत हेडर मिला.
OT_ERROR_INVALID_ARGS
मैसेज का मेटाडेटा अमान्य है. जैसे, मैसेज में OT_MESSAGE_ORIGIN_THREAD_NETIF को ऑरिजिन के तौर पर इस्तेमाल किया गया है.

otIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

यह सुविधा, आईपीवी6 पते में होने वाले बदलावों के बारे में सूचना देने के लिए कॉलबैक को रजिस्टर करती है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aCallback
एक फ़ंक्शन का पॉइंटर, जिसे इंटरनल आईपीवी6 पता जोड़ने या हटाने पर कॉल किया जाता है. कॉलबैक को बंद करने के लिए NULL.
[in] aCallbackContext
ऐप्लिकेशन के हिसाब से संदर्भ के लिए पॉइंटर.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

IPv6 इंटरफ़ेस को ऊपर या नीचे दिखाता है.

IPv6 कम्यूनिकेशन को चालू या बंद करने के लिए, इसे कॉल करें.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aEnabled
IPv6 चालू करने के लिए 'सही' डालें, नहीं तो FALSE.
रिटर्न वैल्यू
OT_ERROR_NONE
IPv6 इंटरफ़ेस ऊपर/नीचे लाया गया.
OT_ERROR_INVALID_STATE
आईपीवी6 इंटरफ़ेस उपलब्ध नहीं है, क्योंकि डिवाइस रॉ लिंक मोड में काम करता है. यह सिर्फ़ तब लागू होता है, जब OPENTHREAD_CONFIG_LINK_RAW_ENABLE सुविधा चालू हो.

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

मेश लोकल आईआईडी को सेट करता है (टेस्ट के लिए).

OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE की ज़रूरत है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aIid
मेश लोकल आईआईडी के लिए पॉइंटर सेट करें.
रिटर्न वैल्यू
OT_ERROR_NONE
मेश लोकल आईआईडी को सेट किया गया.
OT_ERROR_INVALID_STATE
थ्रेड प्रोटोकॉल चालू हैं.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

इससे Thread इंटरफ़ेस पर मल्टीकास्ट प्रमिस्क्यूअस मोड को चालू या बंद किया जा सकता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aEnabled
मल्टीकास्ट प्रोमिस्क्यूअस मोड चालू करने के लिए 'सही' डालें, नहीं तो 'गलत'.
यह भी देखें:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

मिले हुए IPv6 डेटाग्राम देने के लिए, कॉलबैक को रजिस्टर करता है.

डिफ़ॉल्ट रूप से, यह कॉलबैक, थ्रेड कंट्रोल ट्रैफ़िक को पास नहीं करता. थ्रेड कंट्रोल के ट्रैफ़िक फ़िल्टर की सेटिंग बदलने के लिए, otIp6SetReceiveFilterEnabled() पर जाएं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aCallback
फ़ंक्शन का पॉइंटर, जिसे आईपीवी6 डेटाग्राम मिलने पर कॉल किया जाता है या कॉलबैक को बंद करने के लिए NULL होता है.
[in] aCallbackContext
ऐप्लिकेशन के हिसाब से संदर्भ के लिए पॉइंटर.
यह भी देखें:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

यह नीति सेट करती है कि otIp6SetReceiveCallback() में बताए गए कॉलबैक के ज़रिए आईपीवी6 डेटाग्राम डिलीवर करते समय, थ्रेड कंट्रोल ट्रैफ़िक को फ़िल्टर किया गया है या नहीं.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aEnabled
अगर थ्रेड कंट्रोल ट्रैफ़िक को फ़िल्टर करके बाहर कर दिया जाता है, तो वैल्यू 'सही' होती है. ऐसा नहीं होने पर 'गलत'.
यह भी देखें:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

एसएलएएसी मॉड्यूल को चालू/बंद करता है.

OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE की बिल्ड टाइम सुविधा चालू करना ज़रूरी है.

एसएलएएसी मॉड्यूल चालू होने पर, एसएलएएसी पते (नेटवर्क डेटा में ऑन-मेश प्रीफ़िक्स के आधार पर) इंटरफ़ेस में जोड़े जाते हैं. एसएलएएसी मॉड्यूल के बंद होने पर, पहले जोड़ा गया कोई भी एसएलएएसी पता हटा दिया जाता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aEnabled
चालू करने के लिए 'सही', बंद करने के लिए 'गलत'.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

एसएलएएसी मॉड्यूल फ़िल्टर हैंडलर सेट करता है.

OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE की बिल्ड टाइम सुविधा चालू करना ज़रूरी है.

एसएलएएसी मॉड्यूल तब फ़िल्टर हैंडलर को कॉल करता है, जब कोई प्रीफ़िक्स के आधार पर कोई एसएलएएसी पता जोड़ने वाला होता है, ताकि यह तय किया जा सके कि पता जोड़ा जाना चाहिए या नहीं.

NULL फ़िल्टर हैंडलर की मदद से फ़िल्टर करने की सुविधा बंद की जा सकती है. साथ ही, सभी एसएलएएसी पतों को जोड़ा जा सकता है.

अगर इस फ़ंक्शन को कॉल नहीं किया जाता है, तो एसएलएएसी मॉड्यूल के लिए इस्तेमाल किया जाने वाला डिफ़ॉल्ट फ़िल्टर NULL होगा (फ़िल्टर करने की सुविधा बंद है).

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aFilter
फ़िल्टर करने की सुविधा बंद करने के लिए, एसएलएएसी प्रीफ़िक्स फ़िल्टर हैंडलर का पॉइंटर या NULL.

otIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

दिए गए IPv6 सॉकेट पते को ऐसी स्ट्रिंग में बदलता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.

IPv6 सॉकेट पता स्ट्रिंग को [address]:port के तौर पर फ़ॉर्मैट किया गया है. इसमें address को : से अलग की गई 16 हेक्स वैल्यू के तौर पर दिखाया जाता है और port दशमलव फ़ॉर्मैट में पोर्ट नंबर होता है, जैसे कि "[%x:%x:...:%x]:%u".

अगर नतीजे में मिलने वाली स्ट्रिंग, aBuffer (इसके aSize वर्णों के अंदर) में फ़िट नहीं होती है, तो स्ट्रिंग को छोटा कर दिया जाएगा. हालांकि, आउटपुट स्ट्रिंग हमेशा खाली रहेगी.

जानकारी
पैरामीटर
[in] aSockAddr
आईपीवी6 सॉकेट पते के लिए पॉइंटर (शून्य नहीं होना चाहिए).
[out] aBuffer
स्ट्रिंग को आउटपुट करने के लिए चार्ट अरे का पॉइंटर (शून्य नहीं होना चाहिए).
[in] aSize
aBuffer का साइज़ (बाइट में). OT_IP6_SOCK_ADDR_STRING_SIZE के इस्तेमाल का सुझाव दिया जाता है.

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

नेटवर्क इंटरफ़ेस मल्टीकास्ट पते के लिए, Thread इंटरफ़ेस की सदस्यता लेता है.

पास किए गए इन इंस्टेंस aAddress को Thread इंटरफ़ेस से कॉपी किया जाएगा. Thread इंटरफ़ेस में, बाहर से जोड़े गए मल्टीकास्ट पतों की संख्या तय होती है. यह संख्या तय नहीं होती है. OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS देखें.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aAddress
किसी आईपी पते का पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
नेटवर्क इंटरफ़ेस मल्टीकास्ट पते की सदस्यता ली गई.
OT_ERROR_ALREADY
मल्टीकास्ट पते की सदस्यता पहले ही ली जा चुकी है.
OT_ERROR_INVALID_ARGS
aAddress से बताया गया आईपी पता एक अमान्य मल्टीकास्ट पता है.
OT_ERROR_REJECTED
aAddress का दिया गया आईपी पता, एक इंटरनल मल्टीकास्ट पता है.
OT_ERROR_NO_BUFS
नेटवर्क इंटरफ़ेस, पहले से ही ज़्यादा से ज़्यादा मान्य बाहरी मल्टीकास्ट पतों को स्टोर कर रहा है.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

यह थ्रेड इंटरफ़ेस की सदस्यता छोड़ने के लिए, नेटवर्क इंटरफ़ेस मल्टीकास्ट पते की सदस्यता लेता है.

जानकारी
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aAddress
किसी आईपी पते का पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
नेटवर्क इंटरफ़ेस मल्टीकास्ट पते की सदस्यता छोड़ दी गई.
OT_ERROR_REJECTED
aAddress के ज़रिए बताया गया आईपी पता, एक इंटरनल पता है.
OT_ERROR_NOT_FOUND
aAddress का बताया गया आईपी पता नहीं मिला.

मैक्रो

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

IPv6 पते का साइज़ (बाइट)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

आईपीवी6 पते की स्ट्रिंग दिखाने के लिए सुझाया गया साइज़.

OT_IP6_HEADER_PROTO_OFFSET

 OT_IP6_HEADER_PROTO_OFFSET 6

IPv6 हेडर में प्रोटो फ़ील्ड का ऑफ़सेट (बाइट)

OT_IP6_HEADER_SIZE

 OT_IP6_HEADER_SIZE 40

IPv6 हेडर का साइज़ (बाइट)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

IPv6 इंटरफ़ेस आइडेंटिफ़ायर का साइज़ (बाइट)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

मल्टीकास्ट लिसनर रजिस्ट्रेशन के साथ काम करने वाले आईपीवी6 पतों की ज़्यादा से ज़्यादा संख्या.

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

IPv6 प्रीफ़िक्स का साइज़ (बिट)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

IPv6 प्रीफ़िक्स का साइज़ (बाइट)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

आईपीवी6 प्रीफ़िक्स की स्ट्रिंग दिखाने के लिए, सुझाया गया साइज़.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

आईपीवी6 सॉकेट पते की स्ट्रिंग दिखाने के लिए, सुझाया गया साइज़.

संसाधन

OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.