الإعدادات

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

الملخّص

التعدادات

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_RESERVED = 0x0006,
  OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
  OT_SETTINGS_KEY_DAD_INFO = 0x0008,
  OT_SETTINGS_KEY_LEGACY_OMR_PREFIX = 0x0009,
  OT_SETTINGS_KEY_ON_LINK_PREFIX = 0x000a,
  OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
  OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
  OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
  OT_SETTINGS_KEY_LEGACY_NAT64_PREFIX = 0x000e,
  OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f
}
تعداد
وتحدّد هذه القائمة مفاتيح الإعدادات.

الدوال

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

وتحدّد هذه القائمة مفاتيح الإعدادات.

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

المنشآت الفندقية
OT_SETTINGS_KEY_ACTIVE_DATASET

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

OT_SETTINGS_KEY_BR_ULA_PREFIX

بادئة BR ULA

OT_SETTINGS_KEY_CHILD_INFO

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

OT_SETTINGS_KEY_DAD_INFO

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

OT_SETTINGS_KEY_LEGACY_NAT64_PREFIX

محجوز. بادئة NAT64 القديمة.

OT_SETTINGS_KEY_LEGACY_OMR_PREFIX

محجوز. بادئة قديمة قابلة للتوجيه خارج الشبكة (OMR)

OT_SETTINGS_KEY_NETWORK_INFO

معلومات شبكة سلاسل المحادثات

OT_SETTINGS_KEY_ON_LINK_PREFIX

بادئة على الرابط لرابط البنية الأساسية.

OT_SETTINGS_KEY_PARENT_INFO

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

OT_SETTINGS_KEY_PENDING_DATASET

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

OT_SETTINGS_KEY_RESERVED

محجوز (المعروف سابقًا باسم "البدء التلقائي").

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

مفتاح SLAAC لإنشاء IID مبهم دلاليًا

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
)

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

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

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

وقد يؤدي استدعاء هذه الدالة بنجاح إلى إعادة ترتيب الإعدادات غير المرتبطة التي تتضمن قيمًا متعددة.

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

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

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

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

otPlatSettingsحذف

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

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

تحذف هذه الدالة قيمة محدّدة من الإعداد الذي يحدده مفتاح من متجر الإعدادات.

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

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

الحصول على otPlatSettings

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

استرجاع قيمة إعداد.

يستدعي هذا الدالة قيمة الإعداد التي يحدّدها المفتاح ويكتبها إلى الذاكرة التي يُشار إليها بالقيمة AValue. ويكتب بعد ذلك الطول إلى العدد الصحيح الذي يشير إليه AValueLength. القيمة الأولية لـ AValueLength هي الحد الأقصى لعدد وحدات البايت التي تتم كتابتها في AValue.

يمكن استخدام هذه الدالة للتحقّق من توفّر مفتاح بدون استرجاع القيمة من خلال إعداد AValue وAValueLength على "فارغ". ويمكنك أيضًا التحقّق من طول الإعداد بدون استرجاعه من خلال ضبط القيمة A على "خالٍ" فقط.

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

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aKey
المفتاح المرتبط بالإعداد المطلوب.
[in] aIndex
فهرس العنصر المحدد المطلوب الحصول عليه.
[out] aValue
مؤشر إلى المكان الذي يجب كتابة قيمة الإعداد فيه. قد يتم الضبط على "فارغ" إذا كان يتم الاختبار فقط مع وجود إعداد أو طوله.
[in,out] aValueLength
مؤشر لطول القيمة. عند طلب هذا المؤشر، يجب أن يشير إلى عدد صحيح يحتوي على الحد الأقصى لحجم القيمة الذي يمكن كتابته في AValue. وفي المقابل، تتم كتابة الطول الفعلي للإعداد. قد يتم ضبط هذه السياسة على "فارغ" في حال إجراء فحص للتواجد.
قيم الإرجاع
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
بنية المثال المفتوح.
[in] aSensitiveKeys
مؤشر إلى مصفوفة تحتوي على قائمة المفاتيح الحساسة. قد يكون فارغًا فقط إذا كان aSensitiveKeysLength 0، مما يعني عدم وجود مفاتيح حساسة.
[in] aSensitiveKeysLength
عدد الإدخالات في مصفوفة aSensitiveKeys.

otPlatSettingsSet

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

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

تحدّد هذه الدالة قيمة الإعداد المحدّدة من خلال مفتاح أو تستبدلها. إذا كان هناك أكثر من قيمة مرتبطة سابقًا بمفتاح، يتم حذفها كلها واستبدالها بهذا الإدخال الفردي.

وقد يؤدي استدعاء هذه الدالة بنجاح إلى إعادة ترتيب الإعدادات غير المرتبطة التي تتضمن قيمًا متعددة.

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

otPlatSettingsحجب البيانات

void otPlatSettingsWipe(
  otInstance *aInstance
)

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

ستحذف هذه الدالة كل الإعدادات من مخزن الإعدادات، مع إعادة ضبطها على الإعدادات الأصلية الأصلية.

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

المراجع

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