الإعدادات

تتضمن هذه الوحدة ملخصًا للنظام الأساسي لتخزين الإعدادات غير الثابتة.

ملخّص

التعدادات

anonymous enum{
  OT_SETTINGS_KEY_ACTIVE_DATASET = 0x0001,
  OT_SETTINGS_KEY_PENDING_DATASET = 0x0002,
  OT_SETTINGS_KEY_NETWORK_INFO = 0x0003,
  OT_SETTINGS_KEY_PARENT_INFO = 0x0004,
  OT_SETTINGS_KEY_CHILD_INFO = 0x0005,
  OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
  OT_SETTINGS_KEY_DAD_INFO = 0x0008,
  OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
  OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
  OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
  OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f,
  OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010,
  OT_SETTINGS_KEY_BORDER_AGENT_ID = 0x0011
}
تعداد
تحديد مفاتيح الإعدادات

الدوال

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
لإضافة قيمة إلى إعداد
otPlatSettingsDeinit(otInstance *aInstance)
void
يجري أي عملية إلغاء إعداد للنظام الفرعي للإعدادات، إذا لزم الأمر.
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
إزالة إعداد من متجر الإعدادات
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
استرجاع قيمة أحد الإعدادات
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
يجري أي إعداد للنظام الفرعي للإعدادات، إذا لزم الأمر.
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
ضبط قيمة أحد الإعدادات أو استبدالها.
otPlatSettingsWipe(otInstance *aInstance)
void
يزيل جميع الإعدادات من متجر الإعدادات.

التعدادات

تعداد مجهول

 anonymous enum

تحديد مفاتيح الإعدادات

ملاحظة: عند إضافة مفتاح إعدادات جديد، إذا كانت الإعدادات المقابلة للمفتاح تحتوي على معلومات حساسة للأمان، يجب على المطوّر إضافة المفتاح إلى المصفوفة aSensitiveKeys التي تم ضبطها في otPlatSettingsInit().

أماكن إقامة
OT_SETTINGS_KEY_ACTIVE_DATASET

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

OT_SETTINGS_KEY_BORDER_AGENT_ID

رقم تعريف جهاز التوجيه/وكيل الحدود الفريد

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

البادئات البرازيلية المحلية على الرابط

OT_SETTINGS_KEY_BR_ULA_PREFIX

بادئة BR ULA

OT_SETTINGS_KEY_CHILD_INFO

معلومات الطفل

OT_SETTINGS_KEY_DAD_INFO

معلومات رصد العنوان المكرّر (DAD)

OT_SETTINGS_KEY_NETWORK_INFO

معلومات شبكة Thread

OT_SETTINGS_KEY_PARENT_INFO

معلومات الوالدَين

OT_SETTINGS_KEY_PENDING_DATASET

مجموعة البيانات التشغيلية في انتظار المراجعة

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

مفتاح SLAAC لإنشاء معرّف مبهم دلاليًا.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

معلومات عميل SRP (عنوان خادم SRP المحدد)

OT_SETTINGS_KEY_SRP_ECDSA_KEY

زوج مفاتيح مفاتيح عام/خاص من SRP لعميل خدمة SRP

OT_SETTINGS_KEY_SRP_SERVER_INFO

معلومات خادم SRP (منفذ UDP)

الدوال

otPlatSettingsإضافة

