संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

nl::पेयरिंग कोड

खास जानकारी

गिनती

@353 enum
@354 enum
@355 enum
@356{
  kStandardPairingCodeLength = 6,
  kKryptonitePairingCodeLength = 9,
  kPairingCodeLenMin = 2,
  kBitsPerCharacter = 5
}
enum

फ़ंक्शन

GeneratePairingCode(uint8_t pairingCodeLen, char *outBuf)
किसी भी क्रम में जोड़ने का कोड जनरेट करें.
IntToPairingCode(uint64_t val, uint8_t pairingCodeLen, char *outBuf)
किसी इंटेजर वैल्यू को वीव पेयरिंग कोड के तौर पर कोड में बदलें.
IntToPairingCodeChar(int val)
char
रेंज 0..31 में मौजूद पूर्णांक का मान, उससे जुड़े Weave जोड़ने वाले कोड के वर्ण में बदलें.
IsValidPairingCodeChar(char ch)
bool
अगर दिया गया वर्ण, Weave से जोड़ने वाला मान्य कोड वर्ण है, तो 'सही' दिखाता है.
KryptoniteDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
Kryptonite डिवाइस को दिए गए आईडी से Kryptonite पेयरिंग कोड स्ट्रिंग जनरेट होती है.
KryptonitePairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
Kryptonite युग् मन कोड में एन्कोड किया गया डिवाइस आईडी लौटाता है.
NevisDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
नेविस डिवाइस आईडी के साथ, नेविस का पेयरिंग कोड स्ट्रिंग जनरेट करता है.
NevisPairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
नेविस पेयरिंग कोड में एन्कोड किया गया डिवाइस आईडी दिखाता है.
NormalizePairingCode(char *pairingCode, size_t & pairingCodeLen)
void
पेयरिंग कोड स्ट्रिंग में वर्णों को सामान्य बनाएं.
PairingCodeCharToInt(char ch)
int
Weave जोड़ने वाले कोड के वर्ण को 0..31 की रेंज में एक इंटेजर वैल्यू बनाएं.
PairingCodeToInt(const char *pairingCode, size_t pairingCodeLen, uint64_t & val)
Weave जोड़ने वाले कोड को पूर्णांक मान के तौर पर डिकोड करें.
VerifyPairingCode(const char *pairingCode, size_t pairingCodeLen)
Weave जोड़ने वाले कोड की जांच, उसके सही वर्ण से करें.

गिनती

@35

 @353

@35

 @354

@355

 @355

@356

 @356
प्रॉपर्टी
kBitsPerCharacter

किसी एक पेयरिंग कोड वर्ण में एन्कोड किए गए बिट की संख्या.

kKryptonitePairingCodeLength

क्रिप्टोनाइट के लिए जोड़ने वाले कोड की लंबाई.

kPairingCodeLenMin

जोड़ने वाले कोड की कम से कम लंबाई.

kStandardPairingCodeLength

Nest के ज़्यादातर प्रॉडक्ट के लिए, जोड़े गए कोड की लंबाई.

फ़ंक्शन

जनरेटिंग कोड जनरेट करें

WEAVE_ERROR GeneratePairingCode(
  uint8_t pairingCodeLen,
  char *outBuf
)

किसी भी क्रम में जोड़ने का कोड जनरेट करें.

फ़ंक्शन एक दी गई लंबाई के साथ रैंडम वेव पेयरिंग कोड स्ट्रिंग जनरेट करता है. वैल्यू, एक बिग-एंडियन, बेस-32 संख्या के रूप में और एक आखिर में Verhoeff चेक वर्ण के रूप में कोड में बदली जाती है. जनरेट की गई स्ट्रिंग के लिए तय किया गया स्ट्रिंग तय किया गया है. स्ट्रिंग को बाईं ओर पैड किया जाता है. इस लंबाई को पूरा करने के लिए शून्य की ज़रूरत होती है.

