बॉर्डर राऊटर

इस मॉड्यूल में OpenThread बॉर्डर राऊटर की मदद से लोकल नेटवर्क के डेटा को मैनेज करने के फ़ंक्शन शामिल हैं.

खास जानकारी

टाइपडेफ़

otBorderRouterNetDataFullCallback)(void *aContext) Typedef
void(*
फ़ंक्शन पॉइंटर कॉलबैक, जो नेटवर्क डेटा (लोकल या लीडर) के पूरा होने पर इस्तेमाल किया जाता है.

फ़ंक्शन

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
लोकल नेटवर्क डेटा में बॉर्डर राऊटर कॉन्फ़िगरेशन जोड़ें.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
लोकल नेटवर्क डेटा में बाहरी रूट कॉन्फ़िगरेशन जोड़ें.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
इससे स्थानीय Thread नेटवर्क के डेटा की पूरी या स्टेबल कॉपी मिलती है.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
लोकल नेटवर्क डेटा में, अगली Web-Mesh उपसर्ग मिलती है.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
स्थानीय नेटवर्क डेटा में अगला बाहरी रास्ता मिलता है.
otBorderRouterRegister(otInstance *aInstance)
लीडर के साथ लोकल नेटवर्क का डेटा तुरंत रजिस्टर करें.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
लोकल नेटवर्क डेटा से बॉर्डर राऊटर कॉन्फ़िगरेशन हटाएं.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
लोकल नेटवर्क डेटा से, बाहरी रूट कॉन्फ़िगरेशन हटाएं.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
इस नेटवर्क से डेटा कब भर जाता है, यह दिखाने के लिए कॉलबैक सेट करता है.

टाइपडेफ़

otBorderRouterNetDatafullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

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

ब्यौरा
पैरामीटर में
[in] aContext
आर्बिट्रेरी कॉन्टेक्स्ट की जानकारी के लिए पॉइंटर.

फ़ंक्शन

otBorderRouterAddOnMashPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

लोकल नेटवर्क डेटा में बॉर्डर राऊटर कॉन्फ़िगरेशन जोड़ें.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aConfig
बॉर्डर राऊटर कॉन्फ़िगरेशन का पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
लोकल नेटवर्क डेटा में कॉन्फ़िगरेशन जोड़ा गया.
OT_ERROR_INVALID_ARGS
एक या उससे ज़्यादा कॉन्फ़िगरेशन पैरामीटर अमान्य थे.
OT_ERROR_NO_BUFS
स्थानीय नेटवर्क के डेटा में कॉन्फ़िगरेशन जोड़ने के लिए, ज़रूरत के मुताबिक जगह नहीं है.
यह भी देखें:
otBorderRouterRemoveOnMashPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

लोकल नेटवर्क डेटा में बाहरी रूट कॉन्फ़िगरेशन जोड़ें.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aConfig
बाहरी रूट कॉन्फ़िगरेशन का पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
लोकल नेटवर्क डेटा में कॉन्फ़िगरेशन जोड़ा गया.
OT_ERROR_INVALID_ARGS
एक या उससे ज़्यादा कॉन्फ़िगरेशन पैरामीटर अमान्य थे.
OT_ERROR_NO_BUFS
स्थानीय नेटवर्क के डेटा में कॉन्फ़िगरेशन जोड़ने के लिए, ज़रूरत के मुताबिक जगह नहीं है.
यह भी देखें:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

इससे स्थानीय Thread नेटवर्क के डेटा की पूरी या स्टेबल कॉपी मिलती है.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aStable
स्थायी वर्शन को कॉपी करते समय TRUE, पूरा वर्शन कॉपी करते समय FALSE.
[out] aData
डेटा बफ़र के लिए पॉइंटर.
[in,out] aDataLength
एंट्री होने पर, aData में मौजूद डेटा बफ़र का साइज़ बताएं. बाहर निकलने पर, कॉपी किए गए बाइट की संख्या.

otBorderRouterGetNextOnMashPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

लोकल नेटवर्क डेटा में, अगली Web-Mesh उपसर्ग मिलती है.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in,out] aIterator
नेटवर्क डेटा इटरेटर के कॉन्टेक्स्ट का पॉइंटर. पहली मेश एंट्री डालने के लिए, इसे OT_NETWORK_DATA_ITERATOR_INIT पर सेट करें.
[out] aConfig
ऑन मेश प्रीसेट जानकारी का पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
अगला 'मेश' उपसर्ग मिला.
OT_ERROR_NOT_FOUND
Thread नेटवर्क के डेटा में, ऑन मेश प्रीफ़िक्स मौजूद नहीं है.

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

