सेटिंग

इस मॉड्यूल में, सेटिंग के नॉन-वोलाटाइल स्टोरेज के लिए प्लैटफ़ॉर्म ऐब्स्ट्रैक्शन शामिल है.

खास जानकारी

गिनती

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
}
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_BORDER_AGENT_ID

यूनीक बॉर्डर एजेंट/राउटर आईडी.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

BR स्थानीय ऑन-लिंक प्रीफ़िक्स.

OT_SETTINGS_KEY_BR_ULA_PREFIX

BR ULA प्रीफ़िक्स.

OT_SETTINGS_KEY_CHILD_INFO

बच्चे की जानकारी.

OT_SETTINGS_KEY_DAD_INFO

डुप्लीकेट पते की पहचान (डीएडी) की जानकारी.

OT_SETTINGS_KEY_NETWORK_INFO

थ्रेड के नेटवर्क की जानकारी.

OT_SETTINGS_KEY_PARENT_INFO

माता-पिता/अभिभावक की जानकारी.

OT_SETTINGS_KEY_PENDING_DATASET

ऑपरेशनल डेटासेट की मंज़ूरी बाकी है.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

एसएलएएसी कुंजी का इस्तेमाल किया जा सकता है.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

एसआरपी क्लाइंट की जानकारी (एसआरपी सर्वर का चुना गया पता).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

SRP क्लाइंट ECDSA सार्वजनिक/निजी कुंजी का जोड़ा.

OT_SETTINGS_KEY_SRP_SERVER_INFO

एसआरपी सर्वर की जानकारी (यूडीपी पोर्ट).

फ़ंक्शन

otPlatSettingsAdd

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

सेटिंग में वैल्यू जोड़ता है.

किसी भी मौजूदा वैल्यू को बदले बिना, aKey से पहचानी गई सेटिंग में वैल्यू जोड़ता है.

ध्यान दें कि किसी खास कुंजी से जुड़े आइटम के क्रम को बनाए रखने के लिए, बुनियादी तौर पर लागू करने की ज़रूरत नहीं होती. ऐडेड वैल्यू को शुरुआत में, शुरुआत में या बीच में कहीं भी जोड़ा जा सकता है. पहले से मौजूद किसी वैल्यू का क्रम भी बदल सकता है.

इस फ़ंक्शन को सही तरीके से कॉल करने से, एक से ज़्यादा वैल्यू वाली सेटिंग का क्रम बदल सकता है.

OpenThread स्टैक की मदद से, यह गारंटी मिलती है कि aKey के लिए, otPlatSettingsAdd() तरीके का इस्तेमाल किया जाएगा.इस तरीके को पहले otPlatSettingsAdd() मैनेज करता था. उदाहरण के लिए, इसमें एक या उससे ज़्यादा आइटम शामिल हैं या यह खाली है और/या मिटा दिया गया है (इसमें कोई वैल्यू नहीं है).

