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 পরিসরের একটি পূর্ণসংখ্যা মানকে এর সংশ্লিষ্ট উইভ পেয়ারিং কোড অক্ষরে রূপান্তর করুন।
IsValidPairingCodeChar (char ch)
bool
একটি সরবরাহকৃত অক্ষর একটি বৈধ উইভ পেয়ারিং কোড অক্ষর হলে সত্য ফেরত দেয়।
KryptoniteDeviceIdToPairingCode (uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
একটি ক্রিপ্টোনাইট ডিভাইস আইডি দেওয়া একটি ক্রিপ্টোনাইট পেয়ারিং কোড স্ট্রিং তৈরি করে।
KryptonitePairingCodeToDeviceId (const char *pairingCode, uint64_t & deviceId)
ক্রিপ্টোনাইট পেয়ারিং কোডে এনকোড করা ডিভাইস আইডি ফেরত দেয়।
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
একটি ওয়েভ পেয়ারিং কোড ক্যারেক্টারকে 0..31 রেঞ্জের একটি পূর্ণসংখ্যা মানতে রূপান্তর করুন।
PairingCodeToInt (const char *pairingCode, size_t pairingCodeLen, uint64_t & val)
একটি পূর্ণসংখ্যা মান হিসাবে একটি উইভ পেয়ারিং কোড ডিকোড করুন।
VerifyPairingCode (const char *pairingCode, size_t pairingCodeLen)
একটি ওয়েভ পেয়ারিং কোড এর চেক অক্ষরের বিপরীতে যাচাই করুন।

গণনা

@৩৫৩

 @353

@৩৫৪

 @354

@৩৫৫

 @355

@৩৫৬

 @356
বৈশিষ্ট্য
kBitsPerCharacter

একটি একক জোড়া কোড অক্ষরে এনকোড করা বিটের সংখ্যা৷

kKryptonitePairingCodeLength

ক্রিপ্টোনাইটের জন্য পেয়ারিং কোডের দৈর্ঘ্য।

kPairingCodeLenMin

একটি পেয়ারিং কোডের ন্যূনতম দৈর্ঘ্য।

kStandardPairingCodeLength

বেশিরভাগ নেস্ট প্রোডাক্টের জন্য পেয়ারিং কোডের দৈর্ঘ্য।

ফাংশন

পেয়ারিং কোড তৈরি করুন

WEAVE_ERROR GeneratePairingCode(
  uint8_t pairingCodeLen,
  char *outBuf
)

একটি র্যান্ডম পেয়ারিং কোড জেনারেট করুন।

ফাংশনটি একটি নির্দিষ্ট দৈর্ঘ্যের সাথে একটি র্যান্ডম উইভ পেয়ারিং কোড স্ট্রিং তৈরি করে। মান, একটি বড়-এন্ডিয়ান হিসাবে এনকোড করা, বেস-32 সংখ্যা, এবং একটি ট্রেইলিং Verhoeff চেক অক্ষর। পেয়ারিং কোডলেন প্যারামিটার দ্বারা উত্পন্ন স্ট্রিংটির একটি নির্দিষ্ট দৈর্ঘ্য রয়েছে৷ এই দৈর্ঘ্য পূরণ করার জন্য প্রয়োজনীয় হিসাবে স্ট্রিংটি শূন্য দিয়ে বাম দিকে প্যাড করা হয়।

বিস্তারিত
পরামিতি
[in] pairingCodeLen
পেয়ারিং কোড স্ট্রিং এর পছন্দসই দৈর্ঘ্য, ট্রেলিং চেক অক্ষর সহ। হতে হবে >= 2।
[out] outBuf
একটি অক্ষর বাফারের একটি পয়েন্টার যা এনকোডেড পেয়ারিং কোড এবং একটি নাল টার্মিনেটর অক্ষর পাবে। সরবরাহ করা বাফারটি অন্তত পেয়ারিং কোডলেন + 1 এর মতো বড় হওয়া উচিত।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
pairingCodeLen < 2 হলে বা সরবরাহকৃত পূর্ণসংখ্যা মানটি pairingCodeLen দ্বারা নির্দিষ্ট অক্ষরের সংখ্যায় এনকোড করা যাবে না, চেক অক্ষরের জন্য বিয়োগ 1।

IntToPairingCode

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

ওয়েভ পেয়ারিং কোড হিসাবে একটি পূর্ণসংখ্যা মান এনকোড করুন।

ফাংশনটি একটি সরবরাহকৃত স্বাক্ষরবিহীন পূর্ণসংখ্যা মান সমন্বিত একটি ওয়েভ পেয়ারিং কোড স্ট্রিং তৈরি করে, যা একটি বড়-এন্ডিয়ান, বেস-32 সংখ্যা হিসাবে এনকোড করা হয় এবং একটি ট্রেলিং ভেরহোফ চেক অক্ষর। পেয়ারিং কোডলেন প্যারামিটার দ্বারা উত্পন্ন স্ট্রিংটির একটি নির্দিষ্ট দৈর্ঘ্য রয়েছে৷ এই দৈর্ঘ্য পূরণ করার জন্য প্রয়োজনীয় হিসাবে স্ট্রিংটি শূন্য দিয়ে বাম দিকে প্যাড করা হয়।

বিস্তারিত
পরামিতি
[in] val
এনকোড করা মান।
[in] pairingCodeLen
এনকোড করা পেয়ারিং কোড স্ট্রিং এর পছন্দসই দৈর্ঘ্য, ট্রেলিং চেক অক্ষর সহ। হতে হবে >= 2।
[out] outBuf
একটি অক্ষর বাফারের একটি পয়েন্টার যা এনকোডেড পেয়ারিং কোড এবং একটি নাল টার্মিনেটর অক্ষর পাবে। সরবরাহ করা বাফারটি অন্তত পেয়ারিং কোডলেন + 1 এর মতো বড় হওয়া উচিত।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
pairingCodeLen < 2 হলে বা সরবরাহকৃত পূর্ণসংখ্যা মানটি pairingCodeLen দ্বারা নির্দিষ্ট অক্ষরের সংখ্যায় এনকোড করা যাবে না, চেক অক্ষরের জন্য বিয়োগ 1।

IntToPairingCodeChar

char IntToPairingCodeChar(
  int val
)

0..31 পরিসরের একটি পূর্ণসংখ্যা মানকে এর সংশ্লিষ্ট উইভ পেয়ারিং কোড অক্ষরে রূপান্তর করুন।

মনে রাখবেন যে এই ফাংশন সবসময় বড় হাতের অক্ষর তৈরি করে।

বিস্তারিত
পরামিতি
[in] val
পূর্ণসংখ্যার মান রূপান্তর করা হবে।
রিটার্নস
পেয়ারিং কোড অক্ষর যা নির্দিষ্ট পূর্ণসংখ্যা মানের সাথে মিলে যায়, অথবা 0 যদি পূর্ণসংখ্যার মান পরিসীমার বাইরে থাকে।

IsValidPairingCodeChar

bool IsValidPairingCodeChar(
  char ch
)

একটি সরবরাহকৃত অক্ষর একটি বৈধ উইভ পেয়ারিং কোড অক্ষর হলে সত্য ফেরত দেয়।

মনে রাখবেন যে এই ফাংশনটি কেস-সংবেদনশীল।

বিস্তারিত
পরামিতি
[in] ch
চরিত্রটি পরীক্ষা করতে হবে।
রিটার্নস
সত্য যদি একটি সরবরাহকৃত অক্ষর একটি বৈধ উইভ পেয়ারিং কোড অক্ষর হয়।

KryptoniteDeviceIdToPairingCode

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

একটি ক্রিপ্টোনাইট ডিভাইস আইডি দেওয়া একটি ক্রিপ্টোনাইট পেয়ারিং কোড স্ট্রিং তৈরি করে।

বিস্তারিত
পরামিতি
[in] deviceId
একটি ক্রিপ্টোনাইট ডিভাইস আইডি।
[out] pairingCodeBuf
একটি বাফারের একটি পয়েন্টার যা ক্রিপ্টোনাইট পেয়ারিং কোড পাবে, একটি শূন্য সমাপ্তি অক্ষর। সরবরাহকৃত বাফারটি 7 অক্ষর বা তার বেশি আকারের হওয়া উচিত।
[in] pairingCodeBufSize
CodeBuf জোড়া দিয়ে বাফারের আকার নির্দেশ করা হয়েছে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি সরবরাহকৃত ডিভাইস আইডি সীমার বাইরে থাকে, বা যদি সরবরাহ করা বাফারটি খুব ছোট হয়।

Kryptonite PairingCodeToDeviceId

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

ক্রিপ্টোনাইট পেয়ারিং কোডে এনকোড করা ডিভাইস আইডি ফেরত দেয়।

বিস্তারিত
পরামিতি
[in] pairingCode
ক্রিপ্টোনাইট পেয়ারিং কোড ধারণকারী একটি NULL-টার্মিনেটেড স্ট্রিং।
[out] deviceId
একটি পূর্ণসংখ্যার একটি রেফারেন্স যা ডিকোড করা ক্রিপ্টোনাইট ডিভাইস আইডি গ্রহণ করে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি সরবরাহকৃত পেয়ারিং কোডের দৈর্ঘ্য ভুল হয়, অথবা যদি পেয়ারিং কোডে অবৈধ অক্ষর থাকে, অথবা যদি পেয়ারিং কোডের প্রাথমিক অক্ষরগুলি চেক অক্ষরের সাথে সামঞ্জস্যপূর্ণ না হয়।

NevisDeviceIdToPairingCode

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

নেভিস ডিভাইস আইডি দেওয়া একটি নেভিস পেয়ারিং কোড স্ট্রিং তৈরি করে।

বিস্তারিত
পরামিতি
[in] deviceId
একটি নেভিস ডিভাইস আইডি।
[out] pairingCodeBuf
একটি বাফারের জন্য একটি পয়েন্টার যা নেভিস পেয়ারিং কোড পাবে, একটি NULL সমাপ্তি অক্ষর। সরবরাহকৃত বাফারটি 7 অক্ষর বা তার বেশি আকারের হওয়া উচিত।
[in] pairingCodeBufSize
CodeBuf জোড়া দিয়ে বাফারের আকার নির্দেশ করা হয়েছে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি সরবরাহকৃত ডিভাইস আইডি সীমার বাইরে থাকে, বা যদি সরবরাহ করা বাফারটি খুব ছোট হয়।

NevisPairingCodeToDeviceId

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

নেভিস পেয়ারিং কোডে এনকোড করা ডিভাইস আইডি ফেরত দেয়।

বিস্তারিত
পরামিতি
[in] pairingCode
নেভিস পেয়ারিং কোড ধারণকারী একটি NULL-টার্মিনেটেড স্ট্রিং।
[out] deviceId
একটি পূর্ণসংখ্যার একটি রেফারেন্স যা ডিকোড করা নেভিস ডিভাইস আইডি গ্রহণ করে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি সরবরাহকৃত পেয়ারিং কোডের দৈর্ঘ্য ভুল হয়, অথবা যদি পেয়ারিং কোডে অবৈধ অক্ষর থাকে, অথবা যদি পেয়ারিং কোডের প্রাথমিক অক্ষরগুলি চেক অক্ষরের সাথে সামঞ্জস্যপূর্ণ না হয়।

পেয়ারিং কোডকে স্বাভাবিক করুন

void NormalizePairingCode(
  char *pairingCode,
  size_t & pairingCodeLen
)

একটি জোড়া কোড স্ট্রিং মধ্যে অক্ষর স্বাভাবিক করুন.

এই ফাংশনটি সমস্ত বর্ণমালার অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে, অবৈধ অক্ষর 'I', 'O', 'Q' এবং 'Z' কে যথাক্রমে '1', '0', '0' এবং '2'-এ ম্যাপ করে, এবং প্রদত্ত স্ট্রিং থেকে অন্যান্য সমস্ত নন-পেয়ারিং কোড অক্ষর সরিয়ে দেয়।

ইনপুট স্ট্রিংটি NULL সমাপ্ত করার প্রয়োজন নেই, তবে যদি এটি হয় তবে আউটপুটটিও NULL সমাপ্ত হবে।

বিস্তারিত
পরামিতি
[in,out] pairingCode
ইনপুটে, পেয়ারিং কোড স্ট্রিং স্বাভাবিক করা হবে। আউটপুটে, স্বাভাবিক স্ট্রিং। স্ট্রিংটি NULL সমাপ্ত হওয়ার জন্য এটি প্রয়োজনীয় নয়।
[in,out] pairingCodeLen
ইনপুটে, পেয়ারিং কোড স্ট্রিং এর দৈর্ঘ্য, কোনো NULL টার্মিনেটর অক্ষর অন্তর্ভুক্ত নয়। আউটপুটে, স্বাভাবিক স্ট্রিং এর দৈর্ঘ্য।

PairingCodeCharToInt

int PairingCodeCharToInt(
  char ch
)

একটি ওয়েভ পেয়ারিং কোড ক্যারেক্টারকে 0..31 রেঞ্জের একটি পূর্ণসংখ্যা মানতে রূপান্তর করুন।

মনে রাখবেন যে এই ফাংশনটি কেস-সংবেদনশীল।

বিস্তারিত
পরামিতি
[in] ch
চরিত্রে রূপান্তর করতে হবে।
রিটার্নস
নির্দিষ্ট পেয়ারিং কোড অক্ষরের সাথে সঙ্গতিপূর্ণ একটি পূর্ণসংখ্যা মান, অথবা -1 যদি ch একটি বৈধ অক্ষর না হয়।

PairingCodeToInt

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

একটি পূর্ণসংখ্যা মান হিসাবে একটি উইভ পেয়ারিং কোড ডিকোড করুন।

ফাংশনটি একটি উইভ পেয়ারিং কোড স্ট্রিং-এর প্রাথমিক অক্ষরগুলিকে বিগ-এন্ডিয়ান, বেস-32 সংখ্যা হিসাবে পার্স করে এবং একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা হিসাবে ফলাফলের মান প্রদান করে। ইনপুট স্ট্রিং যেকোনো দৈর্ঘ্য >= 2 হতে পারে যতক্ষণ না ডিকোড করা পূর্ণসংখ্যা একটি uint64_t এর মধ্যে ফিট হয়।

Verhoeff চেক অক্ষর যাচাই করার জন্য কোন প্রচেষ্টা করা হয় না (VerifyPairingCode() দেখুন)।

বিস্তারিত
পরামিতি
[in] pairingCode
পেয়ারিং কোড স্ট্রিংটি ডিকোড করা হবে। এই স্ট্রিংটি NULL সমাপ্ত করার প্রয়োজন নেই।
[in] pairingCodeLen
পেয়ারিং কোড স্ট্রিং এর দৈর্ঘ্য, কোনো NULL টার্মিনেটর অক্ষর অন্তর্ভুক্ত নয়। হতে হবে >= 2।
[out] val
ডিকোড করা পূর্ণসংখ্যার মান।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
pairingCodeLen < 2 হলে, অথবা সরবরাহকৃত পেয়ারিং কোড স্ট্রিংটিতে একটি অবৈধ অক্ষর থাকে, অথবা পেয়ারিং কোডে এনকোড করা পূর্ণসংখ্যার মানটি সর্বাধিক মানকে অতিক্রম করে যা একটি uint64_t এ সংরক্ষণ করা যেতে পারে।

পেয়ারিং কোড যাচাই করুন

WEAVE_ERROR VerifyPairingCode(
  const char *pairingCode,
  size_t pairingCodeLen
)

একটি ওয়েভ পেয়ারিং কোড এর চেক অক্ষরের বিপরীতে যাচাই করুন।

বিস্তারিত
পরামিতি
[in] pairingCode
জোড়া কোড স্ট্রিং চেক করা হবে. এই স্ট্রিংটি NULL সমাপ্ত করার প্রয়োজন নেই।
[in] pairingCodeLen
পেয়ারিং কোড স্ট্রিং এর দৈর্ঘ্য, কোনো NULL টার্মিনেটর অক্ষর অন্তর্ভুক্ত নয়। হতে হবে >= 2।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি pairingCodeLen <2 হয়, অথবা পেয়ারিং কোডের প্রাথমিক অক্ষরগুলি চেক অক্ষরের মানের সাথে সামঞ্জস্যপূর্ণ না হয়।