स्थानीय नेटवर्क डेटा में अगला बाहरी रास्ता मिलता है.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in,out] aIterator
नेटवर्क डेटा इटरेटर के कॉन्टेक्स्ट का पॉइंटर. पहली बाहरी रास्ता प्रविष्टि पाने के लिए, इसे OT_NETWORK_DATA_ITERATOR_INIT पर सेट करें.
[out] aConfig
बाहरी रास्ते की जानकारी के लिए एक पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
अगला बाहरी रास्ता मिल गया है.
OT_ERROR_NOT_FOUND
थ्रेड नेटवर्क डेटा में, बाद में कोई बाहरी रूट एंट्री नहीं होती.

otBorderRouterरजिस्टर

otError otBorderRouterRegister(
  otInstance *aInstance
)

लीडर के साथ लोकल नेटवर्क का डेटा तुरंत रजिस्टर करें.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
डिलीवरी के लिए, सर्वर डेटा अनुरोध में मैसेज भेज दिया गया है.
यह भी देखें:
otBorderRouterAddOnMashPrefix
otBorderRouterRemoveOnMashPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMashPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

लोकल नेटवर्क डेटा से बॉर्डर राऊटर कॉन्फ़िगरेशन हटाएं.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aPrefix
IPv6 प्रीफ़िक्स का पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
लोकल नेटवर्क डेटा से कॉन्फ़िगरेशन हटाया गया.
OT_ERROR_NOT_FOUND
बॉर्डर राऊटर की एंट्री नहीं मिली.
यह भी देखें:
otBorderRouterAddOnMashPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

लोकल नेटवर्क डेटा से, बाहरी रूट कॉन्फ़िगरेशन हटाएं.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aPrefix
IPv6 प्रीफ़िक्स का पॉइंटर.
लौटाने की वैल्यू
OT_ERROR_NONE
लोकल नेटवर्क डेटा से कॉन्फ़िगरेशन हटाया गया.
OT_ERROR_NOT_FOUND
बॉर्डर राऊटर की एंट्री नहीं मिली.
यह भी देखें:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRouterSetNetDatafullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

इस नेटवर्क से डेटा कब भर जाता है, यह दिखाने के लिए कॉलबैक सेट करता है.

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

कॉलबैक तब शुरू होता है, जब:

  • डिवाइस एक लीडर के रूप में काम कर रहा है और उसे बॉर्डर राऊटर (BR) से नेटवर्क डेटा रजिस्ट्रेशन मिल रहा है जिसे नेटवर्क डेटा में नहीं जोड़ा जा सकता (स्टोरेज खत्म हो रहा है).
  • डिवाइस एक BR के रूप में काम कर रहा है और उसकी नई एंट्री को उसके स्थानीय नेटवर्क डेटा में नहीं जोड़ा जा सकता.
  • डिवाइस BR के रूप में काम कर रहा है और लीडर की अपनी लोकल नेटवर्क डेटा एंट्री को रजिस्टर करने की कोशिश कर रहा है, लेकिन यह तय करता है कि उसकी लोकल एंट्री इसमें फ़िट नहीं होंगी.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aCallback
कॉलबैक.
[in] aContext
aCallback के साथ इस्तेमाल की जाने वाली आर्बिट्ररी कॉन्टेक्स्ट की जानकारी.

रिसॉर्स

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