प्लैटफ़ॉर्म लेयर, इसे लागू करने के तरीके को ऑप्टिमाइज़ करने के लिए, इस तथ्य पर भरोसा कर सकता है और इसका इस्तेमाल कर सकता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[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
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 से पहचानी गई सेटिंग की वैल्यू फ़ेच करता है और उसे वैल्यू से जुड़ी मेमोरी में लिखता है. इसके बाद, यह aValueLength की ओर से बताए गए पूर्णांक की लंबाई लिखता है. aValueLength की शुरुआती वैल्यू, aValue में लिखे जाने वाले बाइट की ज़्यादा से ज़्यादा संख्या है.

इस सुविधा का इस्तेमाल करके, aValue और aValueLength को NULL पर सेट करके, वैल्यू फ़ेच किए बिना कुंजी की मौजूदगी का पता लगाया जा सकता है. सिर्फ़ aValue को NULL पर सेट करके, सेटिंग को फ़ेच किए बिना भी उसकी लंबाई देखी जा सकती है.

ध्यान दें कि एक से ज़्यादा वैल्यू वाली सेटिंग का क्रम बनाए रखने के लिए, स्टोरेज के इस्तेमाल की ज़रूरत नहीं है. स्टोर में किसी भी लिखने के बाद ऐसे मानों का क्रम बदल सकता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aKey
अनुरोध की गई सेटिंग से जुड़ी कुंजी.
[in] aIndex
किसी खास आइटम का इंडेक्स.
[out] aValue
वह पॉइंटर जहां सेटिंग की वैल्यू लिखी जानी चाहिए. अगर सिर्फ़ किसी सेटिंग की मौजूदगी या उसकी अवधि की जांच की जाती है, तो इसे शून्य पर सेट किया जा सकता है.
[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
)

ज़रूरी होने पर, सेटिंग सबसिस्टम के लिए कोई भी शुरू करने की प्रोसेस शुरू करती है.

यह उन संवेदनशील कुंजियों को भी सेट करता है जिन्हें सुरक्षित जगह में सेव किया जाना चाहिए.

ध्यान दें कि aInstance को खत्म करने से पहले, aSensitiveKeys से दिखाई गई मेमोरी को रिलीज़ नहीं करना ज़रूरी है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aSensitiveKeys
संवेदनशील कुंजियों की सूची वाले कलेक्शन का पॉइंटर. अगर aSensitiveKeysLength 0 है, तो यह शून्य हो सकता है. इसका मतलब है कि कोई संवेदनशील कुंजी नहीं है.
[in] aSensitiveKeysLength
aSensitiveKeys कलेक्शन में मौजूद एंट्री की संख्या.

otPlatSettingsSet

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

किसी सेटिंग की वैल्यू सेट करता है या उसे बदलता है.

यह aKey से पहचानी गई सेटिंग की वैल्यू को सेट करता है या बदलता है.

इस फ़ंक्शन को सही तरीके से कॉल करने से, एक से ज़्यादा वैल्यू वाली सेटिंग का क्रम बदल सकता है.

OpenThread स्टैक, उस aKey के लिए otPlatSettingsSet() तरीके का इस्तेमाल करने की गारंटी देता है जिसे या तो पहले otPlatSettingsSet() का इस्तेमाल करके सेट किया गया था (यानी कि इसमें एक ही वैल्यू है) या खाली है और/या पूरी तरह से मिटा दिया गया है (इसमें कोई वैल्यू नहीं है).

प्लैटफ़ॉर्म लेयर, इसे लागू करने के तरीके को ऑप्टिमाइज़ करने के लिए, इस तथ्य पर भरोसा कर सकता है और इसका इस्तेमाल कर सकता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aKey
बदलने की सेटिंग से जुड़ी कुंजी.
[in] aValue
वह पॉइंटर जहां से सेटिंग की नई वैल्यू को पढ़ा जाना चाहिए. अगर aValueLength शून्य नहीं है, तो इसे शून्य नहीं होना चाहिए.
[in] aValueLength
वैल्यू के तौर पर दिखाए गए डेटा की लंबाई. शून्य हो सकता है.
रिटर्न वैल्यू
OT_ERROR_NONE
दी गई सेटिंग बदली गई या स्टेज की गई थी.
OT_ERROR_NOT_IMPLEMENTED
यह फ़ंक्शन इस प्लैटफ़ॉर्म पर लागू नहीं किया गया है.
OT_ERROR_NO_BUFS
दी गई सेटिंग को संग्रहित करने के लिए कोई स्थान शेष नहीं है.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

सेटिंग स्टोर से सभी सेटिंग हटा दी जाती है.

इससे सेटिंग स्टोर से सभी सेटिंग मिट जाती हैं और डिवाइस को उसकी शुरुआती फ़ैक्ट्री स्थिति में रीसेट कर दिया जाता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.

संसाधन

OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.