مثال

تحتوي هذه الوحدة على الدوال التي تتحكم في مثيل OpenThread.

ملخّص

التعدادات

anonymous enum{
  OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0,
  OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1,
  OT_CHANGED_THREAD_ROLE = 1 << 2,
  OT_CHANGED_THREAD_LL_ADDR = 1 << 3,
  OT_CHANGED_THREAD_ML_ADDR = 1 << 4,
  OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5,
  OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6,
  OT_CHANGED_THREAD_PARTITION_ID = 1 << 7,
  OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8,
  OT_CHANGED_THREAD_NETDATA = 1 << 9,
  OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10,
  OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11,
  OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12,
  OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13,
  OT_CHANGED_THREAD_CHANNEL = 1 << 14,
  OT_CHANGED_THREAD_PANID = 1 << 15,
  OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16,
  OT_CHANGED_THREAD_EXT_PANID = 1 << 17,
  OT_CHANGED_NETWORK_KEY = 1 << 18,
  OT_CHANGED_PSKC = 1 << 19,
  OT_CHANGED_SECURITY_POLICY = 1 << 20,
  OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21,
  OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22,
  OT_CHANGED_COMMISSIONER_STATE = 1 << 23,
  OT_CHANGED_THREAD_NETIF_STATE = 1 << 24,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26,
  OT_CHANGED_JOINER_STATE = 1 << 27,
  OT_CHANGED_ACTIVE_DATASET = 1 << 28,
  OT_CHANGED_PENDING_DATASET = 1 << 29,
  OT_CHANGED_NAT64_TRANSLATOR_STATE = 1 << 30
}
تعداد
تحدّد العلامات التي يتم تمريرها كجزء من otStateChangedCallback.

أنواع المحددات

otChangedFlags typedef
uint32_t
يمثّل حقلاً بتًا يشير إلى حالة/ضبط محدّد تم تغييره.
otInstance typedef
struct otInstance
يمثل بنية مثيل OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
يتم استدعاء المؤشر للإبلاغ عن تغييرات معيّنة في الإعدادات أو الحالة في OpenThread.

الدوال

otGetRadioVersionString(otInstance *aInstance)
const char *
للحصول على سلسلة إصدارات راديو OpenThread.
otGetVersionString(void)
const char *
الحصول على سلسلة إصدار OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
لمحو جميع معلومات OpenThread الدائمة (إعدادات الشبكة) المخزَّنة في الذاكرة غير المتغيّرة
otInstanceFactoryReset(otInstance *aInstance)
void
يحذف جميع الإعدادات المخزنة على الذاكرة غير المتغيرة، ثم يؤدي إلى إعادة ضبط النظام الأساسي.
otInstanceFinalize(otInstance *aInstance)
void
لإيقاف مكتبة OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
تحصل على معرّف المثيل.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
عرض مدة التشغيل الحالية للمثيل (بالثانية)
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
لعرض مدة التشغيل الحالية للمثيل كسلسلة يمكن للمستخدم قراءتها.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
لإعداد مكتبة OpenThread.
otInstanceInitSingle(void)
لإعداد مثيل مفرد ثابت من مكتبة OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
تحدِّد هذه السياسة ما إذا كان المثيل صالحًا أو تم إعداده.
otInstanceReset(otInstance *aInstance)
void
تؤدي هذه السياسة إلى إعادة ضبط النظام الأساسي.
otInstanceResetRadioStack(otInstance *aInstance)
void
لإعادة ضبط الحالات الداخلية لحزمة الراديو في OpenThread.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
إزالة معاودة الاتصال للإشارة إلى حدوث تغيير في عملية ضبط معيّنة أو حالة معيّنة في OpenThread.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
تسجِّل معاودة الاتصال للإشارة إلى تغيّر إعدادات أو حالة معيّنة ضمن OpenThread.

التعدادات

تعداد مجهول

 anonymous enum

تحدّد العلامات التي يتم تمريرها كجزء من otStateChangedCallback.

أماكن إقامة
OT_CHANGED_ACTIVE_DATASET

تم تغيير مجموعة البيانات التشغيلية النشطة.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

تم تغيير قناة Thread الجديدة المعلّقة في "مدير القناة".

OT_CHANGED_COMMISSIONER_STATE

تم تغيير حالة المفوض.

OT_CHANGED_IP6_ADDRESS_ADDED

تمت إضافة عنوان IPv6.

OT_CHANGED_IP6_ADDRESS_REMOVED

تمت إزالة عنوان IPv6.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

تم الاشتراك في عنوان البث المتعدد لبروتوكول IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

تم إلغاء الاشتراك في عنوان IPv6 متعدّد.

OT_CHANGED_JOINER_STATE

تم تغيير حالة الانضمام.

OT_CHANGED_NAT64_TRANSLATOR_STATE

تغيّرت حالة مترجِم "ترجمة NAT64".

OT_CHANGED_NETWORK_KEY

تم تغيير مفتاح الشبكة.

OT_CHANGED_PENDING_DATASET