ब्यौरा
पैरामीटर
[in] pairingCodeLen
जोड़ने वाले कोड स्ट्रिंग की ज़रूरी लंबाई, जिसमें पीछे का चेक वर्ण भी शामिल हो. >= 2 होना चाहिए.
[out] outBuf
कैरेक्टर बफ़र का एक इंडिकेटर, जिसे कोड में जोड़ने का कोड एन्कोड किया जाएगा. साथ ही, शून्य के आखिर में आने वाला एक कैरेक्टर भी मिलेगा. दिया गया बफ़र कम से कम उतना बड़ा होना चाहिए जितना कि CodeCodeLen + 1 हो.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर जोड़ोCodeLen < 2 है या दिया गया पूर्णांक मान,कोड करने के लिए वर्ण से जोड़े गए CodeCodeLen की ओर से बताए गए वर्णों की संख्या में एन्कोड नहीं किया जा सकता है, तो चेक वर्ण के लिए 1 को घटाएँ.

IntToपेयरिंग कोड

WEAVE_ERROR IntToPairingCode(
  uint64_t val,
  uint8_t pairingCodeLen,
  char *outBuf
)

किसी इंटेजर वैल्यू को वीव पेयरिंग कोड के तौर पर कोड में बदलें.

यह फ़ंक्शन, एक Weave पेयरिंग कोड स्ट्रिंग जनरेट करता है. इसमें दिया गया बिना साइन वाला पूर्णांक मान होता है, जिसे बिग-एंडियन, बेस-32 अंक के तौर पर कोड किया जाता है. इसके बाद, Verhoeff चेक कैरेक्टर दिखता है. जनरेट की गई स्ट्रिंग के लिए तय किया गया स्ट्रिंग तय किया गया है. स्ट्रिंग को बाईं ओर पैड किया जाता है. इस लंबाई को पूरा करने के लिए शून्य की ज़रूरत होती है.

ब्यौरा
पैरामीटर
[in] val
एन्कोड किया जाने वाला मान.
[in] pairingCodeLen
एन्कोड की गई जोड़ने वाली कोड स्ट्रिंग की मनपसंद लंबाई, जिसमें पीछे आने वाला चेक वर्ण भी शामिल है. >= 2 होना चाहिए.
[out] outBuf
कैरेक्टर बफ़र का एक इंडिकेटर, जिसे कोड में जोड़ने का कोड एन्कोड किया जाएगा. साथ ही, शून्य के आखिर में आने वाला एक कैरेक्टर भी मिलेगा. दिया गया बफ़र कम से कम उतना बड़ा होना चाहिए जितना कि CodeCodeLen + 1 हो.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर जोड़ोCodeLen < 2 है या दिया गया पूर्णांक मान,कोड करने के लिए वर्ण से जोड़े गए CodeCodeLen की ओर से बताए गए वर्णों की संख्या में एन्कोड नहीं किया जा सकता है, तो चेक वर्ण के लिए 1 को घटाएँ.

IntToDuoingCodeChar

char IntToPairingCodeChar(
  int val
)

रेंज 0..31 में मौजूद पूर्णांक का मान, उससे जुड़े Weave जोड़ने वाले कोड के वर्ण में बदलें.

ध्यान दें कि यह फ़ंक्शन हमेशा अपर-केस वर्णों का इस्तेमाल करता है.

ब्यौरा
पैरामीटर
[in] val
वह पूर्णांक मान जिसे बदला जाना है.
लौटाए गए सामान
जोड़ने वाले कोड का वह वर्ण जो बताए गए पूर्णांक मान से मेल खाता है या अगर पूर्णांक मान सीमा से बाहर है, तो 0 होता है.

क्या is मान्यingingCodeChar

bool IsValidPairingCodeChar(
  char ch
)

अगर दिया गया वर्ण, Weave से जोड़ने वाला मान्य कोड वर्ण है, तो 'सही' दिखाता है.

ध्यान दें कि यह फ़ंक्शन केस-इनसेंसिटिव है.

ब्यौरा
पैरामीटर
[in] ch
वह वर्ण जिसकी जांच की जानी है.
लौटाए गए सामान
सही है अगर दिया गया वर्ण एक मान्य Weave पेयरिंग कोड वर्ण है.

क्रिप्टोनाइट डिवाइस आईडीके लिए कोडिंग

