הגדרות

המודול הזה כולל הפשטת פלטפורמה לאחסון הגדרות שאינו תנודתי.

סיכום

מספור

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
}
טיפוסים בני מנייה (enum)
הספירה הזו קובעת את מפתחות ההגדרות.

פונקציות

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
הסרת כל ההגדרות מאחסון ההגדרות.

מספור

Enum אנונימי

 anonymous enum

הספירה הזו קובעת את מפתחות ההגדרות.

הערה: כשמוסיפים מפתח הגדרות חדש, אם ההגדרות שתואמות למפתח מכילות מידע רגיש לגבי אבטחה, המפתח חייב להוסיף את המפתח למערך aSensitiveKeys שמועבר ב-otPlatSettingsInit().

מאפיינים
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_NETWORK_INFO

פרטי השרשור של הרשת.

OT_SETTINGS_KEY_PARENT_INFO

פרטי הורה.

OT_SETTINGS_KEY_PENDING_DATASET

מערך נתונים תפעולי בהמתנה.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

מפתח SLAAC כדי ליצור מזהה IOP סמנטי.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

פרטי הלקוח של SRP (כתובת שרת SRP שנבחרה).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

זוג מפתחות ציבוריים/פרטיים של SRP של לקוח SRP.

OT_SETTINGS_KEY_SRP_SERVER_INFO

פרטי שרת SRP (יציאת UDP).

פונקציות

הוספת otPlatSettingsAdd

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

מוסיף ערך להגדרה.

פונקציה זו מוסיפה את הערך להגדרה המזוהה על ידי aKey, בלי להחליף ערכים קיימים.

חשוב לשים לב שההטמעה הבסיסית לא נדרשת כדי לשמור על סדר הפריטים המשויכים למפתח מסוים. אפשר להוסיף את הערך המוסף לסוף, להתחלה או אפילו למקום כלשהו באמצע. הסדר של ערכים קיימים עשוי להשתנות גם הוא.

קריאה מוצלחת לפונקציה הזו עלולה לגרום לסידור מחדש של הגדרות לא קשורות עם ערכים מרובים.

מקבץ OpenThread מבטיח שניתן להשתמש בשיטת otPlatSettingsAdd() בשביל aKey שמנוהלת על ידי otPlatSettingsAdd() בעבר (כלומר, מכילה פריט אחד או יותר) או ריקה או שנמחקה (בלי ערך).

שכבת הפלטפורמה הזו יכולה להשתמש בעובדה הזו ולהשתמש בה כדי לבצע אופטימיזציה של ההטמעה.

פרטים
פרמטרים
[in] aInstance
מבנה המופע של OpenThread.
[in] aKey
המפתח המשויך להגדרה כדי לשנות.
[in] aValue
מצביע על המקום שממנו יש לקרוא את הערך החדש של ההגדרה. הערך לא יכול להיות NUL אם 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
)

מסירה הגדרה מאחסון ההגדרות.

פונקציה זו מוחקת ערך ספציפי מההגדרות שזוהו על ידי aKey מאחסון ההגדרות.

חשוב לשים לב שההטמעה הבסיסית לא נדרשת כדי לשמור על סדר הפריטים המשויכים למפתח מסוים.

פרטים
פרמטרים
[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. אפשר גם לבדוק את אורך ההגדרה בלי לשלוף אותה. כדי לעשות זאת, מגדירים את הערך AULL בלבד.

לתשומת ליבכם, הטמעה בסיסית של האחסון לא נדרשת כדי לשמור על סדר ההגדרות עם ערכים מרובים. הסדר של הערכים האלו עשוי להשתנות לאחר פעולת כתיבה בחנות.

פרטים
פרמטרים
[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.

קריאה מוצלחת לפונקציה הזו עלולה לגרום לסידור מחדש של הגדרות לא קשורות עם ערכים מרובים.

מחסנית OpenThread מבטיחה להשתמש בשיטה otPlatSettingsSet() בשביל aKey שהוגדרה בעבר באמצעות otPlatSettingsSet() (כלומר, מכילה ערך יחיד) או ריקה ו/או נמחקה במלואה (בלי ערך).

שכבת הפלטפורמה הזו יכולה להשתמש בעובדה הזו ולהשתמש בה כדי לבצע אופטימיזציה של ההטמעה.

פרטים
פרמטרים
[in] aInstance
מבנה המופע של OpenThread.
[in] aKey
המפתח המשויך להגדרה כדי לשנות.
[in] aValue
מצביע על המקום שממנו יש לקרוא את הערך החדש של ההגדרה. הערך לא יכול להיות NUL אם aValueLength אינו אפס.
[in] aValueLength
אורך הנתונים שמצביעים על ידי aValue. ייתכן אפס.
ערכי החזרה
OT_ERROR_NONE
ההגדרה הנתונה שונתה או עברה שלב.
OT_ERROR_NOT_IMPLEMENTED
הפונקציה הזו לא מיושמת בפלטפורמה הזו.
OT_ERROR_NO_BUFS
לא נותר מקום לאחסון ההגדרה הנתונה.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

הסרת כל ההגדרות מאחסון ההגדרות.

פונקציה זו מוחקת את כל ההגדרות מחנות ההגדרות, ומאפסה אותה להגדרות המקוריות.

פרטים
פרמטרים
[in] aInstance
מבנה המופע של OpenThread.

משאבים

נושאי עזר של OpenThread API מגיעים מקוד המקור, שזמין ב-GitHub. למידע נוסף או כדי להוסיף מידע למסמכים שלנו, יש לעיין במשאבים.