otError otPlatSettingsAdd(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

لإضافة قيمة إلى إعداد

لإضافة القيمة إلى إعداد تم تحديده من خلال aKey، بدون استبدال أي قيم حالية.

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

قد يؤدي طلب هذه الدالة إلى إعادة ترتيب الإعدادات غير ذات الصلة.

تضمن حزمة حزم سلاسل المحادثات استخدام طريقة otPlatSettingsAdd() للسمة aKey التي سبق إدارتها من خلال otPlatSettingsAdd() (أي أنها تحتوي على عنصر واحد أو أكثر) أو كانت فارغة و/أو تم حذفها بالكامل (لا تحتوي على أي قيمة).

يمكن أن تعتمد طبقة المنصة على هذه المعلومات واستخدامها لتحسين عملية التنفيذ.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aKey
المفتاح المرتبط بالإعداد المطلوب تغييره
[in] aValue
مؤشر إلى حيث يجب قراءة القيمة الجديدة للإعداد. يجب ألّا تكون قيمة الحقل NULL إذا كانت قيمة aValueLength ليست صفرًا.
[in] aValueLength
طول البيانات المُشار إليها من قِبل aValue. قد تكون القيمة صفرًا.
قيم الإرجاع
OT_ERROR_NONE
تمت إضافة الإعداد المعيّن أو ضبطه لإضافته.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ هذه الوظيفة على هذه المنصة.
OT_ERROR_NO_BUFS
لا تتوفّر مساحة لتخزين الإعدادات المحدّدة.

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

يجري أي عملية إلغاء إعداد للنظام الفرعي للإعدادات، إذا لزم الأمر.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.

otPlatSettingsDelete

otError otPlatSettingsDelete(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex
)

إزالة إعداد من متجر الإعدادات

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

ملاحظة: إنّ عملية التنفيذ الأساسية غير مطلوبة للحفاظ على ترتيب العناصر المرتبطة بمفتاح محدّد.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aKey
المفتاح المرتبط بالإعداد المطلوب.
[in] aIndex
فهرس القيمة المطلوب إزالتها في حال ضبط الإعدادات على -1، ستتم إزالة جميع قيم aKey هذه.
قيم الإرجاع
OT_ERROR_NONE
تم العثور على المفتاح والمؤشّر وإزالته بنجاح.
OT_ERROR_NOT_FOUND
لم يتم العثور على المفتاح أو الفهرس في متجر الإعدادات.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ هذه الوظيفة على هذه المنصة.

otPlatSettingsGet

otError otPlatSettingsGet(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex,
  uint8_t *aValue,
  uint16_t *aValueLength
)

استرجاع قيمة أحد الإعدادات

يسترجع قيمة الإعداد الذي يحدده aKey وتكتبه على الذاكرة التي يشير إليها بواسطة aValue. ثم تكتب العنوان إلى العدد الصحيح الذي يشير إليه aValueLength. القيمة الأولية لـ aValueLength هي الحد الأقصى لعدد وحدات البايت التي تتم كتابتها في aValue.

ويمكن استخدامها للتحقق من توفّر مفتاح بدون استرجاع القيمة من خلال ضبط aValue وaValueLength على NULL. يمكنك أيضًا التحقّق من طول الإعداد بدون استرجاعه من خلال ضبط قيمة Avalue على NULL فقط.

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

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aKey
المفتاح المرتبط بالإعداد المطلوب.
[in] aIndex
فهرس العنصر المحدّد للحصول عليه.
[out] aValue
مؤشر إلى حيث يجب كتابة قيمة الإعداد. يمكن ضبطها على NULL إذا كان الاختبار قائمًا لمعرفة مدى توفّر إعداد أو طوله.
[in,out] aValueLength
يشير إلى طول القيمة. عندما يتم استدعاء هذا المؤشر، يجب أن يشير إلى عدد صحيح يحتوي على الحد الأقصى لحجم القيمة الذي يمكن كتابته في aValue. وفي المدة، تتم كتابة المدة الفعلية للإعداد. يمكن ضبط هذه السياسة على القيمة NULL إذا أجريت فحصًا للحضور.
قيم الإرجاع
OT_ERROR_NONE
تم العثور على الإعداد المحدد وجلبه بنجاح.
OT_ERROR_NOT_FOUND
لم يتم العثور على الخيار المحدَّد في متجر الإعدادات.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ هذه الوظيفة على هذه المنصة.

otPlatSettingsInit

void otPlatSettingsInit(
  otInstance *aInstance,
  const uint16_t *aSensitiveKeys,
  uint16_t aSensitiveKeysLength
)

يجري أي إعداد للنظام الفرعي للإعدادات، إذا لزم الأمر.

يتم أيضًا ضبط المفاتيح الحساسة التي يجب تخزينها في المنطقة الآمنة.

يُرجى العِلم أنّه يجب ألا يتم فتح الذكرى التي أشار إليها aSensitiveKeys قبل أن يتم تلف aInstance.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aSensitiveKeys
مؤشر إلى مصفوفة تحتوي على قائمة المفاتيح الحساسة. لا يمكن استخدام القيمة NULL إلا إذا كانت قيمة aSensitiveKeysLength هي 0، ما يعني أنّه ما مِن مفاتيح حساسة.
[in] aSensitiveKeysLength
عدد الإدخالات في مصفوفة aSensitiveKeys.

otPlatSettingsSet

otError otPlatSettingsSet(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

ضبط قيمة أحد الإعدادات أو استبدالها.

تحدّد هذه السياسة القيمة المحدّدة لأحد الإعدادات من خلال aKey أو تستبدلها.

قد يؤدي طلب هذه الدالة إلى إعادة ترتيب الإعدادات غير ذات الصلة.

تضمن حزمة حزم سلاسل المحادثات استخدام طريقة otPlatSettingsSet() للسمة aKey التي تم ضبطها مسبقًا باستخدام otPlatSettingsSet() (أي أنها تحتوي على قيمة واحدة) أو تكون فارغة و/أو تم حذفها بالكامل (لا تحتوي على أي قيمة).

يمكن أن تعتمد طبقة المنصة على هذه المعلومات واستخدامها لتحسين عملية التنفيذ.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aKey
المفتاح المرتبط بالإعداد المطلوب تغييره
[in] aValue
مؤشر إلى حيث يجب قراءة القيمة الجديدة للإعداد. يجب ألّا تكون قيمة الحقل NULL إذا كانت قيمة aValueLength ليست صفرًا.
[in] aValueLength
طول البيانات المُشار إليها حسب aValue. قد تكون القيمة صفرًا.
قيم الإرجاع
OT_ERROR_NONE
تم تغيير الإعداد المحدد أو عرضه.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ هذه الوظيفة على هذه المنصة.
OT_ERROR_NO_BUFS
لا تتوفّر مساحة لتخزين الإعدادات المحدّدة.

حجب بيانات شبكة otPlat

void otPlatSettingsWipe(
  otInstance *aInstance
)

يزيل جميع الإعدادات من متجر الإعدادات.

يحذف جميع الإعدادات من متجر الإعدادات، ويُعيد ضبطه على الإعدادات الأصلية.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.

الموارد

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