روتر مرزی

این ماژول شامل توابعی برای مدیریت داده های شبکه محلی با روتر مرزی OpenThread است.

خلاصه

Typedefs

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)
پیشوند On Mesh بعدی را در داده های شبکه محلی دریافت می کند.
otBorderRouterGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
مسیر خارجی بعدی را در داده های شبکه محلی دریافت می کند.
otBorderRouterRegister ( otInstance *aInstance)
بلافاصله داده های شبکه محلی را با Leader ثبت کنید.
otBorderRouterRemoveOnMeshPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
پیکربندی روتر مرزی را از داده های شبکه محلی حذف کنید.
otBorderRouterRemoveRoute ( otInstance *aInstance, const otIp6Prefix *aPrefix)
یک پیکربندی مسیر خارجی را از داده های شبکه محلی حذف کنید.
otBorderRouterSetNetDataFullCallback ( otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
پاسخ تماس را طوری تنظیم می کند که نشان دهد داده های شبکه پر می شود.

Typedefs

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

تابع اشاره گر فراخوانی است که با پر شدن داده های شبکه (محلی یا رهبر) فراخوانی می شود.

جزئیات
مولفه های
[in] aContext
اشاره گر به اطلاعات زمینه دلخواه.

کارکرد

otBorderRouterAddOnMeshPrefix

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

یک پیکربندی روتر مرزی را به داده های شبکه محلی اضافه کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aConfig
اشاره گر به پیکربندی روتر مرزی.
ارزش های بازگشتی
OT_ERROR_NONE
پیکربندی با موفقیت به داده های شبکه محلی اضافه شد.
OT_ERROR_INVALID_ARGS
یک یا چند پارامتر پیکربندی نامعتبر بود.
OT_ERROR_NO_BUFS
فضای کافی برای افزودن پیکربندی به داده های شبکه محلی موجود نیست.
همچنین ببینید:
otBorderRouterRemoveOnMeshPrefix
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
درست هنگام کپی کردن نسخه پایدار، نادرست هنگام کپی کردن نسخه کامل.
[out] aData
اشاره گر به بافر داده
[in,out] aDataLength
هنگام ورود، اندازه بافر داده توسط aData نشان داده می شود. در هنگام خروج، تعداد بایت های کپی شده.

otBorderRouterGetNextOnMeshPrefix

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

پیشوند On Mesh بعدی را در داده های شبکه محلی دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in,out] aIterator
اشاره گر به زمینه شبکه داده تکرار کننده. برای دریافت اولین ورودی مش، باید روی OT_NETWORK_DATA_ITERATOR_INIT تنظیم شود.
[out] aConfig
اشاره گر به اطلاعات On Mesh Prefix.
ارزش های بازگشتی
OT_ERROR_NONE
پیشوند On Mesh بعدی با موفقیت پیدا شد.
OT_ERROR_NOT_FOUND
هیچ پیشوند بعدی On Mesh در داده شبکه موضوعی وجود ندارد.

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
هیچ ورودی مسیر خارجی بعدی در داده شبکه موضوعی وجود ندارد.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

بلافاصله داده های شبکه محلی را با Leader ثبت کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ERROR_NONE
یک پیام درخواست داده سرور برای تحویل با موفقیت در صف قرار گرفت.
همچنین ببینید:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

پیکربندی روتر مرزی را از داده های شبکه محلی حذف کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPrefix
اشاره گر به پیشوند IPv6.
ارزش های بازگشتی
OT_ERROR_NONE
پیکربندی با موفقیت از داده های شبکه محلی حذف شد.
OT_ERROR_NOT_FOUND
ورودی Border Router پیدا نشد.
همچنین ببینید:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

یک پیکربندی مسیر خارجی را از داده های شبکه محلی حذف کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPrefix
اشاره گر به پیشوند IPv6.
ارزش های بازگشتی
OT_ERROR_NONE
پیکربندی با موفقیت از داده های شبکه محلی حذف شد.
OT_ERROR_NOT_FOUND
ورودی Border Router پیدا نشد.
همچنین ببینید:
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 API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.