مثال

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

ملخّص

تنسيق النوع

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.
otInstanceResetToBootloader(otInstance *aInstance)
تتيح هذه السياسة إعادة ضبط النظام الأساسي على وضع برنامج الإقلاع في حال توفّره.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
يزيل معاودة الاتصال للإشارة إلى تغير الإعداد أو الحالة داخل OpenThread.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
تُسجِّل معاودة الاتصال للإشارة إلى حدوث تغيير في إعدادات أو حالة معيَّنة ضمن OpenThread.

تنسيق النوع

otChangedFlags

uint32_t otChangedFlags

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

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

otInstance

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".

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

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

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

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

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

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

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

otInstanceGetId

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.

otInstanceInit

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

تهيئة مكتبة OpenThread.

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

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

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

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

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

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

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

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

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

يشير إلى ما إذا كان المثيل صالحًا أو مهيأً أم لا.

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

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

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

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

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

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

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

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

يتم الاحتفاظ باستدعاءات الاتصال والإعدادات.

لا تتوفّر واجهة برمجة التطبيقات هذه إلا مع إصدارات الراديو (OPENTHREAD_RADIO = 1).

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

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

تتيح هذه السياسة إعادة ضبط النظام الأساسي على وضع برنامج الإقلاع في حال توفّره.

يجب توفّر OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread
إرجاع القيم
OT_ERROR_NONE
تمت إعادة الضبط على برنامج الإقلاع بنجاح.
OT_ERROR_BUSY
تعذَّر التنفيذ بسبب إجراء عملية أخرى حاليًا.
OT_ERROR_NOT_CAPABLE
تتعذّر إعادة الضبط على برنامج الإقلاع.

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_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

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

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

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

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

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

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

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

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

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

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

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

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

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

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

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

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

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

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

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

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

تغيّرت جودة الرابط الرئيسي.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

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

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

تم تغيير PSKc.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

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

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

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

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

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

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

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

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

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

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

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

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

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

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

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

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

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

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

تم تغيير بيانات شبكة مؤشر الترابط.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

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

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

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

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

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

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

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

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

تمت إضافة RLOC.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

تمت إزالة RLOC.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

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

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

الحجم الموصى به لتمثيل وقت التشغيل.

المراجِع

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