WEAVE_ERROR KryptoniteDeviceIdToPairingCode(
  uint64_t deviceId,
  char *pairingCodeBuf,
  size_t pairingCodeBufSize
)

Kryptonite डिवाइस को दिए गए आईडी से Kryptonite पेयरिंग कोड स्ट्रिंग जनरेट होती है.

ब्यौरा
पैरामीटर
[in] deviceId
Kryptonite डिवाइस का आईडी.
[out] pairingCodeBuf
बफ़र की ओर इशारा करने वाला एक पॉइंटर जो Kryptonite पेयरिंग कोड मिलेगा, जो कि NULL खत्म होने वाला वर्ण है. दिया गया बफ़र 7 वर्ण या इससे ज़्यादा का होना चाहिए.
[in] pairingCodeBufSize
जोड़ोCodeBuf से बफ़र किए गए बफ़र का साइज़.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिया गया डिवाइस आईडी सीमा से बाहर है या दिया गया बफ़र बहुत छोटा है.

क्रिप्टोनाइट पेयरिंग कोड डिवाइस डिवाइस आईडी

WEAVE_ERROR KryptonitePairingCodeToDeviceId(
  const char *pairingCode,
  uint64_t & deviceId
)

Kryptonite युग् मन कोड में एन्कोड किया गया डिवाइस आईडी लौटाता है.

ब्यौरा
पैरामीटर
[in] pairingCode
Kryptonite पेयरिंग कोड वाली NULL-टर्मिनेटेड स्ट्रिंग.
[out] deviceId
उस इंटेजर का रेफ़रंस जिसे डिकोड किया गया क्रिप्टोनाइट डिवाइस आईडी मिलता है.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिए गए जोड़ने वाले कोड की लंबाई गलत है या उसे जोड़ने के लिए इस्तेमाल किए गए कोड में अमान्य वर्ण हैं या जोड़ी गई कोड के शुरुआती वर्ण, चेक वर्ण से मेल नहीं खाते हैं.

NevisDeviceIdToToingCode

WEAVE_ERROR NevisDeviceIdToPairingCode(
  uint64_t deviceId,
  char *pairingCodeBuf,
  size_t pairingCodeBufSize
)

नेविस डिवाइस आईडी के साथ, नेविस का पेयरिंग कोड स्ट्रिंग जनरेट करता है.

ब्यौरा
पैरामीटर
[in] deviceId
Nevis डिवाइस आईडी.
[out] pairingCodeBuf
किसी बफ़र के लिए पॉइंटर जो NULL नाम का पेयरिंग कोड, नेविस पेयरिंग कोड मिलेगा. दिया गया बफ़र 7 वर्ण या इससे ज़्यादा का होना चाहिए.
[in] pairingCodeBufSize
जोड़ोCodeBuf से बफ़र किए गए बफ़र का साइज़.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिया गया डिवाइस आईडी सीमा से बाहर है या दिया गया बफ़र बहुत छोटा है.

NevisDuoingCodeToDeviceId

WEAVE_ERROR NevisPairingCodeToDeviceId(
  const char *pairingCode,
  uint64_t & deviceId
)

नेविस पेयरिंग कोड में एन्कोड किया गया डिवाइस आईडी दिखाता है.

ब्यौरा
पैरामीटर
[in] pairingCode
एक NULL-टर्मिनेटेड स्ट्रिंग जिसमें नेविस का पेयरिंग कोड होता है.
[out] deviceId
उस पूर्णांक का रेफ़रंस जिसे डिकोड किया गया Nevis डिवाइस आईडी मिलता है.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिए गए जोड़ने वाले कोड की लंबाई गलत है या उसे जोड़ने के लिए इस्तेमाल किए गए कोड में अमान्य वर्ण हैं या जोड़ी गई कोड के शुरुआती वर्ण, चेक वर्ण से मेल नहीं खाते हैं.

पेयरिंग कोड को सामान्य बनाएं

void NormalizePairingCode(
  char *pairingCode,
  size_t & pairingCodeLen
)

पेयरिंग कोड स्ट्रिंग में वर्णों को सामान्य बनाएं.

पढ़ने