تم تغيير مجموعة البيانات التشغيلية المُعلّقة.

OT_CHANGED_PSKC

تم تغيير PSKc.

OT_CHANGED_SECURITY_POLICY

تم تغيير سياسة الأمان.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

تم تغيير قناع القناة المتوافق.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

تم تغيير إعدادات جهاز التوجيه المحلي الاحتياطي.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

تم تغيير حالة جهاز توجيه الظهر.

OT_CHANGED_THREAD_CHANNEL

تم تغيير قناة شبكة سلسلة المحادثات.

OT_CHANGED_THREAD_CHILD_ADDED

تمت إضافة الطفل.

OT_CHANGED_THREAD_CHILD_REMOVED

تمّت إزالة الطفل.

OT_CHANGED_THREAD_EXT_PANID

تم تغيير رقم تعريف PAN الموسَّع على سلسلة المحادثات.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

تم تغيير تسلسل مفتاح سلسلة المحادثات.

OT_CHANGED_THREAD_LL_ADDR

تم تغيير العنوان المحلي للرابط.

OT_CHANGED_THREAD_ML_ADDR

تم تغيير العنوان المحلي للشبكة المتداخلة.

OT_CHANGED_THREAD_NETDATA

تم تغيير بيانات شبكة Thread.

OT_CHANGED_THREAD_NETIF_STATE

تم تغيير حالة واجهة شبكة سلسلة المحادثات.

OT_CHANGED_THREAD_NETWORK_NAME

تم تغيير اسم شبكة سلسلة المحادثات.

OT_CHANGED_THREAD_PANID

تم تغيير رقم PAN لشبكة Thread.

OT_CHANGED_THREAD_PARTITION_ID

تم تغيير معرّف القسم.

OT_CHANGED_THREAD_RLOC_ADDED

تمت إضافة RLOC.

OT_CHANGED_THREAD_RLOC_REMOVED

تمت إزالة RLOC.

OT_CHANGED_THREAD_ROLE

تم تغيير الدور (غير مفعَّل، منفصل، طفل، جهاز توجيه، قائد)

أنواع المحددات

otChangedFlags

uint32_t otChangedFlags

يمثّل حقلاً بتًا يشير إلى حالة/ضبط محدّد تم تغييره.

يُرجى الاطّلاع على OT_CHANGED_* تعريفات.

مثيل Otin

struct otInstance otInstance

يمثل بنية مثيل OpenThread.

otStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

يتم استدعاء المؤشر للإبلاغ عن تغييرات معيّنة في الإعدادات أو الحالة في OpenThread.

التفاصيل
المَعلمات
[in] aFlags
حقل بت يشير إلى حالة معينة تم تغييرها. يُرجى الاطّلاع على OT_CHANGED_* تعريفات.
[in] aContext
مؤشر للسياق الخاص بالتطبيق.

الدوال

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

للحصول على سلسلة إصدارات راديو OpenThread.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
المرتجعات
مؤشر إلى إصدار راديو OpenThread.

otGetVersionString

const char * otGetVersionString(
  void
)

الحصول على سلسلة إصدار OpenThread.

التفاصيل
المرتجعات
مؤشر إلى إصدار OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

لمحو جميع معلومات OpenThread الدائمة (إعدادات الشبكة) المخزَّنة في الذاكرة غير المتغيّرة

لا يتم محو البيانات إلا إذا كان الجهاز في الحالة disabled/الدور.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
قيم الإرجاع
OT_ERROR_NONE
تم محو جميع المعلومات/الحالة الدائمة بنجاح.
OT_ERROR_INVALID_STATE
الجهاز ليس في حالة/دور disabled.

إعادة ضبط الإعدادات الأصلية

void otInstanceFactoryReset(
  otInstance *aInstance
)

يحذف جميع الإعدادات المخزنة على الذاكرة غير المتغيرة، ثم يؤدي إلى إعادة ضبط النظام الأساسي.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

لإيقاف مكتبة OpenThread.

اطلب هذه الدالة عندما لا يكون OpenThread قيد الاستخدام.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

OotInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

تحصل على معرّف المثيل.

ويتم ضبط معرّف المثيل على قيمة عشوائية عند إنشاء المثيل، ولن تتغيّر قيمته بعد الإعداد.

التفاصيل
المرتجعات
معرّف المثيل

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

عرض مدة التشغيل الحالية للمثيل (بالثانية)

يتطلّب تفعيل OPENTHREAD_CONFIG_UPTIME_ENABLE.

يتم منح مدة التشغيل بالمللي ثانية منذ إعداد مثيل OpenThread.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
المرتجعات
مدة التشغيل (عدد الملي ثانية)

otInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

لعرض مدة التشغيل الحالية للمثيل كسلسلة يمكن للمستخدم قراءتها.

يتطلّب تفعيل OPENTHREAD_CONFIG_UPTIME_ENABLE.

