با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

عمومی

این ماژول شامل توابعی برای همه نقش های Thread است.

خلاصه

ناشر داده‌های شبکه مکانیسم‌هایی را برای محدود کردن تعداد ورودی‌های مشابه سرویس و/یا پیشوند (پیشوند روی مش یا مسیر خارجی) در داده‌های شبکه موضوعی با نظارت بر داده‌های شبکه و مدیریت زمان افزودن یا حذف ورودی‌ها فراهم می‌کند.

همه توابع در این ماژول نیاز به فعال کردن OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE دارند.

شمارش ها

anonymous enum {
OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS = 0,
OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS = 1,
OT_NETWORK_DIAGNOSTIC_TLV_MODE = 2,
OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT = 3,
OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY = 4,
OT_NETWORK_DIAGNOSTIC_TLV_ROUTE = 5,
OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA = 6,
OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA = 7,
OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST = 8,
OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS = 9,
OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL = 14,
OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE = 15,
OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE = 16,
OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES = 17,
OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST = 18,
OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT = 19
}
enum
otDeviceRole {
OT_DEVICE_ROLE_DISABLED = 0,
OT_DEVICE_ROLE_DETACHED = 1,
OT_DEVICE_ROLE_CHILD = 2,
OT_DEVICE_ROLE_ROUTER = 3,
OT_DEVICE_ROLE_LEADER = 4
}
enum
نقش دستگاه Thread را نشان می دهد.
otNetDataPublisherEvent {
OT_NETDATA_PUBLISHER_EVENT_ENTRY_ADDED = 0,
OT_NETDATA_PUBLISHER_EVENT_ENTRY_REMOVED = 1
}
enum
این شمارش رویدادهای گزارش شده از تماس های ناشر را نشان می دهد.
otRoutePreference {
OT_ROUTE_PREFERENCE_LOW = -1,
OT_ROUTE_PREFERENCE_MED = 0,
OT_ROUTE_PREFERENCE_HIGH = 1
}
enum
مقادیر معتبری را برای mPreference در otExternalRouteConfig و otBorderRouterConfig تعریف می کند.

Typedefs

