مثال

تتضمن هذه الوحدة وظائف تتحكم في مثيل 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
}
عدد
تحدّد هذه القائمة العدد العلامات التي يتم تمريرها كجزء من otStateChangedCallback.

مواقد الخط

otChangedFlags مَعلمة typetype
uint32_t
يمثل هذا النوع حقل بت يشير إلى حالة/ضبط معين تم تغييره.
otInstance مَعلمة typetype
struct otInstance
تمثّل هذه البنية بنية مثيل OpenOpen.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) مَعلمة typetype
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.
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

تم تغيير قناة سلسلة محادثات جديدة في "مدير القناة".

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_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

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

OT_CHANGED_THREAD_NETIF_STATE

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

OT_CHANGED_THREAD_NETWORK_NAME

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

OT_CHANGED_THREAD_PANID

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

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_* تعريفات

مثيل ot

struct otInstance otInstance

تمثّل هذه البنية بنية مثيل OpenOpen.

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.

otInstanceClearPersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

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

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

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

otInstancefactoryإعادة الضبط

void otInstanceFactoryReset(
  otInstance *aInstance
)

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

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

otInstancefinalize

void otInstanceFinalize(
  otInstance *aInstance
)

تعمل هذه الدالة على إيقاف مكتبة OpenThread.

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

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

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.

otInstanceInit

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

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

تُعِدّ هذه الدالة OpenOpen وتُعِدّه لاستدعاءات واجهة برمجة التطبيقات OpenString اللاحقة. يجب استدعاء هذه الدالة قبل أي استدعاءات أخرى إلى OpenThread.

هذه الدالة متاحة ولا يمكن استخدامها إلا عند تفعيل الدعم للعديد من مثيلات OpenThread.

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

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

تعمل هذه الدالة على إعداد النسخة الافتراضية الثابتة من مكتبة Openthread.

تُعِدّ هذه الدالة OpenOpen وتُعِدّه لاستدعاءات واجهة برمجة التطبيقات OpenString اللاحقة. يجب استدعاء هذه الدالة قبل أي استدعاءات أخرى إلى OpenThread.

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

التفاصيل
طلبات الإرجاع
مؤشر إلى مثيل Openthread واحد.

otInstanceIsInitialated

bool otInstanceIsInitialized(
  otInstance *aInstance
)

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

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

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

otInstancereset

void otInstanceReset(
  otInstance *aInstance
)

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

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

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

otInstanceSetRadioStack

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. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.