यह ज़रूरी नहीं है कि इनपुट स्ट्रिंग NULL खत्म हो. हालांकि, अगर आउटपुट शून्य है, तो उसे भी बंद कर दिया जाएगा.

ब्यौरा
पैरामीटर
[in,out] pairingCode
इनपुट के तौर पर, जोड़ने वाले कोड की स्ट्रिंग को सामान्य बनाया जाना चाहिए. आउटपुट पर, सामान्य बनाई गई स्ट्रिंग. स्ट्रिंग को NULL खत्म करने की ज़रूरत नहीं है.
[in,out] pairingCodeLen
इनपुट पर, जोड़ने वाले कोड स्ट्रिंग की लंबाई, जिसमें कोई NULL टर्मिनर वर्ण शामिल नहीं है. आउटपुट पर, सामान्य स्ट्रिंग की लंबाई.

कोडिंग कोडCharToInt

int PairingCodeCharToInt(
  char ch
)

Weave जोड़ने वाले कोड के वर्ण को 0..31 की रेंज में एक इंटेजर वैल्यू बनाएं.

ध्यान दें कि यह फ़ंक्शन केस-इनसेंसिटिव है.

ब्यौरा
पैरामीटर
[in] ch
वह वर्ण जिसे बदला जाना है.
लौटाए गए सामान
जोड़े गए कोड कोड से जुड़ा पूरा मान या ch अगर मान्य वर्ण नहीं है, तो -1.

कोडिंग कोडपाने के लिए

WEAVE_ERROR PairingCodeToInt(
  const char *pairingCode,
  size_t pairingCodeLen,
  uint64_t & val
)

Weave जोड़ने वाले कोड को पूर्णांक मान के तौर पर डिकोड करें.

यह फ़ंक्शन, Weave पेयरिंग कोड स्ट्रिंग के शुरुआती वर्णों को बिग-एंडियन, base-32 अंकों के तौर पर पार्स करता है और नतीजे की वैल्यू को बिना साइन किए गए पूर्णांक के तौर पर दिखाता है. इनपुट स्ट्रिंग कोई भी लंबाई >= 2 हो सकती है, बशर्ते डिकोड किया गया पूर्णांक uint64_t में फ़िट हो.

Verhoeff चेक वर्ण की पुष्टि करने की कोई कोशिश नहीं की जाती है (https://Verifyपेयरिंग कोड() देखें).

ब्यौरा
पैरामीटर
[in] pairingCode
डीकोड किए जाने वाले कोड की स्ट्रिंग. इस स्ट्रिंग को NULL खत्म करने की ज़रूरत नहीं है.
[in] pairingCodeLen
जोड़ने वाले कोड की स्ट्रिंग की लंबाई, जिसमें कोई NULL टर्मिनर वर्ण शामिल नहीं है. >= 2 होना चाहिए.
[out] val
डिकोड की गई पूर्णांक वैल्यू.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगरजोड़े गए CodeLen को < 2 या दिया गया जोड़ने के कोड का स्ट्रिंग शामिल है, तो उसमें एक अमान्य वर्ण है या जोड़ने के कोड में एन्कोड किया गया पूर्णांक मान, uint64_t में स्टोर किए जा सकने वाले अधिकतम मान से ज़्यादा है.

पेयरिंग कोड की पुष्टि करें

WEAVE_ERROR VerifyPairingCode(
  const char *pairingCode,
  size_t pairingCodeLen
)

Weave जोड़ने वाले कोड की जांच, उसके सही वर्ण से करें.

ब्यौरा
पैरामीटर
[in] pairingCode
जोड़ने के लिए कोड की स्ट्रिंग की जांच की जानी चाहिए. इस स्ट्रिंग को NULL खत्म करने की ज़रूरत नहीं है.
[in] pairingCodeLen
जोड़ने वाले कोड की स्ट्रिंग की लंबाई, जिसमें कोई NULL टर्मिनर वर्ण शामिल नहीं है. >= 2 होना चाहिए.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दूसरे डिवाइस से जोड़ने वाला कोड < 2 है या जोड़ने के कोड के शुरुआती वर्ण, चेक वर्ण की वैल्यू से मेल नहीं खाते.