otBorderRouterConfig typedef
این ساختار یک پیکربندی Border Router را نشان می دهد.
otDetachGracefullyCallback )(void *aContext) typedef
void(*
این فراخوانی به برنامه اطلاع می دهد که فرآیند جداسازی به پایان رسیده است.
otExternalRouteConfig typedef
این ساختار یک پیکربندی مسیر خارجی را نشان می دهد.
otIpCounters typedef
struct otIpCounters
این ساختار نشان دهنده شمارنده های سطح IP است.
otLeaderData typedef
struct otLeaderData
این ساختار نشان دهنده داده های Thread Leader است.
otLinkModeConfig typedef
این ساختار یک پیکربندی MLE Link Mode را نشان می دهد.
otMleCounters typedef
این ساختار نشان دهنده شمارنده های Thread MLE است.
otNeighborInfoIterator typedef
int16_t
برای تکرار از طریق جدول همسایه استفاده می شود.
otNetDataDnsSrpServicePublisherCallback )(otNetDataPublisherEvent aEvent, void *aContext) typedef
void(*
این نوع نشانگر تابع، پاسخ تماس مورد استفاده برای اطلاع از اضافه شدن یا حذف ورودی "سرویس DNS/SRP" به داده شبکه موضوعی را مشخص می کند.
otNetDataPrefixPublisherCallback )(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext) typedef
void(*
این نوع نشانگر تابع، پاسخ تماس مورد استفاده برای اطلاع از اضافه شدن یا حذف یک پیشوند (روی مش یا مسیر خارجی) به داده شبکه موضوعی را مشخص می کند.
otNetDataPublisherEvent typedef
این شمارش رویدادهای گزارش شده از تماس های ناشر را نشان می دهد.
otNetworkDataIterator typedef
uint32_t
برای تکرار از طریق اطلاعات شبکه داده استفاده می شود.
otNetworkDiagChildEntry typedef
این ساختار یک ورودی جدول کودک تشخیصی شبکه را نشان می دهد.
otNetworkDiagConnectivity typedef
این ساختار یک مقدار Network Diagnostic Connectivity را نشان می دهد.
otNetworkDiagIterator typedef
uint16_t
برای تکرار از طریق Network Diagnostic TLV استفاده می شود.
otNetworkDiagMacCounters typedef
این ساختار یک مقدار Network Diagnostic Mac Counters را نشان می دهد.
otNetworkDiagRoute typedef
این ساختار یک مقدار TLV مسیر تشخیصی شبکه را نشان می دهد.
otNetworkDiagRouteData typedef
این ساختار یک داده مسیر تشخیصی شبکه را نشان می دهد.
otNetworkDiagTlv typedef
این ساختار یک TLV تشخیصی شبکه را نشان می دهد.
otReceiveDiagnosticGetCallback )(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext) typedef
void(*
این نشانگر عملکرد زمانی فراخوانی می شود که پاسخ دریافت تشخیصی شبکه دریافت شود.
otRoutePreference typedef
مقادیر معتبری را برای mPreference در otExternalRouteConfig و otBorderRouterConfig تعریف می کند.
otServerConfig typedef
این ساختار یک پیکربندی سرور را نشان می دهد.
otServiceConfig typedef
این ساختار یک پیکربندی سرویس را نشان می دهد.
otThreadAnycastLocatorCallback )(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16) typedef
void(*
این نوع نشانگر تابع، فراخوانی را برای اطلاع از نتیجه درخواست otThreadLocateAnycastDestination() تعریف می کند.
otThreadDiscoveryRequestCallback )(const otThreadDiscoveryRequestInfo *aInfo, void *aContext) typedef
void(*
هر بار که یک پیام درخواست کشف MLE دریافت می شود، این نشانگر تابع فراخوانی می شود.
otThreadDiscoveryRequestInfo typedef
این ساختار داده‌های درخواست کشف موضوع را نشان می‌دهد.
otThreadParentResponseCallback )(otThreadParentResponseInfo *aInfo, void *aContext) typedef
void(*
هر بار که پیام پاسخ والدین MLE دریافت می شود، این نشانگر تابع فراخوانی می شود.
otThreadParentResponseInfo typedef
این ساختار داده‌های MLE Parent Response را نشان می‌دهد.

کارکرد

otNetDataContainsOmrPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
bool
این تابع بررسی می کند که آیا یک پیشوند داده شده می تواند به عنوان یک پیشوند معتبر OMR عمل کند و همچنین داده های شبکه رهبر حاوی این پیشوند است.
otNetDataGet ( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
این روش یک کپی کامل یا پایدار از داده شبکه موضوعی پارتیشن را ارائه می دهد.
otNetDataGetNextOnMeshPrefix ( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
این تابع پیشوند On Mesh بعدی را در داده های شبکه پارتیشن دریافت می کند.
otNetDataGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
این تابع مسیر خارجی بعدی را در داده های شبکه پارتیشن دریافت می کند.
otNetDataGetNextService ( otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig)
این تابع سرویس بعدی را در داده های شبکه پارتیشن دریافت می کند.
otNetDataGetStableVersion ( otInstance *aInstance)
uint8_t
نسخه Stable Network Data را دریافت کنید.
otNetDataGetVersion ( otInstance *aInstance)
uint8_t
نسخه Network Data را دریافت کنید.
otNetDataIsDnsSrpServiceAdded ( otInstance *aInstance)
bool
این تابع نشان می دهد که آیا در حال حاضر ورودی "DNS/SRP Service" به داده شبکه Thread اضافه شده است یا خیر.
otNetDataIsPrefixAdded ( otInstance *aInstance, const otIp6Prefix *aPrefix)
bool
این تابع نشان می دهد که آیا در حال حاضر یک پیشوند منتشر شده (روی مش یا مسیر خارجی) به داده شبکه موضوع اضافه شده است یا خیر.
otNetDataPublishDnsSrpServiceAnycast ( otInstance *aInstance, uint8_t aSequenceNUmber)
void
این تابع درخواست "DNS/SRP Service Anycast Address" می کند تا در Thread Network Data منتشر شود.
otNetDataPublishDnsSrpServiceUnicast ( otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort)
void
این تابع درخواست "DNS/SRP Service Unicast Address" می کند تا در Thread Network Data منتشر شود.
otNetDataPublishDnsSrpServiceUnicastMeshLocalEid ( otInstance *aInstance, uint16_t aPort)
void
این تابع درخواست "DNS/SRP Service Unicast Address" می کند تا در Thread Network Data منتشر شود.
otNetDataPublishExternalRoute ( otInstance *aInstance, const otExternalRouteConfig *aConfig)
این تابع یک پیشوند مسیر خارجی را درخواست می کند تا در Thread Network Data منتشر شود.
otNetDataPublishOnMeshPrefix ( otInstance *aInstance, const otBorderRouterConfig *aConfig)
این تابع یک پیشوند روی مش را درخواست می کند تا در Thread Network Data منتشر شود.
otNetDataSetDnsSrpServicePublisherCallback ( otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext)
void
این تابع یک تماس برگشتی برای اطلاع از زمانی که یک "سرویس DNS/SRP" منتشر شده واقعاً به داده شبکه Thread اضافه یا از آن حذف می شود، تنظیم می کند.
otNetDataSetPrefixPublisherCallback ( otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext)
void
این تابع یک تماس برگشتی برای اطلاع از زمانی که یک ورودی پیشوند منتشر شده واقعاً به داده شبکه موضوع اضافه یا از آن حذف شده است تنظیم می کند.
otNetDataSteeringDataCheckJoiner ( otInstance *aInstance, const otExtAddress *aEui64)
بررسی کنید که آیا اطلاعات فرمان شامل Joiner است یا خیر.
otNetDataSteeringDataCheckJoinerWithDiscerner ( otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner)
بررسی کنید که آیا داده‌های فرمان شامل یک Joiner با مقدار تشخیص داده شده است یا خیر.
otNetDataUnpublishDnsSrpService ( otInstance *aInstance)
void
هر ورودی سرویس DNS/SRP (Anycast یا Unicast) که قبلاً اضافه شده است را از داده شبکه Thread لغو انتشار می کند.
otNetDataUnpublishPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
پیشوند On-Mesh یا External Route منتشر شده قبلی را لغو انتشار می کند.
otThreadBecomeChild ( otInstance *aInstance)
در کودکی سعی کنید دوباره وصل شوید.
otThreadBecomeDetached ( otInstance *aInstance)
از شبکه Thread جدا شوید.
otThreadDetachGracefully ( otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext)
این تابع به سایر گره های شبکه (در صورت وجود) اطلاع می دهد و سپس عملیات پروتکل Thread را متوقف می کند.
otThreadDeviceRoleToString ( otDeviceRole aRole)
const char *
نقش دستگاه را به رشته قابل خواندن توسط انسان تبدیل کنید.
otThreadDiscover ( otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext)
این تابع یک اسکن Thread Discovery را شروع می کند.
otThreadGetChildTimeout ( otInstance *aInstance)
uint32_t
زمان استفاده از Thread Child Timeout (در چند ثانیه) را هنگام اجرای نقش Child دریافت می کند.
otThreadGetDeviceRole ( otInstance *aInstance)
نقش دستگاه را دریافت کنید.
otThreadGetDomainName ( otInstance *aInstance)
const char *
نام دامنه Thread را دریافت می کند.
otThreadGetExtendedPanId ( otInstance *aInstance)
شناسه PAN توسعه یافته IEEE 802.15.4 را دریافت می کند.
otThreadGetFixedDuaInterfaceIdentifier ( otInstance *aInstance)
شناسه رابط را که به صورت دستی برای آدرس Unicast دامنه موضوع مشخص شده است دریافت می کند.
otThreadGetIp6Counters ( otInstance *aInstance)
const otIpCounters *
شمارنده های IPv6 را دریافت می کند.
otThreadGetKeySequenceCounter ( otInstance *aInstance)
uint32_t
thrKeySequenceCounter را دریافت می کند.
otThreadGetKeySwitchGuardTime ( otInstance *aInstance)
uint32_t
thrKeySwitchGuardTime (به ساعت) را دریافت می کند.
otThreadGetLeaderData ( otInstance *aInstance, otLeaderData *aLeaderData)
این تابع داده های Thread Leader را دریافت می کند.
otThreadGetLeaderRloc ( otInstance *aInstance, otIp6Address *aLeaderRloc)
این تابع یک اشاره گر را به RLOC لیدر برمی گرداند.
otThreadGetLeaderRouterId ( otInstance *aInstance)
uint8_t
شناسه روتر رهبر را دریافت کنید.
otThreadGetLeaderWeight ( otInstance *aInstance)
uint8_t
وزن رهبر را بدست آورید.
otThreadGetLinkLocalAllThreadNodesMulticastAddress ( otInstance *aInstance)
const otIp6Address *
آدرس چندپخشی Thread Link-Local All Thread Nodes را دریافت می کند.
otThreadGetLinkLocalIp6Address ( otInstance *aInstance)
const otIp6Address *
پیوند Thread-local IPv6 آدرس را دریافت می کند.
otThreadGetLinkMode ( otInstance *aInstance)
پیکربندی MLE Link Mode را دریافت کنید.
otThreadGetMeshLocalEid ( otInstance *aInstance)
const otIp6Address *
آدرس EID محلی Mesh را دریافت می کند.
otThreadGetMeshLocalPrefix ( otInstance *aInstance)
این تابع یک اشاره گر را به پیشوند محلی Mesh برمی گرداند.
otThreadGetMleCounters ( otInstance *aInstance)
const otMleCounters *
شمارنده های Thread MLE را دریافت می کند.
otThreadGetNetworkKey ( otInstance *aInstance, otNetworkKey *aNetworkKey)
void
کلید شبکه Thread را دریافت کنید.
otThreadGetNetworkKeyRef ( otInstance *aInstance)
کلید otNetworkKeyRef برای Thread Network را دریافت کنید.
otThreadGetNetworkName ( otInstance *aInstance)
const char *
نام شبکه Thread را دریافت کنید.
otThreadGetNextDiagnosticTlv (const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv)
این تابع TLV بعدی شبکه تشخیصی را در پیام دریافت می کند.
otThreadGetNextNeighborInfo ( otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo)
این تابع اطلاعات همسایه بعدی را دریافت می کند.
otThreadGetParentAverageRssi ( otInstance *aInstance, int8_t *aParentRssi)
تابع میانگین RSSI را برای Thread Parent بازیابی می کند.
otThreadGetParentInfo ( otInstance *aInstance, otRouterInfo *aParentInfo)
این تابع اطلاعات تشخیصی یک روتر Thread را به عنوان والد بازیابی می کند.
otThreadGetParentLastRssi ( otInstance *aInstance, int8_t *aLastRssi)
تابع RSSI آخرین بسته را از Thread Parent بازیابی می کند.
otThreadGetPartitionId ( otInstance *aInstance)
uint32_t
شناسه پارتیشن را دریافت کنید.
otThreadGetRealmLocalAllThreadNodesMulticastAddress ( otInstance *aInstance)
const otIp6Address *
آدرس چندپخشی Thread Realm-Local All Thread Nodes را دریافت می کند.
otThreadGetRloc ( otInstance *aInstance)
const otIp6Address *
آدرس Thread Routing Locator (RLOC) را دریافت می کند.
otThreadGetRloc16 ( otInstance *aInstance)
uint16_t
RLOC16 را دریافت کنید.
otThreadGetServiceAloc ( otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc)
این تابع سرویس ALOC را برای شناسه سرویس داده شده بازیابی می کند.
otThreadGetVersion (void)
uint16_t
این تابع نسخه پروتکل Thread را دریافت می کند.
otThreadIsAnycastLocateInProgress ( otInstance *aInstance)
bool
این تابع نشان می دهد که آیا درخواست مکان یابی anycast در حال حاضر در حال انجام است یا خیر.
otThreadIsDiscoverInProgress ( otInstance *aInstance)
bool
این تابع تعیین می کند که آیا کشف موضوع MLE در حال انجام است یا خیر.
otThreadIsSingleton ( otInstance *aInstance)
bool
این تابع نشان می دهد که آیا یک گره تنها روتر در شبکه است یا خیر.
otThreadLocateAnycastDestination ( otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext)
این تابع درخواست می کند که نزدیکترین مقصد یک آدرس anycast داده شده قرار گیرد.
otThreadRegisterParentResponseCallback ( otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext)
void
این تابع برای دریافت داده های MLE Parent Response یک تماس برگشتی ثبت می کند.
otThreadResetIp6Counters ( otInstance *aInstance)
void
شمارنده های IPv6 را بازنشانی می کند.
otThreadResetMleCounters ( otInstance *aInstance)
void
شمارنده های Thread MLE را بازنشانی می کند.
otThreadSearchForBetterParent ( otInstance *aInstance)
روندی را آغاز می کند تا کودک در حالی که به والدین فعلی خود وابسته است، به دنبال والد بهتری بگردد.
otThreadSendAddressNotification ( otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid)
void
این تابع یک پیام اعلان آدرس فعال (ADDR_NTF.ntf) ارسال می کند.
otThreadSendDiagnosticGet ( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext)
درخواست دریافت تشخیصی شبکه را ارسال کنید.
otThreadSendDiagnosticReset ( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount)
یک درخواست بازنشانی تشخیصی شبکه ارسال کنید.
otThreadSendProactiveBackboneNotification ( otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction)
این تابع یک پیام Backbone Proactive Notification (PRO_BB.ntf) را در پیوند Backbone ارسال می کند.
otThreadSetChildTimeout ( otInstance *aInstance, uint32_t aTimeout)
void
زمان استفاده از Thread Child Timeout (بر حسب ثانیه) را هنگام اجرای نقش Child تنظیم می کند.
otThreadSetDiscoveryRequestCallback ( otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext)
void
این تابع یک تماس برگشتی را برای دریافت داده های درخواست کشف MLE تنظیم می کند.
otThreadSetDomainName ( otInstance *aInstance, const char *aDomainName)
نام دامنه Thread را تنظیم می کند.
otThreadSetEnabled ( otInstance *aInstance, bool aEnabled)
این تابع عملیات پروتکل Thread را شروع می کند.
otThreadSetExtendedPanId ( otInstance *aInstance, const otExtendedPanId *aExtendedPanId)
IEEE 802.15.4 Extended PAN ID را تنظیم می کند.
otThreadSetFixedDuaInterfaceIdentifier ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
شناسه رابط را که به صورت دستی برای آدرس Unicast دامنه رشته تعیین شده است تنظیم یا پاک می کند.
otThreadSetJoinerAdvertisement ( otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength)
این روش هنگام کشف شبکه Thread، Thread Joiner Advertisement را تنظیم می کند.
otThreadSetKeySequenceCounter ( otInstance *aInstance, uint32_t aKeySequenceCounter)
void
thrKeySequenceCounter را تنظیم می کند.
otThreadSetKeySwitchGuardTime ( otInstance *aInstance, uint32_t aKeySwitchGuardTime)
void
thrKeySwitchGuardTime (به ساعت) را تنظیم می کند.
otThreadSetLinkMode ( otInstance *aInstance, otLinkModeConfig aConfig)
تنظیمات MLE Link Mode را تنظیم کنید.
otThreadSetMeshLocalPrefix ( otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix)
این تابع پیشوند محلی Mesh را تنظیم می کند.
otThreadSetNetworkKey ( otInstance *aInstance, const otNetworkKey *aKey)
کلید شبکه Thread را تنظیم کنید.
otThreadSetNetworkKeyRef ( otInstance *aInstance, otNetworkKeyRef aKeyRef)
کلید شبکه Thread را به عنوان یک otNetworkKeyRef کنید.
otThreadSetNetworkName ( otInstance *aInstance, const char *aNetworkName)
نام شبکه Thread را تنظیم کنید.

سازه ها

otBorderRouterConfig

این ساختار یک پیکربندی Border Router را نشان می دهد.

otExternalRouteConfig

این ساختار یک پیکربندی مسیر خارجی را نشان می دهد.

otIpCounters

این ساختار نشان دهنده شمارنده های سطح IP است.

otLeaderData

این ساختار نشان دهنده داده های Thread Leader است.

otLinkModeConfig

این ساختار یک پیکربندی MLE Link Mode را نشان می دهد.

otMleCounters

این ساختار نشان دهنده شمارنده های Thread MLE است.

otNeighborInfo

این ساختار اطلاعات تشخیصی را برای گره Thread همسایه نگه می دارد.

otNetworkDiagChildEntry

این ساختار یک ورودی جدول کودک تشخیصی شبکه را نشان می دهد.

otNetworkDiagConnectivity

این ساختار یک مقدار Network Diagnostic Connectivity را نشان می دهد.

otNetworkDiagMacCounters

این ساختار یک مقدار Network Diagnostic Mac Counters را نشان می دهد.

otNetworkDiagRoute

این ساختار یک مقدار TLV مسیر تشخیصی شبکه را نشان می دهد.

otNetworkDiagRouteData

این ساختار یک داده مسیر تشخیصی شبکه را نشان می دهد.

otNetworkDiagTlv

این ساختار یک TLV تشخیصی شبکه را نشان می دهد.

otRouterInfo

این ساختار اطلاعات تشخیصی یک روتر Thread را در خود دارد.

otServerConfig

این ساختار یک پیکربندی سرور را نشان می دهد.

otServiceConfig

این ساختار یک پیکربندی سرویس را نشان می دهد.

otThreadDiscoveryRequestInfo

این ساختار داده‌های درخواست کشف موضوع را نشان می‌دهد.

otThreadParentResponseInfo

این ساختار داده‌های MLE Parent Response را نشان می‌دهد.

شمارش ها

شماره ناشناس

 anonymous enum
خواص
OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL

سطح باتری TLV.

OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES

صفحات کانال TLV.

OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE

میز کودک TLV.

OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY

قابلیت اتصال TLV.

OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS

MAC Extended Address TLV.

OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST

لیست آدرس IPv6 TLV.

OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA

لیدر داده TLV.

OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS

شمارنده MAC TLV.

OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT

Max Child Timeout TLV.

OT_NETWORK_DIAGNOSTIC_TLV_MODE

حالت TLV.

OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA

داده های شبکه TLV.

OT_NETWORK_DIAGNOSTIC_TLV_ROUTE

Route64 TLV.

OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS

آدرس 16 TLV.

OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE

ولتاژ تغذیه TLV.

OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT

مهلت زمانی TLV (حداکثر دوره زمانی نظرسنجی برای SED)

OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST

لیست TLV را تایپ کنید.

otDeviceRole

 otDeviceRole

نقش دستگاه Thread را نشان می دهد.

خواص
OT_DEVICE_ROLE_CHILD

نقش Thread Child.

OT_DEVICE_ROLE_DETACHED

در حال حاضر در شبکه/پارتیشن Thread شرکت نمی کنم.

OT_DEVICE_ROLE_DISABLED

پشته Thread غیرفعال است.

OT_DEVICE_ROLE_LEADER

نقش رهبر موضوع.

OT_DEVICE_ROLE_ROUTER

نقش Thread Router.

otNetDataPublisherEvent

 otNetDataPublisherEvent

این شمارش رویدادهای گزارش شده از تماس های ناشر را نشان می دهد.

خواص
OT_NETDATA_PUBLISHER_EVENT_ENTRY_ADDED

ورودی منتشر شده به داده های شبکه موضوعی اضافه می شود.

OT_NETDATA_PUBLISHER_EVENT_ENTRY_REMOVED

ورودی منتشر شده از Thread Network Data حذف می شود.

otRoutePreference

 otRoutePreference

مقادیر معتبری را برای mPreference در otExternalRouteConfig و otBorderRouterConfig تعریف می کند.

خواص
OT_ROUTE_PREFERENCE_HIGH

ترجیح مسیر بالا

OT_ROUTE_PREFERENCE_LOW

ترجیح مسیر کم

OT_ROUTE_PREFERENCE_MED

ترجیح مسیر متوسط

Typedefs

otBorderRouterConfig

struct otBorderRouterConfig otBorderRouterConfig

این ساختار یک پیکربندی Border Router را نشان می دهد.

otDetachGracefullyCallback

void(* otDetachGracefullyCallback)(void *aContext)

این فراخوانی به برنامه اطلاع می دهد که فرآیند جداسازی به پایان رسیده است.

جزئیات
مولفه های
[in] aContext
اشاره‌ای به زمینه خاص برنامه.

otExternalRouteConfig

struct otExternalRouteConfig otExternalRouteConfig

این ساختار یک پیکربندی مسیر خارجی را نشان می دهد.

otIpCounters

struct otIpCounters otIpCounters

این ساختار نشان دهنده شمارنده های سطح IP است.

otLeaderData

struct otLeaderData otLeaderData

این ساختار نشان دهنده داده های Thread Leader است.

otLinkModeConfig

struct otLinkModeConfig otLinkModeConfig

این ساختار یک پیکربندی MLE Link Mode را نشان می دهد.

otMleCounters

struct otMleCounters otMleCounters

این ساختار نشان دهنده شمارنده های Thread MLE است.

otNeighborInfoIterator

int16_t otNeighborInfoIterator

برای تکرار از طریق جدول همسایه استفاده می شود.

otNetDataDnsSrpServicePublisherCallback

void(* otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext)

این نوع نشانگر تابع، پاسخ تماس مورد استفاده برای اطلاع از اضافه شدن یا حذف ورودی "سرویس DNS/SRP" به داده شبکه موضوعی را مشخص می کند.

در هنگام حذف، فراخوانی مجدد مستقل از اینکه ورودی توسط Publisher حذف شود (مثلاً زمانی که ورودی های مشابه در داده های شبکه وجود دارد) یا از طریق یک فراخوان صریح برای لغو انتشار ورودی (یعنی تماس با otNetDataUnpublishDnsSrpService() می شود. ).

جزئیات
مولفه های
[in] aEvent
رویداد را نشان می دهد (اعم از اینکه ورودی اضافه شده یا حذف شده است).
[in] aContext
اشاره‌ای به زمینه خاص برنامه.

otNetDataPrefixPublisherCallback

void(* otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext)

این نوع نشانگر تابع، پاسخ تماس مورد استفاده برای اطلاع از اضافه شدن یا حذف یک پیشوند (روی مش یا مسیر خارجی) به داده شبکه موضوعی را مشخص می کند.

در هنگام حذف، تماس برگشتی مستقل از این که آیا ورودی توسط Publisher حذف شود (مثلاً زمانی که تعداد زیادی ورودی مشابه در داده های شبکه وجود دارد) یا از طریق یک فراخوان صریح برای لغو انتشار ورودی، فراخوانی می شود.

جزئیات
مولفه های
[in] aEvent
رویداد را نشان می دهد (اعم از اینکه ورودی اضافه شده یا حذف شده است).
[in] aPrefix
اشاره گر به ورودی پیشوند.
[in] aContext
اشاره‌ای به زمینه خاص برنامه.

otNetDataPublisherEvent

enum otNetDataPublisherEvent otNetDataPublisherEvent

این شمارش رویدادهای گزارش شده از تماس های ناشر را نشان می دهد.

otNetworkDataIterator

uint32_t otNetworkDataIterator

برای تکرار از طریق اطلاعات شبکه داده استفاده می شود.

otNetworkDiagChildEntry

struct otNetworkDiagChildEntry otNetworkDiagChildEntry

این ساختار یک ورودی جدول کودک تشخیصی شبکه را نشان می دهد.

otNetworkDiagConnectivity

struct otNetworkDiagConnectivity otNetworkDiagConnectivity

این ساختار یک مقدار Network Diagnostic Connectivity را نشان می دهد.

otNetworkDiagIterator

uint16_t otNetworkDiagIterator

برای تکرار از طریق Network Diagnostic TLV استفاده می شود.

otNetworkDiagMacCounters

struct otNetworkDiagMacCounters otNetworkDiagMacCounters

این ساختار یک مقدار Network Diagnostic Mac Counters را نشان می دهد.

برای تعاریف فیلدهای عضو به RFC 2863 مراجعه کنید.

otNetworkDiagRoute

struct otNetworkDiagRoute otNetworkDiagRoute

این ساختار یک مقدار TLV مسیر تشخیصی شبکه را نشان می دهد.

otNetworkDiagRouteData

struct otNetworkDiagRouteData otNetworkDiagRouteData

این ساختار یک داده مسیر تشخیصی شبکه را نشان می دهد.

otNetworkDiagTlv

struct otNetworkDiagTlv otNetworkDiagTlv

این ساختار یک TLV تشخیصی شبکه را نشان می دهد.

otReceiveDiagnosticGetCallback

void(* otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)

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

جزئیات
مولفه های
[in] aError
خطای زمانی که نتوانست پاسخ را دریافت کند.
[in] aMessage
اشاره گر به بافر پیام حاوی بار پاسخ دریافتی تشخیصی شبکه. فقط زمانی در دسترس است که OT_ERROR_NONE aError .
[in] aMessageInfo
اشاره گر به اطلاعات پیام برای aMessage . فقط زمانی در دسترس است که OT_ERROR_NONE aError .
[in] aContext
اشاره‌ای به زمینه خاص برنامه.

otRoutePreference

enum otRoutePreference otRoutePreference

مقادیر معتبری را برای mPreference در otExternalRouteConfig و otBorderRouterConfig تعریف می کند.

otServerConfig

struct otServerConfig otServerConfig

این ساختار یک پیکربندی سرور را نشان می دهد.

otServiceConfig

struct otServiceConfig otServiceConfig

این ساختار یک پیکربندی سرویس را نشان می دهد.

otThreadAnycastLocatorCallback

void(* otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16)

این نوع نشانگر تابع، فراخوانی را برای اطلاع از نتیجه درخواست otThreadLocateAnycastDestination() تعریف می کند.

جزئیات
مولفه های
[in] aContext
اشاره گر به یک زمینه دلخواه (ارائه شده در هنگام ثبت تماس برگشتی).
[in] aError
خطا هنگام رسیدگی به درخواست OT_ERROR_NONE نشان دهنده موفقیت است. OT_ERROR_RESPONSE_TIMEOUT نشان می‌دهد مقصدی پیدا نشد. OT_ERROR_ABORT نشان می‌دهد که درخواست لغو شده است.
[in] aMeshLocalAddress
یک اشاره‌گر به EID محلی مش نزدیک‌ترین مقصد آدرس anycast زمانی که aError است، در غیر این صورت NULL.
[in] aRloc16
RLOC16 مقصد در صورت یافتن، در غیر این صورت RLOC16 نامعتبر است (0xfffe).

otThreadDiscoveryRequestCallback

void(* otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext)

هر بار که یک پیام درخواست کشف MLE دریافت می شود، این نشانگر تابع فراخوانی می شود.

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

otThreadDiscoveryRequestInfo

struct otThreadDiscoveryRequestInfo otThreadDiscoveryRequestInfo

این ساختار داده‌های درخواست کشف موضوع را نشان می‌دهد.

otThreadParentResponseCallback

void(* otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)

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

جزئیات
مولفه های
[in] aInfo
اشاره گر به مکانی در پشته که داده های آمار را در خود نگه می دارد.
[in] aContext
یک اشاره گر به زمینه خاص کلاینت برگشتی.

otThreadParentResponseInfo

struct otThreadParentResponseInfo otThreadParentResponseInfo

این ساختار داده‌های MLE Parent Response را نشان می‌دهد.

کارکرد

otNetDataContainsOmrPrefix

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

این تابع بررسی می کند که آیا یک پیشوند داده شده می تواند به عنوان یک پیشوند معتبر OMR عمل کند و همچنین داده های شبکه رهبر حاوی این پیشوند است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPrefix
اشاره گر به پیشوند IPv6.
برمی گرداند
آیا aPrefix یک پیشوند معتبر OMR است و داده های شبکه رهبر حاوی پیشوند OMR aPrefix است.

otNetDataGet

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

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

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aStable
درست هنگام کپی کردن نسخه پایدار، نادرست هنگام کپی کردن نسخه کامل.
[out] aData
اشاره گر به بافر داده
[in,out] aDataLength
هنگام ورود، اندازه بافر داده توسط aData نشان داده می شود. در هنگام خروج، تعداد بایت های کپی شده.

otNetDataGetNextOnMeshPrefix

otError otNetDataGetNextOnMeshPrefix(
  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 در داده شبکه موضوعی وجود ندارد.

otNetDataGetNextRoute

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

otNetDataGetNextService

otError otNetDataGetNextService(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otServiceConfig *aConfig
)

این تابع سرویس بعدی را در داده های شبکه پارتیشن دریافت می کند.

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

otNetDataGetStableVersion

uint8_t otNetDataGetStableVersion(
  otInstance *aInstance
)

نسخه Stable Network Data را دریافت کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
نسخه داده های شبکه پایدار

otNetDataGetVersion

uint8_t otNetDataGetVersion(
  otInstance *aInstance
)

نسخه Network Data را دریافت کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
نسخه داده شبکه

otNetDataIsDnsSrpServiceAdded

bool otNetDataIsDnsSrpServiceAdded(
  otInstance *aInstance
)

این تابع نشان می دهد که آیا در حال حاضر ورودی "DNS/SRP Service" به داده شبکه Thread اضافه شده است یا خیر.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
TRUE
ورودی سرویس DNS/SRP منتشر شده به Thread Network Data اضافه می شود.
FALSE
ورودی به Thread Network Data اضافه نشده است یا ورودی برای انتشار وجود ندارد.

otNetDataIsPrefixAdded

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

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

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPrefix
اشاره گر به پیشوند (نباید NULL باشد).
ارزش های بازگشتی
TRUE
ورودی پیشوند منتشر شده به Thread Network Data اضافه می شود.
FALSE
ورودی به Thread Network Data اضافه نشده است یا ورودی برای انتشار وجود ندارد.

otNetDataPublishDnsSrpServiceAnycast

void otNetDataPublishDnsSrpServiceAnycast(
  otInstance *aInstance,
  uint8_t aSequenceNUmber
)

این تابع درخواست "DNS/SRP Service Anycast Address" می کند تا در Thread Network Data منتشر شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE دارد.

فراخوانی به این تابع، هر ورودی قبلی «سرویس DNS/SRP» را که منتشر شده بود حذف و جایگزین می‌کند (از تماس قبلی با هر یک از توابع otNetDataPublishDnsSrpService{Type}() ).

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aSequenceNUmber
شماره توالی سرویس Anycast DNS/SRP.

otNetDataPublishDnsSrpServiceUnicast

void otNetDataPublishDnsSrpServiceUnicast(
  otInstance *aInstance,
  const otIp6Address *aAddress,
  uint16_t aPort
)

این تابع درخواست "DNS/SRP Service Unicast Address" می کند تا در Thread Network Data منتشر شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE دارد.

فراخوانی به این تابع، هر ورودی قبلی «سرویس DNS/SRP» را که منتشر شده بود حذف و جایگزین می‌کند (از تماس قبلی با هر یک از توابع otNetDataPublishDnsSrpService{Type}() ).

این تابع "آدرس Unicast سرویس DNS/SRP" را با قرار دادن آدرس و اطلاعات پورت در داده های سرویس TLV منتشر می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aAddress
آدرس سرور DNS/SRP برای انتشار (نباید NULL باشد).
[in] aPort
شماره پورت سرور SRP برای انتشار.

otNetDataPublishDnsSrpServiceUnicastMeshLocalEid

void otNetDataPublishDnsSrpServiceUnicastMeshLocalEid(
  otInstance *aInstance,
  uint16_t aPort
)

این تابع درخواست "DNS/SRP Service Unicast Address" می کند تا در Thread Network Data منتشر شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE دارد.

فراخوانی به این تابع، هر ورودی قبلی «سرویس DNS/SRP» را که منتشر شده بود حذف و جایگزین می‌کند (از تماس قبلی با هر یک از توابع otNetDataPublishDnsSrpService{Type}() ).

برخلاف otNetDataPublishDnsSrpServiceUnicast() که نیاز به ارائه آدرس منتشر شده دارد و اطلاعات موجود در داده های سرویس TLV را شامل می شود، این تابع از شبکه EID محلی دستگاه استفاده می کند و اطلاعات موجود در داده های TLV سرور را شامل می شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPort
شماره پورت سرور SRP برای انتشار.

otNetDataPublishExternalRoute

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

این تابع یک پیشوند مسیر خارجی را درخواست می کند تا در Thread Network Data منتشر شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE دارد.

فقط ورودی های پایدار می توانند منتشر شوند (یعنی aConfig.mStable باید درست باشد).

فراخوانی بعدی به این روش جایگزین درخواست قبلی برای همان پیشوند خواهد شد. به ویژه، اگر فراخوانی جدید فقط پرچم ها را تغییر دهد (مثلاً سطح ترجیحی) و پیشوند قبلاً در داده های شبکه اضافه شده باشد، تغییر به پرچم ها بلافاصله در داده های شبکه منعکس می شود. این تضمین می کند که ورودی های موجود در داده های شبکه به طور ناگهانی حذف نمی شوند. توجه داشته باشید که تغییر در سطح اولویت می‌تواند بعداً باعث حذف ورودی از داده‌های شبکه پس از تعیین وجود گره‌های دیگری شود که همان پیشوند را با اولویت یکسان یا بالاتر منتشر می‌کنند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aConfig
پیکربندی مسیر خارجی برای انتشار (نباید NULL باشد).
ارزش های بازگشتی
OT_ERROR_NONE
مسیر خارجی با موفقیت منتشر شد.
OT_ERROR_INVALID_ARGS
aConfig معتبر نیست (پیشوند بد، ترکیب پرچم نامعتبر، یا پایدار نبودن).
OT_ERROR_NO_BUFS
نمی توان یک ورودی برای درخواست جدید اختصاص داد. ناشر از تعداد محدودی ورودی (مشترک بین پیشوند روی مش و مسیر خارجی) پشتیبانی می کند که توسط پیکربندی OPENTHREAD_CONFIG_NETDATA_PUBLISHER_MAX_PREFIX_ENTRIES تعیین شده است.

otNetDataPublishOnMeshPrefix

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

این تابع یک پیشوند روی مش را درخواست می کند تا در Thread Network Data منتشر شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE دارد.

فقط ورودی های پایدار می توانند منتشر شوند (یعنی aConfig.mStable باید درست باشد).

فراخوانی بعدی به این روش جایگزین درخواست قبلی برای همان پیشوند خواهد شد. به ویژه، اگر فراخوانی جدید فقط پرچم ها را تغییر دهد (مثلاً سطح ترجیحی) و پیشوند قبلاً در داده های شبکه اضافه شده باشد، تغییر به پرچم ها بلافاصله در داده های شبکه منعکس می شود. این تضمین می کند که ورودی های موجود در داده های شبکه به طور ناگهانی حذف نمی شوند. توجه داشته باشید که تغییر در سطح اولویت می‌تواند بعداً باعث حذف ورودی از داده‌های شبکه پس از تعیین وجود گره‌های دیگری شود که همان پیشوند را با اولویت یکسان یا بالاتر منتشر می‌کنند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aConfig
پیکربندی پیشوند روی مش برای انتشار (نباید NULL باشد).
ارزش های بازگشتی
OT_ERROR_NONE
پیشوند روی مش با موفقیت منتشر شد.
OT_ERROR_INVALID_ARGS
aConfig معتبر نیست (پیشوند بد، ترکیب پرچم نامعتبر، یا پایدار نبودن).
OT_ERROR_NO_BUFS
نمی توان یک ورودی برای درخواست جدید اختصاص داد. ناشر از تعداد محدودی از ورودی‌ها (به اشتراک گذاشته شده بین پیشوند روی مش و مسیر خارجی) که توسط پیکربندی OPENTHREAD_CONFIG_NETDATA_PUBLISHER_MAX_PREFIX_ENTRIES تعیین می‌شود، پشتیبانی می‌کند.

otNetDataSetDnsSrpServicePublisherCallback

void otNetDataSetDnsSrpServicePublisherCallback(
  otInstance *aInstance,
  otNetDataDnsSrpServicePublisherCallback aCallback,
  void *aContext
)

این تابع یک تماس برگشتی برای اطلاع از زمانی که یک "سرویس DNS/SRP" منتشر شده واقعاً به داده شبکه Thread اضافه یا از آن حذف می شود، تنظیم می کند.

فراخوانی بعدی به این تابع جایگزین هر تابع تماس قبلی تنظیم شده می شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aCallback
نشانگر تابع پاسخ به تماس (در صورت عدم نیاز می تواند NULL باشد).
[in] aContext
یک اشاره گر به زمینه خاص برنامه (در هنگام فراخوانی aCallback استفاده می شود).

otNetDataSetPrefixPublisherCallback

void otNetDataSetPrefixPublisherCallback(
  otInstance *aInstance,
  otNetDataPrefixPublisherCallback aCallback,
  void *aContext
)

این تابع یک تماس برگشتی برای اطلاع از زمانی که یک ورودی پیشوند منتشر شده واقعاً به داده شبکه موضوع اضافه یا از آن حذف شده است تنظیم می کند.

فراخوانی بعدی به این تابع جایگزین هر تابع تماس قبلی تنظیم شده می شود.

این تابع نیاز به فعال کردن ویژگی OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aCallback
نشانگر تابع پاسخ به تماس (در صورت عدم نیاز می تواند NULL باشد).
[in] aContext
یک اشاره گر به زمینه خاص برنامه (در هنگام فراخوانی aCallback استفاده می شود).

otNetDataSteeringDataCheckJoiner

otError otNetDataSteeringDataCheckJoiner(
  otInstance *aInstance,
  const otExtAddress *aEui64
)

بررسی کنید که آیا اطلاعات فرمان شامل Joiner است یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aEui64
اشاره گر به IEEE EUI-64 Joiner's.
ارزش های بازگشتی
OT_ERROR_NONE
aEui64 در داده های فرمان گنجانده شده است.
OT_ERROR_INVALID_STATE
هیچ داده فرمان وجود ندارد.
OT_ERROR_NOT_FOUND
aEui64 در اطلاعات فرمان گنجانده نشده است.

otNetDataSteeringDataCheckJoinerWithDiscerner

otError otNetDataSteeringDataCheckJoinerWithDiscerner(
  otInstance *aInstance,
  const struct otJoinerDiscerner *aDiscerner
)

بررسی کنید که آیا داده‌های فرمان شامل یک Joiner با مقدار تشخیص داده شده است یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aDiscerner
اشاره گر به Joiner Discerner.
ارزش های بازگشتی
OT_ERROR_NONE
aDiscerner در داده های فرمان گنجانده شده است.
OT_ERROR_INVALID_STATE
هیچ داده فرمان وجود ندارد.
OT_ERROR_NOT_FOUND
aDiscerner در اطلاعات فرمان گنجانده نشده است.

otNetDataUnpublishDnsSrpService

void otNetDataUnpublishDnsSrpService(
  otInstance *aInstance
)

هر ورودی سرویس DNS/SRP (Anycast یا Unicast) که قبلاً اضافه شده است را از داده شبکه Thread لغو انتشار می کند.

OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE باید فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otNetDataUnpublishPrefix

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

پیشوند On-Mesh یا External Route منتشر شده قبلی را لغو انتشار می کند.

OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE باید فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPrefix
پیشوند لغو انتشار (نباید NULL باشد).
ارزش های بازگشتی
OT_ERROR_NONE
پیشوند با موفقیت لغو شد.
OT_ERROR_NOT_FOUND
پیشوند در لیست منتشر شده یافت نشد.

otThreadBecomeChild

otError otThreadBecomeChild(
  otInstance *aInstance
)

در کودکی سعی کنید دوباره وصل شوید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ERROR_NONE
تلاش برای بچه شدن را با موفقیت شروع کنید.
OT_ERROR_INVALID_STATE
تاپیک غیرفعال است

otThreadBecomeDetached

otError otThreadBecomeDetached(
  otInstance *aInstance
)

از شبکه Thread جدا شوید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ERROR_NONE
با موفقیت از شبکه Thread جدا شد.
OT_ERROR_INVALID_STATE
تاپیک غیرفعال است

otThreadDetachGracefully

otError otThreadDetachGracefully(
  otInstance *aInstance,
  otDetachGracefullyCallback aCallback,
  void *aContext
)

این تابع به سایر گره های شبکه (در صورت وجود) اطلاع می دهد و سپس عملیات پروتکل Thread را متوقف می کند.

اگر یک روتر باشد، یک Address Release می فرستد، یا اگر یک فرزند باشد، تایم اوت فرزند خود را روی 0 تنظیم می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aCallback
اشاره گر به تابعی که پس از اتمام جداسازی فراخوانی می شود.
[in] aContext
اشاره گر به زمینه خاص برنامه کاربردی.
ارزش های بازگشتی
OT_ERROR_NONE
با موفقیت شروع به جدا شدن کرد.
OT_ERROR_BUSY
جداسازی از قبل در حال انجام است.

otThreadDeviceRoleToString

const char * otThreadDeviceRoleToString(
  otDeviceRole aRole
)

نقش دستگاه را به رشته قابل خواندن توسط انسان تبدیل کنید.

جزئیات
مولفه های
[in] aRole
نقش دستگاه برای تبدیل.
برمی گرداند
رشته ای که aRole نشان می دهد.

otThreadDiscover

otError otThreadDiscover(
  otInstance *aInstance,
  uint32_t aScanChannels,
  uint16_t aPanId,
  bool aJoiner,
  bool aEnableEui64Filtering,
  otHandleActiveScanResult aCallback,
  void *aCallbackContext
)

این تابع یک اسکن Thread Discovery را شروع می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aScanChannels
یک بیت برداری که نشان می دهد کدام کانال ها را اسکن کنید (به عنوان مثال OT_CHANNEL_11_MASK).
[in] aPanId
فیلتر PAN ID (برای غیرفعال کردن فیلتر روی Broadcast PAN تنظیم کنید).
[in] aJoiner
ارزش پرچم وصال در درخواست کشف TLV.
[in] aEnableEui64Filtering
برای فیلتر کردن پاسخ‌ها در EUI-64 درست است، در غیر این صورت نادرست است.
[in] aCallback
اشاره گر به تابعی که با دریافت پاسخ یا اسکن MLE Discovery فراخوانی می شود، تکمیل می شود.
[in] aCallbackContext
اشاره‌ای به زمینه خاص برنامه.
ارزش های بازگشتی
OT_ERROR_NONE
یک اسکن کشف موضوع با موفقیت شروع شد.
OT_ERROR_INVALID_STATE
رابط IPv6 فعال نیست (netif بالا نیست).
OT_ERROR_NO_BUFS
پیام برای درخواست کشف تخصیص داده نشد.
OT_ERROR_BUSY
اسکن کشف موضوع در حال حاضر در حال انجام است.

otThreadGetChildTimeout

uint32_t otThreadGetChildTimeout(
  otInstance *aInstance
)

زمان استفاده از Thread Child Timeout (در چند ثانیه) را هنگام اجرای نقش Child دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
مقدار Thread Child Timeout در ثانیه.
همچنین ببینید:
otThreadSetChildTimeout

otThreadGetDeviceRole

otDeviceRole otThreadGetDeviceRole(
  otInstance *aInstance
)

نقش دستگاه را دریافت کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_DEVICE_ROLE_DISABLED
پشته Thread غیرفعال است.
OT_DEVICE_ROLE_DETACHED
دستگاه در حال حاضر در شبکه/پارتیشن Thread شرکت نمی کند.
OT_DEVICE_ROLE_CHILD
دستگاه در حال حاضر به عنوان Thread Child کار می کند.
OT_DEVICE_ROLE_ROUTER
دستگاه در حال حاضر به عنوان Thread Router کار می کند.
OT_DEVICE_ROLE_LEADER
دستگاه در حال حاضر به عنوان Thread Leader کار می کند.

otThreadGetDomainName

const char * otThreadGetDomainName(
  otInstance *aInstance
)

نام دامنه Thread را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اشاره گر به Thread Domain Name.
همچنین ببینید:
otThreadSetDomainName

otThreadGetExtendedPanId

const otExtendedPanId * otThreadGetExtendedPanId(
  otInstance *aInstance
)

شناسه PAN توسعه یافته IEEE 802.15.4 را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اشاره گر به شناسه PAN توسعه یافته IEEE 802.15.4.
همچنین ببینید:
otThreadSetExtendedPanId

otThreadGetFixedDuaInterfaceIdentifier

const otIp6InterfaceIdentifier * otThreadGetFixedDuaInterfaceIdentifier(
  otInstance *aInstance
)

شناسه رابط را که به صورت دستی برای آدرس Unicast دامنه موضوع مشخص شده است دریافت می کند.

زمانی در دسترس است که OPENTHREAD_CONFIG_DUA_ENABLE فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
یک اشاره گر به شناسه رابط که به صورت دستی تنظیم شده است، یا NULL اگر هیچ یک تنظیم نشده باشد.
همچنین ببینید:
otThreadSetFixedDuaInterfaceIdentifier

otThreadGetIp6Counters

const otIpCounters * otThreadGetIp6Counters(
  otInstance *aInstance
)

شمارنده های IPv6 را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اشاره گر به شمارنده های IPv6.

otThreadGetKeySequenceCounter

uint32_t otThreadGetKeySequenceCounter(
  otInstance *aInstance
)

thrKeySequenceCounter را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
مقدار thrKeySequenceCounter.
همچنین ببینید:
otThreadSetKeySequenceCounter

otThreadGetKeySwitchGuardTime

uint32_t otThreadGetKeySwitchGuardTime(
  otInstance *aInstance
)

thrKeySwitchGuardTime (به ساعت) را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
مقدار thrKeySwitchGuardTime (به ساعت).
همچنین ببینید:
otThreadSetKeySwitchGuardTime

otThreadGetLeaderData

otError otThreadGetLeaderData(
  otInstance *aInstance,
  otLeaderData *aLeaderData
)

این تابع داده های Thread Leader را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aLeaderData
یک اشاره گر به جایی که داده های رهبر قرار می گیرند.
ارزش های بازگشتی
OT_ERROR_NONE
داده های رهبر با موفقیت بازیابی شد.
OT_ERROR_DETACHED
در حال حاضر پیوست نشده است.

otThreadGetLeaderRloc

otError otThreadGetLeaderRloc(
  otInstance *aInstance,
  otIp6Address *aLeaderRloc
)

این تابع یک اشاره گر را به RLOC لیدر برمی گرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aLeaderRloc
اشاره ای به RLOC رهبر.
ارزش های بازگشتی
OT_ERROR_NONE
RLOC رهبر با موفقیت برای aLeaderRloc نوشته شد.
OT_ERROR_INVALID_ARGS
aLeaderRloc NULL بود.
OT_ERROR_DETACHED
در حال حاضر به یک پارتیشن موضوعی متصل نیست.

otThreadGetLeaderRouterId

uint8_t otThreadGetLeaderRouterId(
  otInstance *aInstance
)

شناسه روتر رهبر را دریافت کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
شناسه روتر رهبر.

otThreadGetLeaderWeight

uint8_t otThreadGetLeaderWeight(
  otInstance *aInstance
)

وزن رهبر را بدست آورید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
وزن رهبر

otThreadGetLinkLocalAllThreadNodesMulticastAddress

const otIp6Address * otThreadGetLinkLocalAllThreadNodesMulticastAddress(
  otInstance *aInstance
)

آدرس چندپخشی Thread Link-Local All Thread Nodes را دریافت می کند.

این آدرس یک آدرس چندپخشی مبتنی بر پیشوند Unicast پیوند محلی است [RFC 3306]، با:

  • flgs روی 3 تنظیم شد (P = 1 و T = 1)
  • اسکوپ روی 2 تنظیم شد
  • plen روی 64 تنظیم شد
  • پیشوند شبکه روی پیشوند محلی مش تنظیم شده است
  • شناسه گروه روی ۱ تنظیم شد

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اشاره گر به Thread Link-Local All Thread Nodes آدرس چندپخشی.

otThreadGetLinkLocalIp6Address

const otIp6Address * otThreadGetLinkLocalIp6Address(
  otInstance *aInstance
)

پیوند Thread-local IPv6 آدرس را دریافت می کند.

آدرس محلی پیوند Thread با استفاده از IEEE802.15.4 Extended Address به عنوان شناسه رابط مشتق شده است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اشاره گر به Thread link-local IPv6 address.

otThreadGetLinkMode

otLinkModeConfig otThreadGetLinkMode(
  otInstance *aInstance
)

پیکربندی MLE Link Mode را دریافت کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
پیکربندی حالت پیوند MLE.
همچنین ببینید:
otThreadSetLinkMode

otThreadGetMeshLocalEid

const otIp6Address * otThreadGetMeshLocalEid(
  otInstance *aInstance
)

آدرس EID محلی Mesh را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اشاره گر به آدرس EID محلی Mesh.

otThreadGetMeshLocalPrefix

const otMeshLocalPrefix * otThreadGetMeshLocalPrefix(
  otInstance *aInstance
)

This function returns a pointer to the Mesh Local Prefix.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
A pointer to the Mesh Local Prefix.

otThreadGetMleCounters

const otMleCounters * otThreadGetMleCounters(
  otInstance *aInstance
)

Gets the Thread MLE counters.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
A pointer to the Thread MLE counters.

otThreadGetNetworkKey

void otThreadGetNetworkKey(
  otInstance *aInstance,
  otNetworkKey *aNetworkKey
)

Get the Thread Network Key.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[out] aNetworkKey
A pointer to an otNetworkkey to return the Thread Network Key.
See also:
otThreadSetNetworkKey

otThreadGetNetworkKeyRef

otNetworkKeyRef otThreadGetNetworkKeyRef(
  otInstance *aInstance
)

Get the otNetworkKeyRef for Thread Network Key.

This function requires the build-time feature OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE to be enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
Reference to the Thread Network Key stored in memory.
See also:
otThreadSetNetworkKeyRef

otThreadGetNetworkName

const char * otThreadGetNetworkName(
  otInstance *aInstance
)

Get the Thread Network Name.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
A pointer to the Thread Network Name.
See also:
otThreadSetNetworkName

otThreadGetNextDiagnosticTlv

otError otThreadGetNextDiagnosticTlv(
  const otMessage *aMessage,
  otNetworkDiagIterator *aIterator,
  otNetworkDiagTlv *aNetworkDiagTlv
)

This function gets the next Network Diagnostic TLV in the message.

A subsequent call to this function is allowed only when current return value is OT_ERROR_NONE.

Details
Parameters
[in] aMessage
A pointer to a message.
[in,out] aIterator
A pointer to the Network Diagnostic iterator context. To get the first Network Diagnostic TLV it should be set to OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT.
[out] aNetworkDiagTlv
A pointer to where the Network Diagnostic TLV information will be placed.
Return Values
OT_ERROR_NONE
Successfully found the next Network Diagnostic TLV.
OT_ERROR_NOT_FOUND
No subsequent Network Diagnostic TLV exists in the message.
OT_ERROR_PARSE
Parsing the next Network Diagnostic failed.

otThreadGetNextNeighborInfo

otError otThreadGetNextNeighborInfo(
  otInstance *aInstance,
  otNeighborInfoIterator *aIterator,
  otNeighborInfo *aInfo
)

This function gets the next neighbor information.

It is used to go through the entries of the neighbor table.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in,out] aIterator
A pointer to the iterator context. To get the first neighbor entry it should be set to OT_NEIGHBOR_INFO_ITERATOR_INIT.
[out] aInfo
A pointer to the neighbor information.
Return Values
OT_ERROR_NONE
Successfully found the next neighbor entry in table.
OT_ERROR_NOT_FOUND
No subsequent neighbor entry exists in the table.
OT_ERROR_INVALID_ARGS
aIterator or aInfo was NULL.

otThreadGetParentAverageRssi

otError otThreadGetParentAverageRssi(
  otInstance *aInstance,
  int8_t *aParentRssi
)

The function retrieves the average RSSI for the Thread Parent.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[out] aParentRssi
A pointer to where the parent RSSI should be placed.

otThreadGetParentInfo

otError otThreadGetParentInfo(
  otInstance *aInstance,
  otRouterInfo *aParentInfo
)

The function retrieves diagnostic information for a Thread Router as parent.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[out] aParentInfo
A pointer to where the parent router information is placed.

otThreadGetParentLastRssi

otError otThreadGetParentLastRssi(
  otInstance *aInstance,
  int8_t *aLastRssi
)

The function retrieves the RSSI of the last packet from the Thread Parent.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[out] aLastRssi
A pointer to where the last RSSI should be placed.
Return Values
OT_ERROR_NONE
Successfully retrieved the RSSI data.
OT_ERROR_FAILED
Unable to get RSSI data.
OT_ERROR_INVALID_ARGS
aLastRssi is NULL.

otThreadGetPartitionId

uint32_t otThreadGetPartitionId(
  otInstance *aInstance
)

Get the Partition ID.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
The Partition ID.

otThreadGetRealmLocalAllThreadNodesMulticastAddress

const otIp6Address * otThreadGetRealmLocalAllThreadNodesMulticastAddress(
  otInstance *aInstance
)

Gets the Thread Realm-Local All Thread Nodes multicast address.

The address is a realm-local Unicast Prefix-Based Multicast Address [RFC 3306], with:

  • flgs set to 3 (P = 1 and T = 1)
  • scop set to 3
  • plen set to 64
  • network prefix set to the Mesh Local Prefix
  • group ID set to 1

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
A pointer to Thread Realm-Local All Thread Nodes multicast address.

otThreadGetRloc

const otIp6Address * otThreadGetRloc(
  otInstance *aInstance
)

Gets the Thread Routing Locator (RLOC) address.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
A pointer to the Thread Routing Locator (RLOC) address.

otThreadGetRloc16

uint16_t otThreadGetRloc16(
  otInstance *aInstance
)

Get the RLOC16.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
The RLOC16.

otThreadGetServiceAloc

otError otThreadGetServiceAloc(
  otInstance *aInstance,
  uint8_t aServiceId,
  otIp6Address *aServiceAloc
)

This function retrieves the Service ALOC for given Service ID.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aServiceId
Service ID to get ALOC for.
[out] aServiceAloc
A pointer to output the Service ALOC. MUST NOT BE NULL.
Return Values
OT_ERROR_NONE
Successfully retrieved the Service ALOC.
OT_ERROR_DETACHED
The Thread interface is not currently attached to a Thread Partition.

otThreadGetVersion

uint16_t otThreadGetVersion(
  void
)

This function gets the Thread protocol version.

Details
Returns
the Thread protocol version.

otThreadIsAnycastLocateInProgress

bool otThreadIsAnycastLocateInProgress(
  otInstance *aInstance
)

This function indicates whether an anycast locate request is currently in progress.

This function is only available when OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE is enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
TRUE if an anycast locate request is currently in progress, FALSE otherwise.

otThreadIsDiscoverInProgress

bool otThreadIsDiscoverInProgress(
  otInstance *aInstance
)

This function determines if an MLE Thread Discovery is currently in progress.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.

otThreadIsSingleton

bool otThreadIsSingleton(
  otInstance *aInstance
)

This function indicates whether a node is the only router on the network.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Return Values
TRUE
It is the only router in the network.
FALSE
It is a child or is not a single router in the network.

otThreadLocateAnycastDestination

otError otThreadLocateAnycastDestination(
  otInstance *aInstance,
  const otIp6Address *aAnycastAddress,
  otThreadAnycastLocatorCallback aCallback,
  void *aContext
)

This function requests the closest destination of a given anycast address to be located.

This function is only available when OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE is enabled.

If a previous request is ongoing, a subsequent call to this function will cancel and replace the earlier request.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aAnycastAddress
The anycast address to locate. MUST NOT be NULL.
[in] aCallback
The callback function to report the result.
[in] aContext
An arbitrary context used with aCallback .
Return Values
OT_ERROR_NONE
The request started successfully. aCallback will be invoked to report the result.
OT_ERROR_INVALID_ARGS
The aAnycastAddress is not a valid anycast address or aCallback is NULL.
OT_ERROR_NO_BUFS
Out of buffer to prepare and send the request message.

otThreadRegisterParentResponseCallback

void otThreadRegisterParentResponseCallback(
  otInstance *aInstance,
  otThreadParentResponseCallback aCallback,
  void *aContext
)

This function registers a callback to receive MLE Parent Response data.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aCallback
A pointer to a function that is called upon receiving an MLE Parent Response message.
[in] aContext
A pointer to callback client-specific context.

otThreadResetIp6Counters

void otThreadResetIp6Counters(
  otInstance *aInstance
)

Resets the IPv6 counters.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.

otThreadResetMleCounters

void otThreadResetMleCounters(
  otInstance *aInstance
)

Resets the Thread MLE counters.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.

otThreadSearchForBetterParent

otError otThreadSearchForBetterParent(
  otInstance *aInstance
)

Starts the process for child to search for a better parent while staying attached to its current parent.

Must be used when device is attached as a child.

Details
Return Values
OT_ERROR_NONE
Successfully started the process to search for a better parent.
OT_ERROR_INVALID_STATE
Device role is not child.

otThreadSendAddressNotification

void otThreadSendAddressNotification(
  otInstance *aInstance,
  otIp6Address *aDestination,
  otIp6Address *aTarget,
  otIp6InterfaceIdentifier *aMlIid
)

This function sends a Proactive Address Notification (ADDR_NTF.ntf) message.

This function is only available when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE is enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aDestination
The destination to send the ADDR_NTF.ntf message.
[in] aTarget
The target address of the ADDR_NTF.ntf message.
[in] aMlIid
The ML-IID of the ADDR_NTF.ntf message.

otThreadSendDiagnosticGet

otError otThreadSendDiagnosticGet(
  otInstance *aInstance,
  const otIp6Address *aDestination,
  const uint8_t aTlvTypes[],
  uint8_t aCount,
  otReceiveDiagnosticGetCallback aCallback,
  void *aCallbackContext
)

Send a Network Diagnostic Get request.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aDestination
A pointer to destination address.
[in] aTlvTypes
An array of Network Diagnostic TLV types.
[in] aCount
Number of types in aTlvTypes.
[in] aCallback
A pointer to a function that is called when Network Diagnostic Get response is received or NULL to disable the callback.
[in] aCallbackContext
A pointer to application-specific context.
Return Values
OT_ERROR_NONE
Successfully queued the DIAG_GET.req.
OT_ERROR_NO_BUFS
Insufficient message buffers available to send DIAG_GET.req.

otThreadSendDiagnosticReset

otError otThreadSendDiagnosticReset(
  otInstance *aInstance,
  const otIp6Address *aDestination,
  const uint8_t aTlvTypes[],
  uint8_t aCount
)

Send a Network Diagnostic Reset request.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aDestination
A pointer to destination address.
[in] aTlvTypes
An array of Network Diagnostic TLV types. Currently only Type 9 is allowed.
[in] aCount
Number of types in aTlvTypes
Return Values
OT_ERROR_NONE
Successfully queued the DIAG_RST.ntf.
OT_ERROR_NO_BUFS
Insufficient message buffers available to send DIAG_RST.ntf.

otThreadSendProactiveBackboneNotification

otError otThreadSendProactiveBackboneNotification(
  otInstance *aInstance,
  otIp6Address *aTarget,
  otIp6InterfaceIdentifier *aMlIid,
  uint32_t aTimeSinceLastTransaction
)

This function sends a Proactive Backbone Notification (PRO_BB.ntf) message on the Backbone link.

This function is only available when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE is enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aTarget
The target address of the PRO_BB.ntf message.
[in] aMlIid
The ML-IID of the PRO_BB.ntf message.
[in] aTimeSinceLastTransaction
Time since last transaction (in seconds).
Return Values
OT_ERROR_NONE
Successfully sent PRO_BB.ntf on backbone link.
OT_ERROR_NO_BUFS
If insufficient message buffers available.

otThreadSetChildTimeout

void otThreadSetChildTimeout(
  otInstance *aInstance,
  uint32_t aTimeout
)

Sets the Thread Child Timeout (in seconds) used when operating in the Child role.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aTimeout
The timeout value in seconds.
See also:
otThreadGetChildTimeout

otThreadSetDiscoveryRequestCallback

void otThreadSetDiscoveryRequestCallback(
  otInstance *aInstance,
  otThreadDiscoveryRequestCallback aCallback,
  void *aContext
)

This function sets a callback to receive MLE Discovery Request data.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aCallback
A pointer to a function that is called upon receiving an MLE Discovery Request message.
[in] aContext
A pointer to callback application-specific context.

otThreadSetDomainName

otError otThreadSetDomainName(
  otInstance *aInstance,
  const char *aDomainName
)

Sets the Thread Domain Name.

Only succeeds when Thread protocols are disabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aDomainName
A pointer to the Thread Domain Name.
Return Values
OT_ERROR_NONE
Successfully set the Thread Domain Name.
OT_ERROR_INVALID_STATE
Thread protocols are enabled.
See also:
otThreadGetDomainName

otThreadSetEnabled

otError otThreadSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

This function starts Thread protocol operation.

The interface must be up when calling this function.

Calling this function with aEnabled set to FALSE stops any ongoing processes of detaching started by otThreadDetachGracefully() . Its callback will be called.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aEnabled
TRUE if Thread is enabled, FALSE otherwise.
Return Values
OT_ERROR_NONE
Successfully started Thread protocol operation.
OT_ERROR_INVALID_STATE
The network interface was not not up.

otThreadSetExtendedPanId

otError otThreadSetExtendedPanId(
  otInstance *aInstance,
  const otExtendedPanId *aExtendedPanId
)

Sets the IEEE 802.15.4 Extended PAN ID.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aExtendedPanId
A pointer to the IEEE 802.15.4 Extended PAN ID.
Return Values
OT_ERROR_NONE
Successfully set the Extended PAN ID.
OT_ERROR_INVALID_STATE
Thread protocols are enabled.
See also:
otThreadGetExtendedPanId

otThreadSetFixedDuaInterfaceIdentifier

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

Sets or clears the Interface Identifier manually specified for the Thread Domain Unicast Address.

Available when OPENTHREAD_CONFIG_DUA_ENABLE is enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aIid
A pointer to the Interface Identifier to set or NULL to clear.
Return Values
OT_ERROR_NONE
Successfully set/cleared the Interface Identifier.
OT_ERROR_INVALID_ARGS
The specified Interface Identifier is reserved.
See also:
otThreadGetFixedDuaInterfaceIdentifier

otThreadSetJoinerAdvertisement

otError otThreadSetJoinerAdvertisement(
  otInstance *aInstance,
  uint32_t aOui,
  const uint8_t *aAdvData,
  uint8_t aAdvDataLength
)

This method sets the Thread Joiner Advertisement when discovering Thread network.

Thread Joiner Advertisement is used to allow a Joiner to advertise its own application-specific information (such as Vendor ID, Product ID, Discriminator, etc.) via a newly-proposed Joiner Advertisement TLV, and to make this information available to Commissioners or Commissioner Candidates without human interaction.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aOui
The Vendor IEEE OUI value that will be included in the Joiner Advertisement. Only the least significant 3 bytes will be used, and the most significant byte will be ignored.
[in] aAdvData
A pointer to the AdvData that will be included in the Joiner Advertisement.
[in] aAdvDataLength
The length of AdvData in bytes.
Return Values
OT_ERROR_NONE
Successfully set Joiner Advertisement.
OT_ERROR_INVALID_ARGS
Invalid AdvData.

otThreadSetKeySequenceCounter

void otThreadSetKeySequenceCounter(
  otInstance *aInstance,
  uint32_t aKeySequenceCounter
)

Sets the thrKeySequenceCounter.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aKeySequenceCounter
The thrKeySequenceCounter value.
See also:
otThreadGetKeySequenceCounter

otThreadSetKeySwitchGuardTime

void otThreadSetKeySwitchGuardTime(
  otInstance *aInstance,
  uint32_t aKeySwitchGuardTime
)

Sets the thrKeySwitchGuardTime (in hours).

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aKeySwitchGuardTime
The thrKeySwitchGuardTime value (in hours).
See also:
otThreadGetKeySwitchGuardTime

otThreadSetLinkMode

otError otThreadSetLinkMode(
  otInstance *aInstance,
  otLinkModeConfig aConfig
)

Set the MLE Link Mode configuration.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aConfig
A pointer to the Link Mode configuration.
Return Values
OT_ERROR_NONE
Successfully set the MLE Link Mode configuration.
See also:
otThreadGetLinkMode

otThreadSetMeshLocalPrefix

otError otThreadSetMeshLocalPrefix(
  otInstance *aInstance,
  const otMeshLocalPrefix *aMeshLocalPrefix
)

This function sets the Mesh Local Prefix.

This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aMeshLocalPrefix
A pointer to the Mesh Local Prefix.
Return Values
OT_ERROR_NONE
Successfully set the Mesh Local Prefix.
OT_ERROR_INVALID_STATE
Thread protocols are enabled.

otThreadSetNetworkKey

otError otThreadSetNetworkKey(
  otInstance *aInstance,
  const otNetworkKey *aKey
)

Set the Thread Network Key.

This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aKey
A pointer to a buffer containing the Thread Network Key.
Return Values
OT_ERROR_NONE
Successfully set the Thread Network Key.
OT_ERROR_INVALID_STATE
Thread protocols are enabled.
See also:
otThreadGetNetworkKey

otThreadSetNetworkKeyRef

otError otThreadSetNetworkKeyRef(
  otInstance *aInstance,
  otNetworkKeyRef aKeyRef
)

Set the Thread Network Key as a otNetworkKeyRef .

This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.

This function requires the build-time feature OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE to be enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aKeyRef
Reference to the Thread Network Key.
Return Values
OT_ERROR_NONE
Successfully set the Thread Network Key.
OT_ERROR_INVALID_STATE
Thread protocols are enabled.
See also:
otThreadGetNetworkKeyRef

otThreadSetNetworkName

otError otThreadSetNetworkName(
  otInstance *aInstance,
  const char *aNetworkName
)

Set the Thread Network Name.

This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aNetworkName
A pointer to the Thread Network Name.
Return Values
OT_ERROR_NONE
Successfully set the Thread Network Name.
OT_ERROR_INVALID_STATE
Thread protocols are enabled.
See also:
otThreadGetNetworkName

Macros

OT_JOINER_ADVDATA_MAX_LENGTH

 OT_JOINER_ADVDATA_MAX_LENGTH 64

Maximum AdvData Length of Joiner Advertisement.

OT_NEIGHBOR_INFO_ITERATOR_INIT

 OT_NEIGHBOR_INFO_ITERATOR_INIT 0

Initializer for otNeighborInfoIterator.

OT_NETWORK_BASE_TLV_MAX_LENGTH

 OT_NETWORK_BASE_TLV_MAX_LENGTH 254

Maximum value length of Thread Base TLV.

OT_NETWORK_DATA_ITERATOR_INIT

 OT_NETWORK_DATA_ITERATOR_INIT 0

Value to initialize otNetworkDataIterator .

OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE

 OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE 3

Size of Network Diagnostic Child Table entry.

OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT

 OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT 0

Initializer for otNetworkDiagIterator.

OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES

 OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES 19

Maximum Number of Network Diagnostic TLV Types to Request or Reset.

OT_NETWORK_MAX_ROUTER_ID

 OT_NETWORK_MAX_ROUTER_ID 62

Maximum Router ID.

OT_SERVER_DATA_MAX_SIZE

 OT_SERVER_DATA_MAX_SIZE 248

Max size of Server Data in bytes. Theoretical limit, practically much lower.

OT_SERVICE_DATA_MAX_SIZE

 OT_SERVICE_DATA_MAX_SIZE 252

Max size of Service Data in bytes.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub . For more information, or to contribute to our documentation, refer to Resources .