يجب أن تتّبع السلسلة التنسيق "::." للساعات والدقائق والثواني والمللي ثانية (إذا كانت مدة التشغيل أقل من يوم واحد) أو ".

د.::." (إذا كان أطول من يوم واحد)

إذا كانت السلسلة الناتجة لا تناسب aBuffer (خلال aSize من الأحرف)، سيتم اقتطاع السلسلة ولكن يتم دائمًا إنهاء السلسلة التي يتم إخراجها.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aBuffer
يشير إلى صفيف من خلال حرف "إخراج" لإخراج السلسلة.
[in] aSize
حجم aBuffer (بالبايت) ننصح باستخدام OT_UPTIME_STRING_SIZE.

OotInstanceInit

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

لإعداد مكتبة OpenThread.

تؤدي هذه السياسة إلى إعداد OpenThread وتحضيرها لاستدعاءات OpenThread API التالية. ويجب استدعاء هذه الدالة قبل أي استدعاءات أخرى لـ OpenThread.

متوفّر ولا يمكن استخدامه إلا عند تفعيل الدعم للعديد من مثيلات OpenThread.

التفاصيل
المَعلمات
[in] aInstanceBuffer
المخزن المؤقت لـ OpenThread المطلوب استخدامه لتخصيص بنية otInstance.
[in,out] aInstanceBufferSize
عند الإدخال، حجم جهاز aInstanceBuffer. في حال توفّر المخرجات، إذا لم تكن هناك مساحة كافية لتفعيل otInstance، عدد وحدات البايت المطلوبة لـ otInstance.
المرتجعات
مؤشر إلى مثيل OpenThread الجديد
يمكنك أيضًا الاطّلاع على ما يلي:
otInstanceFinalize

OotInstanceInitأغنية

otInstance * otInstanceInitSingle(
  void
)

لإعداد مثيل مفرد ثابت من مكتبة OpenThread.

تؤدي هذه السياسة إلى إعداد OpenThread وتحضيرها لاستدعاءات OpenThread API التالية. ويجب استدعاء هذه الدالة قبل أي استدعاءات أخرى لـ OpenThread.

متاح ولا يمكن استخدامه إلا عندما يتم إيقاف التوافق مع عدة سلاسل OpenOpen.

التفاصيل
المرتجعات
مؤشر إلى مثيل OpenThread المنفرد

otInstanceIsبادئ

bool otInstanceIsInitialized(
  otInstance *aInstance
)

تحدِّد هذه السياسة ما إذا كان المثيل صالحًا أو تم إعداده.

ويُعدّ المثيل صالحًا إذا تم اكتسابه وضبطه باستخدام otInstanceInitSingle() (في حالة واحدة) أو otInstanceInit() (في حالة مثيلات متعددة). يؤدي الطلب التالي إلى otInstanceFinalize() إلى اعتبار المثيل على أنه لم يتم إعداده.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
المرتجعات
صحيح إذا كانت الحالة المحددة صالحة أو تم إعدادها، أو إذا تم ضبطها على "خطأ".

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

تؤدي هذه السياسة إلى إعادة ضبط النظام الأساسي.

وتضمن عملية إعادة الضبط محو جميع حالة/معلومات OpenThread (المخزّنة في ذاكرة متغيرة). يُرجى العِلم أنّ otPlatformReset لا يمحو أي حالة دائمة/معلومات محفوظة في ذاكرة غير ثابتة.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

otInstanceresetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

لإعادة ضبط الحالات الداخلية لحزمة الراديو في OpenThread.

يتم حفظ طلبات معاودة الاتصال والإعدادات.

ولا تتوفّر هذه الواجهة إلّا ضمن إصدارات الراديو (OPENTHREAD_RADIO = 1).

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

إزالة معاودة الاتصال للإشارة إلى حدوث تغيير في عملية ضبط معيّنة أو حالة معيّنة في OpenThread.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aCallback
مؤشر لدالة تُطلب مع تغييرات معيّنة في الضبط أو الحالة.
[in] aContext
مؤشر للسياق الخاص بالتطبيق.

otSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

تسجِّل معاودة الاتصال للإشارة إلى تغيّر إعدادات أو حالة معيّنة ضمن OpenThread.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aCallback
مؤشر لدالة تُطلب مع تغييرات معيّنة في الضبط أو الحالة.
[in] aContext
مؤشر للسياق الخاص بالتطبيق.
قيم الإرجاع
OT_ERROR_NONE
تمت إضافة معاودة الاتصال إلى قائمة معاودة الاتصال.
OT_ERROR_ALREADY
سبق أن تم تسجيل معاودة الاتصال.
OT_ERROR_NO_BUFS
تعذّرت إضافة معاودة الاتصال بسبب قيود الموارد.

وحدات ماكرو

الوقت الإضافي: OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

الحجم المقترح لتمثيل السلسلة في وقت التشغيل

الموارد

تبدأ مواضيع مراجع واجهة برمجة تطبيقات OpenThread من رمز المصدر، وهو متاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في المستندات، يمكنك الاطّلاع على المراجع.