مثال

تشتمل هذه الوحدة على دوال تتحكم في مثيل 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.
otInstanceInitMultiple(uint8_t aIdx)
تهيئة مثيل 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

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

تهيئة مثيل OpenThread.

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

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

التفاصيل
المَعلمات
[in] aIdx
فهرس مثيل OpenThread للتهيئة.
المرتجعات
مؤشر لمثيل OpenThread الجديد

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)

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

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)

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

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