nl::Weave

खास जानकारी

इन्यूमरेशन

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
enum
@36 enum
@37 enum
@38{
  kFabricIdDefaultForTest = 1ULL
}
enum
@39{
  kCertType_NotSpecified = 0x00,
  kCertType_General = 0x01,
  kCertType_Device = 0x02,
  kCertType_ServiceEndpoint = 0x03,
  kCertType_FirmwareSigning = 0x04,
  kCertType_AccessToken = 0x05,
  kCertType_CA = 0x06,
  kCertType_AppDefinedBase = 0x7F,
  kCertType_Max = 0xFF
}
enum
इससे सर्टिफ़िकेट के मकसद या उसे लागू करने के बारे में पता चलता है.
@40 enum
पासवर्ड आधारित प्रमाणीकरण प्रोटोकॉल में इस्तेमाल किए गए पासवर्ड के स्रोत की पहचान करता है (जैसे
@41{
  kWeaveAuthMode_NotSpecified = 0x0000,
  kWeaveAuthModeCategory_General = 0x0000,
  kWeaveAuthModeCategory_PASE = 0x1000,
  kWeaveAuthModeCategory_CASE = 0x2000,
  kWeaveAuthModeCategory_TAKE = 0x3000,
  kWeaveAuthModeCategory_GroupKey = 0x4000,
  kWeaveAuthModeCategory_AppDefinedBase = 0xC000,
  kWeaveAuthMode_Unauthenticated = kWeaveAuthModeCategory_General | 0x001,
  kWeaveAuthMode_PASE_PairingCode = kWeaveAuthModeCategory_PASE | kPasswordSource_PairingCode,
  kWeaveAuthMode_CASE_AnyCert = kWeaveAuthModeCategory_CASE | kCertType_NotSpecified,
  kWeaveAuthMode_CASE_GeneralCert = kWeaveAuthModeCategory_CASE | kCertType_General,
  kWeaveAuthMode_CASE_Device = kWeaveAuthModeCategory_CASE | kCertType_Device,
  kWeaveAuthMode_CASE_ServiceEndPoint = kWeaveAuthModeCategory_CASE | kCertType_ServiceEndpoint,
  kWeaveAuthMode_CASE_AccessToken = kWeaveAuthModeCategory_CASE | kCertType_AccessToken,
  kWeaveAuthMode_TAKE_IdentificationKey = kWeaveAuthModeCategory_TAKE | 0x001
}
enum
@42{
  kFabricSecretScope_All = 0x00
}
enum
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum
@44 enum
मैसेज को एन्क्रिप्ट (सुरक्षित) करने की ऐप्लिकेशन कुंजी के अलग-अलग साइज़ सेट करें.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
कोड में बदले गए Weave मैसेज के हेडर से जुड़ी परिभाषाएं.
@56{
  kEUI64_UL_Mask = 0x0200000000000000ULL,
  kEUI64_UL_Unversal = 0,
  kEUI64_UL_Local = kEUI64_UL_Mask,
  kEUI64_IG_Mask = 0x0100000000000000ULL,
  kEUI64_IG_Individual = 0,
  kEUI64_IG_Group = kEUI64_IG_Mask
}
enum
आईईईई ईयूआई-64 आइडेंटिफ़ायर के लिए बिट फ़ील्ड की परिभाषाएं.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Weave नोड आईडी की खास रेंज.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने के तरीके.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Weave Exchange हेडर फ़्लैग की बिट.
WeaveExchangeVersion enum
Weave Exchange हेडर वर्शन.
WeaveMessageFlags{
  kWeaveMessageFlag_ReuseMessageId = 0x00000010,
  kWeaveMessageFlag_ReuseSourceId = 0x00000020,
  kWeaveMessageFlag_DelaySend = 0x00000040,
  kWeaveMessageFlag_RetainBuffer = 0x00000080,
  kWeaveMessageFlag_MessageEncoded = 0x00001000,
  kWeaveMessageFlag_DefaultMulticastSourceAddress = 0x00002000,
  kWeaveMessageFlag_PeerRequestedAck = 0x00004000,
  kWeaveMessageFlag_DuplicateMessage = 0x00008000,
  kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized = 0x00010000,
  kWeaveMessageFlag_FromInitiator = 0x00020000,
  kWeaveMessageFlag_ViaEphemeralUDPPort = 0x00040000,
  kWeaveMessageFlag_MulticastFromLinkLocal = kWeaveMessageFlag_DefaultMulticastSourceAddress,
  kWeaveMessageFlag_DestNodeId = kWeaveHeaderFlag_DestNodeId,
  kWeaveMessageFlag_SourceNodeId = kWeaveHeaderFlag_SourceNodeId,
  kWeaveMessageFlag_TunneledData = kWeaveHeaderFlag_TunneledData,
  kWeaveMessageFlag_MsgCounterSyncReq = kWeaveHeaderFlag_MsgCounterSyncReq
}
enum
इनबाउंड या आउटबाउंड Weave मैसेज से जुड़े फ़्लैग.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Weave Message के फ़ॉर्मैट का वर्शन.
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
enum
Weave में कुछ ऐसे सबनेट नंबर हैं जिन्हें सामान्य डिवाइसों पर खास नेटवर्क इंटरफ़ेस के लिए रिज़र्व किया गया है.
WeaveVendorId enum

टाइपडिफ़

FabricSecretRotationScheme टाइपडिफ़
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
उन डिवाइसों की कैटगरी की पहचान करता है जिनमें फ़ैब्रिक सीक्रेट हो सकता है और उसका इस्तेमाल किया जा सकता है.
WeaveAuthMode टाइपडिफ़
uint16_t
यह पता लगाता है कि पीयर नोड की पुष्टि कैसे की जाती है.
WeaveEncryptionKey टाइपडिफ़
WeaveEncryptionType टाइपडिफ़
enum nl::Weave::WeaveEncryptionType
Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने के तरीके.
WeaveExchangeFlags टाइपडिफ़
enum nl::Weave::WeaveExchangeFlags
Weave Exchange हेडर फ़्लैग की बिट.
WeaveExchangeVersion टाइपडिफ़
enum nl::Weave::WeaveExchangeVersion
Weave Exchange हेडर वर्शन.
WeaveMessageFlags टाइपडिफ़
enum nl::Weave::WeaveMessageFlags
इनबाउंड या आउटबाउंड Weave मैसेज से जुड़े फ़्लैग.
WeaveMessageHeader टाइपडिफ़
WeaveMessageVersion टाइपडिफ़
enum nl::Weave::WeaveMessageVersion
Weave मैसेज के फ़ॉर्मैट का वर्शन.
WeaveSubnetId टाइपडिफ़
enum nl::Weave::WeaveSubnetId
Weave में कुछ ऐसे सबनेट नंबर हैं जिन्हें सामान्य डिवाइसों पर खास नेटवर्क इंटरफ़ेस के लिए रिज़र्व किया गया है.

वैरिएबल

ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager
FabricState
NL_DLL_EXPORT WeaveFabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager
WeaveConnection
class NL_DLL_EXPORT
WeaveExchangeManager
class NL_DLL_EXPORT
WeaveMessageLayer
class NL_DLL_EXPORT
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
const WRMPConfig
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
const uint8_t
कुंजी इकट्ठा करने की सुविधा देने वाली कुंजी का इस्तेमाल, Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने की कुंजी बनाने के लिए किया जाता है.

फ़ंक्शन

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
पुष्टि करने वाले मोड से जुड़े ऐप्लिकेशन ग्रुप का मास्टर कुंजी आईडी दिखाता है.
CASEAuthMode(uint8_t certType)
WeaveAuthMode
दिए गए सर्टिफ़िकेट टाइप के लिए, CASE पुष्टि करने वाला मोड दिखाता है.
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
दिए गए प्रमाणीकरण मोड के लिए पासवर्ड स्रोत देता है.
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
void
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
uint16_t
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
const char *
FindProfileName(uint32_t inProfileId)
const char *
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
bool
Weave की गड़बड़ी को देखते हुए, गड़बड़ी के बारे में ऐसी सी स्ट्रिंग दिखाता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. इस स्ट्रिंग को खत्म किया जा चुका है.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
रैंडम वीव नोड आईडी जनरेट करें.
GetFibonacciForIndex(uint32_t index)
uint32_t
यह फ़ंक्शन, दिए गए 32 बिट इंडेक्स के लिए 32-बिट फ़ाइबोनाशी नंबर जनरेट करता है.
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
यह फ़ंक्शन, 16-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.
GetRandU32(void)
uint32_t
यह फ़ंक्शन 32-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.
GetRandU64(void)
uint64_t
यह फ़ंक्शन, 64-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.
GetRandU8(void)
uint8_t
यह फ़ंक्शन 8-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
दिए गए कुंजी आईडी के लिए, संबंधित ग्रुप कुंजी की पुष्टि करने वाला मोड दिखाता है.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
आईपीवी6 पता इंटरफ़ेस आइडेंटिफ़ायर को Weave नोड आइडेंटिफ़ायर में बदलें.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
अगर पुष्टि करने का मोड, Weave CASE प्रोटोकॉल पर आधारित है, तो वैल्यू 'सही' होगी.
IsCertAuthMode(WeaveAuthMode authMode)
bool
अगर पुष्टि करने वाला मोड, सर्टिफ़िकेट से जुड़ी निजी कुंजी के मालिकाना हक पर आधारित है, तो वैल्यू 'सही' होगी.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
अगर प्रमाणीकरण मोड किसी शेयर की गई समूह कुंजी के पास आधारित है, तो सही है.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
अगर पुष्टि करने वाला मोड, Weave PASE प्रोटोकॉल पर आधारित है, तो वैल्यू 'सही' होगी.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
अगर पुष्टि करने वाला मोड, शेयर किए गए पासवर्ड पर आधारित है, तो वैल्यू 'सही' होगी.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
अगर पुष्टि करने वाला मोड, Weave Take प्रोटोकॉल पर आधारित है, तो वैल्यू 'सही' होगी.
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
bool
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
PASEAuthMode(uint8_t pwSource)
WeaveAuthMode
दिए गए पासवर्ड सोर्स के लिए, PASE की पुष्टि करने वाला मोड दिखाता है.
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
दिए गए पुष्टि करने वाले मोड के लिए पासवर्ड का सोर्स दिखाता है.
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
void
ToHex(const uint8_t data)
char
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
void
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
void
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
uint64_t
Weave फ़ैब्रिक आइडेंटिफ़ायर को आईपीवी6 यूएलए ग्लोबल आइडेंटिफ़ायर में बदलें.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
रोका गया, इसके बजाय WeaveMessageLayer::GetPeerDescription() का इस्तेमाल करें.
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
रोका गया, इसके बजाय WeaveMessageLayer::GetPeerDescription() का इस्तेमाल करें.
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave नोड आइडेंटिफ़ायर को IPv6 पता इंटरफ़ेस आइडेंटिफ़ायर में बदलें.
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

क्लास

nl::Weave::Binding

यह नीति Weave कम्यूनिकेशन और उससे जुड़े कॉन्फ़िगरेशन की जानकारी के टारगेट को कैप्चर करती है.

nl::Weave::Counter

काउंटर को पूर्णांक वैल्यू के तौर पर मैनेज करने के लिए इंटरफ़ेस.

nl::Weave::ExchangeContext

यह क्लास, दो या उससे ज़्यादा नोड के बीच चल रही बातचीत (ExchangeContext) को दिखाती है.

nl::Weave::FabricStateDelegate

इस ऐब्सट्रैक्ट डेलिगेट क्लास में, कपड़े की स्थिति में होने वाले बदलावों के बारे में बताया गया है.

nl::Weave::HostPortList

होस्ट पोर्ट सूची को मैनेज करने और उसमें बदलाव करने के लिए, यह वीव सर्विस डायरेक्ट्री से जुड़े होस्ट और पोर्ट आइडेंटिफ़ायर टुपल का छोटा और बाइनरी कोड में बदला गया संग्रह है.

nl::Weave::JNIUtils
nl::Weave::MonotonicallyIncreasingCounter

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

nl::Weave::PersistedCounter

काउंटर को पूर्णांक वैल्यू के तौर पर मैनेज करने की क्लास. इसे सभी रीबूट (फिर से चालू) के दौरान लागू रखा जाता है.

nl::Weave::WeaveConnection

वीव कनेक्शन क्लास की परिभाषा.

nl::Weave::WeaveConnectionTunnel

WeaveConnectionTunnel क्लास की परिभाषा, जो TCPEndPoints के ऐसे जोड़े को मैनेज करती है जिनके मूल WeaveConnections को जोड़ा गया है और जिनके बीच WeaveMessageLayer सभी डेटा और कनेक्शन बंद होने को फ़ॉरवर्ड करता है.

nl::Weave::WeaveEncryptionKey_AES128CTRSHA1
nl::Weave::WeaveExchangeHeader

यह किसी ExchangeContext में किसी खास Weave मैसेज की Weave प्रोफ़ाइल और मैसेज टाइप तय करता है.

nl::Weave::WeaveExchangeManager

इस क्लास का इस्तेमाल ExchangeContexts को अन्य Weave नोड के साथ मैनेज करने के लिए किया जाता है.

nl::Weave::WeaveFabricState

WeaveFabricState के बारे में फ़ॉरवर्ड एलान.

nl::Weave::WeaveKeyId

Weave की आइडेंटिफ़ायर की परिभाषा.

nl::Weave::WeaveMessageLayer

WeaveMessageLayer क्लास की परिभाषा, जो अन्य Weave नोड के साथ कम्यूनिकेशन को मैनेज करती है.

nl::Weave::WeaveMsgEncryptionKey

इसमें Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने की कुंजी के बारे में जानकारी होती है.

nl::Weave::WeaveMsgEncryptionKeyCache

Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने वाली कुंजियों के लिए कैश मेमोरी.

nl::Weave::WeaveSecurityManager
nl::Weave::WeaveServerBase

यह आम तौर पर, Weave प्रोफ़ाइल के अनचाहे रिस्पॉन्सर (सर्वर) लागू करने के लिए एक बेस ऑब्जेक्ट होता है. इसमें, पुष्टि किए गए अनुरोधों की पुष्टि करने और स्टेटस रिपोर्ट भेजने की सुविधा शामिल होती है. साथ ही, कपड़े की स्थिति और एक्सचेंज मैनेजर के लिए, डेटा सदस्य का डेटा भी शेयर किया जाता है.

nl::Weave::WeaveServerDelegateBase

Weave सर्वर डेलिगेट ऑब्जेक्ट को लागू करने के लिए एक सामान्य बेस क्लास.

nl::Weave::WeaveSessionKey

इसमें Weave सेशन की कुंजी के बारे में जानकारी होती है.

nl::Weave::WeaveSessionState

किसी दूसरे नोड से मैसेज भेजने/पाने के लिए ज़रूरी कम्यूनिकेशन की स्थिति बताता है.

स्ट्रक्चर

nl::Weave::JNILibraryMethod
nl::Weave::WRMPConfig

WRMP कॉन्फ़िगरेशन.

nl::Weave::WeaveMessageInfo

Weave मैसेज के बारे में जानकारी, जिसे भेजने या पाने की प्रोसेस जारी है.

यूनियन

nl::Weave::WeaveEncryptionKey

नाम स्थान

nl::Weave::ASN1

इस नेमस्पेस में, Weave के वे सभी इंटरफ़ेस शामिल हैं जो ऐब्स्ट्रैक्ट सिंटैक्स नोटेशन वन (ASN.1) के साथ काम करने के लिए मौजूद हैं.

nl::Weave::Crypto

इस नेमस्पेस में, शेयर किए गए क्रिप्टोग्राफ़िक सपोर्ट के लिए Weave के सभी इंटरफ़ेस शामिल हैं.

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::Encoding

यह नेमस्पेस इनके लिए फ़ंक्शन उपलब्ध कराता है:

nl::Weave::Logging

इस नेमस्पेस में, शेयर की गई लॉगिंग सपोर्ट के लिए Weave के सभी इंटरफ़ेस शामिल हैं.

nl::Weave::Platform
nl::Weave::Profiles

इस नेमस्पेस में, Weave for Weave प्रोफ़ाइलों के लिए सभी इंटरफ़ेस शामिल हैं. इनमें सामान्य और Nest Labs से जुड़े वेंडर के लिए, दोनों तरह के इंटरफ़ेस शामिल हैं.

nl::Weave::SecuritySupport
nl::Weave::Stats
nl::Weave::Support
nl::Weave::System
nl::Weave::TLV

Weave TLV फ़ॉर्मैट में एन्कोड किए गए डेटा के साथ काम करने की परिभाषाएं.

nl::Weave::Warm

इस नेमस्पेस में Weave पते और रूटिंग मॉड्यूल के लिए इंटरफ़ेस शामिल हैं, जो Weave आईपी पतों और रूट को कॉन्फ़िगर करने के लिए एक पोर्टेबल मॉड्यूल है.

इन्यूमरेशन

@21

 @21
प्रॉपर्टी
kFlagAckPending

क्या भेजे जा रहे मैसेज पर जवाब मिलने की उम्मीद है.

kFlagAutoReleaseConnection

एक्सचेंज कॉन्टेक्स्ट खाली होने पर, मैसेज को एन्क्रिप्ट करने की कुंजी अपने-आप रिलीज़ हो जाती है.

kFlagAutoReleaseKey

जब नीति को सेट किया जाता है, तो इसका मतलब है कि इस एक्सचेंज के संदर्भ में मिलते-जुलते ऐप्लिकेशन से कम से कम एक मैसेज मिला है.

kFlagAutoRequestAck

यह कॉन्टेक्स्ट WeaveConnection से जुड़ा था.

kFlagConnectionClosed

यह कॉन्टेक्स्ट, एक्सचेंज की शुरुआत करता है.

kFlagDropAck

अगर नीति को सेट किया जाता है, तो यूडीपी के ज़रिए मैसेज भेजे जाने पर, शिकायत स्वीकार करने का अनुरोध अपने-आप किया जाएगा.

kFlagMsgRcvdFromPeer

जब यह नीति सेट की जाती है, तो इसका मतलब है कि इस एक्सचेंज पर मिले कम से कम एक मैसेज ने स्वीकार करने का अनुरोध किया है.

इस फ़्लैग को ऐप्लिकेशन यह तय करता है कि भेजे जाने वाले जवाब के लिए स्वीकार करने का अनुरोध करने की ज़रूरत है या नहीं. इस फ़्लैग से यह भी पता चल सकता है कि आपका साथी, WRMP का इस्तेमाल कर रहा है या नहीं.

kFlagPeerRequestedAck

जब सेट किया जाता है, तो इसका मतलब है कि किसी शिकायत को स्वीकार करना बाकी है.

kFlagResponseExpected

सिर्फ़ इंटरनल और डीबग के लिए: सेट किए जाने पर, एक्सचेंज लेयर ऐक्सेस की पुष्टि नहीं करती.

kFlagUseEphemeralUDPPort

एक्सचेंज कॉन्टेक्स्ट फ़्री होने पर, इससे जुड़े WeaveConnection को अपने-आप रिलीज़ कर दें.

@36

 @36

@37

 @37

@38

 @38
प्रॉपर्टी
kFabricIdDefaultForTest

डिफ़ॉल्ट फ़ैब्रिक आईडी, जिसका इस्तेमाल सिर्फ़ जांच के लिए किया जाना चाहिए.

@39

 @39

इससे सर्टिफ़िकेट के मकसद या उसे लागू करने के बारे में पता चलता है.

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

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

प्रॉपर्टी
kCertType_AccessToken

Weave ऐक्सेस टोकन का सर्टिफ़िकेट.

kCertType_AppDefinedBase

ऐप्लिकेशन के खास सर्टिफ़िकेट टाइप के लिए, >= इस वैल्यू की वैल्यू होनी चाहिए.

kCertType_CA

CA सर्टिफ़िकेट.

kCertType_Device

Weave डिवाइस सर्टिफ़िकेट.

kCertType_FirmwareSigning

Weave फ़र्मवेयर साइनिंग सर्टिफ़िकेट.

kCertType_General

सर्टिफ़िकेट सामान्य या खास तरह का होता है.

kCertType_Max

प्रमाणपत्र के प्रकार इस मान से ज़्यादा नहीं होने चाहिए.

kCertType_NotSpecified

प्रमाणपत्र का प्रकार तय नहीं किया गया है.

kCertType_ServiceEndpoint

Weave सेवा एंडपॉइंट सर्टिफ़िकेट.

@40

 @40

पासवर्ड आधारित प्रमाणीकरण प्रोटोकॉल में इस्तेमाल किए गए पासवर्ड के स्रोत की पहचान करता है (जैसे

वीव PASE)

@41

 @41
प्रॉपर्टी
kWeaveAuthModeCategory_AppDefinedBase

ऐप्लिकेशन की ओर से तय की गई पुष्टि करने की कैटगरी के लिए बेस वैल्यू.

kWeaveAuthModeCategory_CASE

Weave CASE प्रोटोकॉल का इस्तेमाल करके, पीयर की पुष्टि की गई.

kWeaveAuthModeCategory_General

किसी एक सामान्य तरीके का इस्तेमाल करके, मिलते-जुलते ऐप्लिकेशन की पुष्टि की गई.

kWeaveAuthModeCategory_GroupKey

शेयर किए गए ग्रुप कुंजी का इस्तेमाल करके, पीयर की पुष्टि की गई.

kWeaveAuthModeCategory_PASE

Weave PASE प्रोटोकॉल का इस्तेमाल करके, पीयर की पुष्टि की गई.

kWeaveAuthModeCategory_TAKE

Weave Take प्रोटोकॉल का इस्तेमाल करके पीयर की पुष्टि की गई.

kWeaveAuthMode_CASE_AccessToken

Weave ऐक्सेस टोकन सर्टिफ़िकेट के साथ CASE का इस्तेमाल करके, पीयर की पुष्टि की गई.

kWeaveAuthMode_CASE_AnyCert

CASE का इस्तेमाल करके, आर्बिट्रेरी सर्टिफ़िकेट या अज्ञात टाइप के सर्टिफ़िकेट से पीयर की पुष्टि की गई.

kWeaveAuthMode_CASE_Device

Weave डिवाइस सर्टिफ़िकेट के साथ CASE का इस्तेमाल करके, पीयर की पुष्टि की गई.

kWeaveAuthMode_CASE_GeneralCert

CASE का इस्तेमाल करके, सामान्य या खास सर्टिफ़िकेट टाइप के साथ पीयर की पुष्टि की गई.

kWeaveAuthMode_CASE_ServiceEndPoint

Weave सेवा एंडपॉइंट सर्टिफ़िकेट के साथ CASE का इस्तेमाल करके, पीयर की पुष्टि की गई.

kWeaveAuthMode_NotSpecified

प्रमाणीकरण मोड मौजूद नहीं है.

kWeaveAuthMode_PASE_PairingCode

डिवाइस जोड़ने के कोड की मदद से, PASE की मदद से पीयर की पुष्टि की गई.

kWeaveAuthMode_TAKE_IdentificationKey

टोकन की पहचान करने वाली कुंजी की मदद से, Take का इस्तेमाल करके पीयर की पुष्टि की गई.

kWeaveAuthMode_Unauthenticated

पीयर की पुष्टि नहीं हुई है.

@42

 @42
प्रॉपर्टी
kFabricSecretScope_All

सभी डिवाइसों में एक जैसा फ़ैब्रिक हो सकता है.

@43

 @43
प्रॉपर्टी
kTestKey_AES128CTRSHA1_DataKeyByte

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

kTestKey_AES128CTRSHA1_IntegrityKeyByte

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

@44

 @44

मैसेज को एन्क्रिप्ट (सुरक्षित) करने की ऐप्लिकेशन कुंजी के अलग-अलग साइज़ सेट करें.

@45

 @45

@53

 @53

@54

 @54
प्रॉपर्टी
kWeavePeerDescription_MaxLength

स्ट्रिंग की ज़्यादा से ज़्यादा लंबाई (NUL वर्ण सहित) WeaveMessageLayer::GetPeerDescription() की मदद से.

@55

 @55

कोड में बदले गए Weave मैसेज के हेडर से जुड़ी परिभाषाएं.

प्रॉपर्टी
kWeaveHeaderFlag_DestNodeId

इससे पता चलता है कि डेस्टिनेशन नोड आईडी, Weave मैसेज के हेडर में मौजूद है.

kWeaveHeaderFlag_MsgCounterSyncReq

इससे पता चलता है कि भेजने वाले ने मैसेज काउंटर सिंक करने का अनुरोध किया है.

kWeaveHeaderFlag_SourceNodeId

इससे पता चलता है कि Weave मैसेज के हेडर में सोर्स नोड आईडी मौजूद है.

kWeaveHeaderFlag_TunneledData

इससे पता चलता है कि Weave मैसेज पेलोड, टनल किया गया आईपी पैकेट है.

@56

 @56

आईईईई ईयूआई-64 आइडेंटिफ़ायर के लिए बिट फ़ील्ड की परिभाषाएं.

प्रॉपर्टी
kEUI64_IG_Group

व्यक्तिगत/ग्रुप बिट वैल्यू, जो ग्रुप पते के ईयूआई-64 आइडेंटिफ़ायर को दिखाती है.

kEUI64_IG_Individual

व्यक्तिगत/ग्रुप बिट वैल्यू, जो किसी व्यक्तिगत पते EUI-64 आइडेंटिफ़ायर को दिखाती है.

kEUI64_IG_Mask

EUI-64 आइडेंटिफ़ायर में मौजूद व्यक्ति/ग्रुप (I/G) बिट के लिए बिटमास्क.

वैल्यू 0 होने का मतलब है कि आईडी एक व्यक्तिगत पता है. वैल्यू 1 होने का मतलब है कि आईडी, ग्रुप का एक पता है.

kEUI64_UL_Local

यूनिवर्सल/लोकल बिट वैल्यू, जो स्थानीय तौर पर मैनेज किए जाने वाले EUI-64 आइडेंटिफ़ायर को दिखाती है.

kEUI64_UL_Mask

ईयूआई-64 आइडेंटिफ़ायर में मौजूद यूनिवर्सल/लोकल (U/L) बिट के लिए बिटमास्क.

वैल्यू 0 होने का मतलब है कि आईडी को दुनिया भर में (दुनिया भर में) मैनेज किया जाता है. वैल्यू 1 होने का मतलब है कि आईडी को स्थानीय तौर पर मैनेज किया जाता है.

kEUI64_UL_Unversal

यूनिवर्सल/लोकल बिट वैल्यू, जो यूनिवर्सल तरीके से मैनेज किए जाने वाले EUI-64 आइडेंटिफ़ायर को दिखाती है.

@57

 @57

Weave नोड आईडी की खास रेंज.

प्रॉपर्टी
kMaxAlwaysLocalWeaveNodeId

इस वैल्यू से कम या इसके बराबर वाले वीव नोड आइडेंटिफ़ायर को टेस्ट की सुविधा के लिए लोकल माना जाता है.

WeaveEncryptionType

 WeaveEncryptionType

Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने के तरीके.

प्रॉपर्टी
kWeaveEncryptionType_AES128CTRSHA1

मैसेज को HMAC-SHA-1 मैसेज के साथ पूरी सुरक्षा देने की सुविधा के साथ, AES-128-CTR एन्क्रिप्शन का इस्तेमाल करके एन्क्रिप्ट (सुरक्षित) किया गया.

kWeaveEncryptionType_None

मैसेज एन्क्रिप्ट (सुरक्षित) नहीं किया गया है.

WeaveExchangeFlags

 WeaveExchangeFlags

Weave Exchange हेडर फ़्लैग की बिट.

प्रॉपर्टी
kWeaveExchangeFlag_AckId

यह सेट करें कि मौजूदा मैसेज, पहले मिले मैसेज को स्वीकार करने के लिए कब इस्तेमाल किया जाए.

kWeaveExchangeFlag_Initiator

यह सेट करें कि एक्सचेंज शुरू करने वाले व्यक्ति ने मौजूदा मैसेज कब भेजा हो.

kWeaveExchangeFlag_NeedsAck

यह सेट करें कि मौजूदा मैसेज, पाने वाले से शिकायत स्वीकार करने का अनुरोध कब करे.

WeaveExchangeVersion

 WeaveExchangeVersion

Weave Exchange हेडर वर्शन.

WeaveMessageFlags

 WeaveMessageFlags

इनबाउंड या आउटबाउंड Weave मैसेज से जुड़े फ़्लैग.

यहां बताई गई वैल्यू, WeaveMessageInfo.Flags फ़ील्ड में इस्तेमाल करने के लिए हैं.

प्रॉपर्टी
kWeaveMessageFlag_DefaultMulticastSourceAddress

इससे पता चलता है कि आईपीवी6 मल्टीकास्ट मैसेज भेजने के लिए, डिफ़ॉल्ट आईपीवी6 सोर्स पते का इस्तेमाल किया जाना चाहिए.

kWeaveMessageFlag_DelaySend

इससे पता चलता है कि मैसेज भेजने में देर होनी चाहिए.

kWeaveMessageFlag_DestNodeId

इससे पता चलता है कि डेस्टिनेशन नोड आईडी, Weave मैसेज के हेडर में मौजूद है.

kWeaveMessageFlag_DuplicateMessage

यह बताता है कि मैसेज, पहले मिल चुके मैसेज का डुप्लीकेट है.

kWeaveMessageFlag_FromInitiator

इससे पता चलता है कि मैसेज का सोर्स, Weave एक्सचेंज को शुरू करता है.

kWeaveMessageFlag_MessageEncoded

इससे पता चलता है कि Weave मैसेज को पहले ही कोड में बदला जा चुका है.

kWeaveMessageFlag_MsgCounterSyncReq

इससे पता चलता है कि भेजने वाले ने पीयर के मैसेज काउंटर सिंक करने का अनुरोध किया है.

kWeaveMessageFlag_MulticastFromLinkLocal

kWeaveMessageFlag_DefaultMulticastSourceAddress के लिए बहिष्कृत किया गया उपनाम.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

इससे पता चलता है कि मिलते-जुलते ऐप्लिकेशन के ग्रुप की कुंजी के मैसेज काउंटर को सिंक नहीं किया गया है.

kWeaveMessageFlag_PeerRequestedAck

इससे पता चलता है कि मैसेज भेजने वाले व्यक्ति ने फ़ाइल को स्वीकार करने का अनुरोध किया है.

kWeaveMessageFlag_RetainBuffer

इससे पता चलता है कि मैसेज भेजने के बाद, उसका बफ़र खाली नहीं किया जाना चाहिए.

kWeaveMessageFlag_ReuseMessageId

इससे पता चलता है कि मौजूदा मैसेज आइडेंटिफ़ायर को फिर से इस्तेमाल करना ज़रूरी है.

kWeaveMessageFlag_ReuseSourceId

इससे पता चलता है कि मौजूदा सोर्स नोड आइडेंटिफ़ायर का फिर से इस्तेमाल किया जाना चाहिए.

kWeaveMessageFlag_SourceNodeId

इससे पता चलता है कि Weave मैसेज के हेडर में सोर्स नोड आईडी मौजूद है.

kWeaveMessageFlag_TunneledData

इससे पता चलता है कि Weave मैसेज पेलोड, टनल किया गया आईपी पैकेट है.

kWeaveMessageFlag_ViaEphemeralUDPPort

इससे पता चलता है कि लोकल इफ़ेमरल यूडीपी पोर्ट से मैसेज भेजा/पाया जा रहा है.

WeaveMessageVersion

 WeaveMessageVersion

Weave मैसेज के फ़ॉर्मैट का वर्शन.

Weave मैसेज के लिए ज़रूरी फ़्रेम फ़ॉर्मैट के आधार पर, मैसेज का सही वर्शन चुनेगा. डिफ़ॉल्ट रूप से, मैसेज का वर्शन kWeaveMessageVersion_V1 है. उदाहरण के लिए, Weaveगैर-ज़रूरी मैसेज सेवा का इस्तेमाल करते समय, उसका वर्शन kWeaveMessageVersion_V2 है.

प्रॉपर्टी
kWeaveMessageVersion_Unspecified

मैसेज का वर्शन तय नहीं किया गया है.

kWeaveMessageVersion_V1

मैसेज हेडर के फ़ॉर्मैट का वर्शन V1.

kWeaveMessageVersion_V2

मैसेज हेडर के फ़ॉर्मैट का वर्शन V2.

WeaveSubnetId

 WeaveSubnetId

Weave में कुछ ऐसे सबनेट नंबर हैं जिन्हें सामान्य डिवाइसों पर खास नेटवर्क इंटरफ़ेस के लिए रिज़र्व किया गया है.

ये संख्याएं यहां सांकेतिक स्थिरांक को दी गई हैं. इन सबनेट नंबर का इस्तेमाल Weave करता है. इनका इस्तेमाल आईपीवी6 यूएलए पतों को सही इंटरफ़ेस पर कॉन्फ़िगर करने के लिए किया जाता है.

प्रॉपर्टी
kWeaveSubnetId_MobileDevice

सभी मोबाइल डिवाइसों के लिए सबनेट आइडेंटिफ़ायर.

kWeaveSubnetId_NotSpecified

वैल्यू को अनिर्दिष्ट या शून्य के रूप में रिज़र्व किया गया है.

kWeaveSubnetId_PrimaryWiFi

वाई-फ़ाई रेडियो इंटरफ़ेस सबनेट नंबर.

kWeaveSubnetId_Service

Nest Service एंडपॉइंट के लिए सबनेट आइडेंटिफ़ायर.

kWeaveSubnetId_ThreadAlarm

Thread अलार्म रेडियो इंटरफ़ेस का सबनेट नंबर.

kWeaveSubnetId_ThreadMesh

Thread मेश रेडियो इंटरफ़ेस सबनेट आइडेंटिफ़ायर.

kWeaveSubnetId_WiFiAP

लोकल वाई-फ़ाई एपी इंटरफ़ेस का सबनेट नंबर.

WeaveVendorId

 WeaveVendorId

टाइपडिफ़

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

उन डिवाइसों की कैटगरी की पहचान करता है जिनमें फ़ैब्रिक सीक्रेट हो सकता है और उसका इस्तेमाल किया जा सकता है.

WeaveAuthMode

uint16_t WeaveAuthMode

यह पता लगाता है कि पीयर नोड की पुष्टि कैसे की जाती है.

WeaveAuthMode उस तरीके के बारे में बताता है जिससे Weave मैसेज एक्सचेंज के दौरान पीयर नोड की पुष्टि की गई है या होनी चाहिए. शुरुआती तौर पर, ऐप्लिकेशन किसी एक्सचेंज के लिए पीयर ऑथेंटिकेशन मोड को सही तरीके से दिखाने के लिए WeaveAuthMode का इस्तेमाल करते हैं. इससे, Weave की सुरक्षा और मैसेज सेवा को ज़रूरी मोड पाने या कम्यूनिकेशन में गड़बड़ी का निर्देश मिलता है. रिस्पॉन्स देने वाले कॉन्टेक्स्ट में, WeaveAuthMode यह पहचान करता है कि अनुरोध करने वाले नोड (पीयर) की पुष्टि कैसे की गई. इससे, जवाब देने वाले ऐप्लिकेशन को इस जानकारी के आधार पर ऐक्सेस कंट्रोल लागू करने की अनुमति मिलती है.

आने वाले Weave मैसेज के लिए असाइन किया गया WeaveAuthMode, मैसेज को एन्क्रिप्ट (सुरक्षित) करने के लिए इस्तेमाल की गई कुंजी से जुड़ा होता है. WeaveAuthMode इसे बनाने के लिए जिस तरीके का इस्तेमाल किया जाता है उससे कुंजी बनाई जाती है. साथ ही, इसे उस प्रक्रिया से भी लिया जाता है जिसका इस्तेमाल कुंजी की स्थापना के समय, बातचीत करने वाले पक्षों की पहचान की पुष्टि करने के लिए किया जाता था.

WeaveAuthMode में, पुष्टि करने के सामान्य मोड के बारे में पहले से तय की गई वैल्यू का एक सेट शामिल होता है. इन्हें मुख्य समझौते के तरीकों (CASE, PASE, GroupKey वगैरह) के हिसाब से बांटा गया है. डेवलपर ऐप्लिकेशन के लिए खास मोड तय करके WeaveAuthMode को विस्तार दे सकते हैं, जिसे वे खास एन्क्रिप्शन कुंजियों के साथ अटैच कर सकते हैं.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने के तरीके.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Weave Exchange हेडर फ़्लैग की बिट.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Weave Exchange हेडर वर्शन.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

इनबाउंड या आउटबाउंड Weave मैसेज से जुड़े फ़्लैग.

यहां बताई गई वैल्यू, WeaveMessageInfo.Flags फ़ील्ड में इस्तेमाल करने के लिए हैं.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Weave मैसेज के फ़ॉर्मैट का वर्शन.

Weave मैसेज के लिए ज़रूरी फ़्रेम फ़ॉर्मैट के आधार पर, मैसेज का सही वर्शन चुनेगा. डिफ़ॉल्ट रूप से, मैसेज का वर्शन kWeaveMessageVersion_V1 है. उदाहरण के लिए, Weaveगैर-ज़रूरी मैसेज सेवा का इस्तेमाल करते समय, उसका वर्शन kWeaveMessageVersion_V2 है.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave में कुछ ऐसे सबनेट नंबर हैं जिन्हें सामान्य डिवाइसों पर खास नेटवर्क इंटरफ़ेस के लिए रिज़र्व किया गया है.

ये संख्याएं यहां सांकेतिक स्थिरांक को दी गई हैं. इन सबनेट नंबर का इस्तेमाल Weave करता है. इनका इस्तेमाल आईपीवी6 यूएलए पतों को सही इंटरफ़ेस पर कॉन्फ़िगर करने के लिए किया जाता है.

वैरिएबल

ExchangeMgr

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

FabricState

NL_DLL_EXPORT WeaveFabricState FabricState

MessageLayer

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

SecurityMgr

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

WeaveConnection

class NL_DLL_EXPORT WeaveConnection

WeaveExchangeManager

class NL_DLL_EXPORT WeaveExchangeManager

WeaveMessageLayer

class NL_DLL_EXPORT WeaveMessageLayer

gDefaultWRMPConfig

const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }

kWeaveMsgEncAppKeyDiversifier

const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }

कुंजी इकट्ठा करने की सुविधा देने वाली कुंजी का इस्तेमाल, Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने की कुंजी बनाने के लिए किया जाता है.

यह वैल्यू "Nest Weave Message EK and AK" के SHA-1 HASH की पहली 4 बाइट दिखाती है वाक्यांश.

फ़ंक्शन

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

पुष्टि करने वाले मोड से जुड़े ऐप्लिकेशन ग्रुप का मास्टर कुंजी आईडी दिखाता है.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

दिए गए सर्टिफ़िकेट टाइप के लिए, CASE पुष्टि करने वाला मोड दिखाता है.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

दिए गए पुष्टि करने वाले मोड के लिए पासवर्ड का सोर्स दिखाता है.

DecodeHeaderField

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

DefaultOnMessageReceived

void DefaultOnMessageReceived(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

EncodeHeaderField

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

FindMessageName

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

FindProfileName

const char * FindProfileName(
  uint32_t inProfileId
)

FormatWeaveError

bool FormatWeaveError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

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

ब्यौरा
पैरामीटर
[in] buf
वह बफ़र जिसमें गड़बड़ी वाली स्ट्रिंग डाली जाएगी.
[in] bufSize
दिए गए बफ़र का साइज़ बाइट में.
[in] err
वह गड़बड़ी जिसके बारे में जानकारी चाहिए.
लौटाए जाने वाले प्रॉडक्ट
सही है अगर दिए गए बफ़र में कोई ब्यौरा स्ट्रिंग लिखी गई थी.
लौटाए जाने वाले प्रॉडक्ट
गलत है अगर दी गई गड़बड़ी Weave गड़बड़ी नहीं थी.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

रैंडम वीव नोड आईडी जनरेट करें.

यह फ़ंक्शन, स्थानीय तौर पर 64-बिट का यूनीक वीव नोड आईडी जनरेट करता है. यह फ़ंक्शन, जनरेट की गई वैल्यू की यूनीक वैल्यू की गारंटी देने के लिए, क्रिप्टोग्राफ़िक तौर पर मज़बूत रैंडम डेटा सोर्स का इस्तेमाल करता है. ध्यान दें कि जनरेट किए गए Weave नोड के बिट 57 को यह बताने के लिए 1 पर सेट किया गया है कि जनरेट किया गया Weave नोड आईडी स्थानीय तौर पर (दुनिया भर में नहीं) यूनीक है.

ब्यौरा
पैरामीटर
nodeId
64-बिट वीव नोड आईडी का रेफ़रंस.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर Weave नोड आईडी सफलतापूर्वक जनरेट हुआ था.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

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

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
32-बिट अहस्ताक्षरित फिबोनाशी नंबर.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

यह फ़ंक्शन, 16-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
16-बिट साइन नहीं किया गया रैंडम पूर्णांक.

GetRandU32

uint32_t GetRandU32(
  void
)

यह फ़ंक्शन 32-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
32-बिट साइन नहीं किया गया रैंडम पूर्णांक.

GetRandU64

uint64_t GetRandU64(
  void
)

यह फ़ंक्शन, 64-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
64-बिट साइन नहीं किया गया रैंडम पूर्णांक.

GetRandU8

uint8_t GetRandU8(
  void
)

यह फ़ंक्शन 8-बिट बिना साइन इन वाला रैंडम नंबर जनरेट करता है.

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
8-बिट साइन नहीं किया गया रैंडम पूर्णांक.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

दिए गए कुंजी आईडी के लिए, संबंधित ग्रुप कुंजी की पुष्टि करने वाला मोड दिखाता है.

आईपीवी6इंटरफ़ेसIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

आईपीवी6 पता इंटरफ़ेस आइडेंटिफ़ायर को Weave नोड आइडेंटिफ़ायर में बदलें.

जांच की सुविधा के तौर पर, #kMaxLocalWeaveNodeId (65535) से कम या बराबर के नोड आइडेंटिफ़ायर को 'लोकल' माना जाता है और उनका यूनिवर्सल/लोकल बिट शून्य पर सेट होता है. इससे, आईपीवी6 पतों की स्ट्रिंग को आसानी से दिखाया जा सकता है. उदाहरण के लिए, नोड आइडेंटिफ़ायर 10 के लिए ULA FD00:0:1:1::A होगा.

ब्यौरा
पैरामीटर
[in] interfaceId
64 बिट इंटरफ़ेस आइडेंटिफ़ायर.
लौटाए जाने वाले प्रॉडक्ट
मैप किया गया 64 बिट वीव नोड आइडेंटिफ़ायर.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

अगर पुष्टि करने का मोड, Weave CASE प्रोटोकॉल पर आधारित है, तो वैल्यू 'सही' होगी.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

अगर पुष्टि करने वाला मोड, सर्टिफ़िकेट से जुड़ी निजी कुंजी के मालिकाना हक पर आधारित है, तो वैल्यू 'सही' होगी.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

अगर प्रमाणीकरण मोड किसी शेयर की गई समूह कुंजी के पास आधारित है, तो सही है.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

अगर पुष्टि करने वाला मोड, Weave PASE प्रोटोकॉल पर आधारित है, तो वैल्यू 'सही' होगी.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

अगर पुष्टि करने वाला मोड, शेयर किए गए पासवर्ड पर आधारित है, तो वैल्यू 'सही' होगी.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

अगर पुष्टि करने वाला मोड, Weave Take प्रोटोकॉल पर आधारित है, तो वैल्यू 'सही' होगी.

IsWRMPControlMessage

bool IsWRMPControlMessage(
  uint32_t profileId,
  uint8_t msgType
)

J2N_ByteArray

WEAVE_ERROR J2N_ByteArray(
  JNIEnv *env,
  jbyteArray inArray,
  uint8_t *& outArray,
  uint32_t & outArrayLen
)

J2N_ByteArrayFieldVal

WEAVE_ERROR J2N_ByteArrayFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  uint8_t *& outArray,
  uint32_t & outArrayLen
)

J2N_ByteArrayInPlace

WEAVE_ERROR J2N_ByteArrayInPlace(
  JNIEnv *env,
  jbyteArray inArray,
  uint8_t *outArray,
  uint32_t maxArrayLen
)

J2N_EnumFieldVal

WEAVE_ERROR J2N_EnumFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  const char *fieldType,
  int & outVal
)

J2N_EnumVal

WEAVE_ERROR J2N_EnumVal(
  JNIEnv *env,
  jobject enumObj,
  int & outVal
)

J2N_IntFieldVal

WEAVE_ERROR J2N_IntFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jint & outVal
)

J2N_LongFieldVal

WEAVE_ERROR J2N_LongFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jlong & outVal
)

J2N_ShortFieldVal

WEAVE_ERROR J2N_ShortFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jshort & outVal
)

J2N_StringFieldVal

WEAVE_ERROR J2N_StringFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  char *& outVal
)

MakeClassName

WEAVE_ERROR MakeClassName(
  const char *basePackageName,
  const char *relativeClassName,
  char *& classNameBuf
)

PASEAuthMode

WeaveAuthMode PASEAuthMode(
  uint8_t pwSource
)

दिए गए पासवर्ड सोर्स के लिए, PASE की पुष्टि करने वाला मोड दिखाता है.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

दिए गए पुष्टि करने वाले मोड के लिए पासवर्ड का सोर्स दिखाता है.

PrintTunnelInfo

void PrintTunnelInfo(
  const WeaveConnectionTunnel & tun,
  const TCPEndPoint & fromEndPoint,
  const TCPEndPoint & toEndPoint,
  const PacketBuffer & data
)

ToHex

char ToHex(
  const uint8_t data
)

ToHexString

void ToHexString(
  const uint8_t *data,
  size_t dataLen,
  char *& outBuf,
  size_t & outBufSize
)

WeaveEncryptionKeyToString

void WeaveEncryptionKeyToString(
  uint8_t encType,
  const WeaveEncryptionKey & key,
  char *buf,
  size_t bufSize
)

WeaveFabricIdToIPv6GlobalId

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Weave फ़ैब्रिक आइडेंटिफ़ायर को आईपीवी6 यूएलए ग्लोबल आइडेंटिफ़ायर में बदलें.

फ़ैब्रिक के पते के लिए यूएलए ग्लोबल आइडेंटिफ़ायर, कपड़े के 64-बिट फ़ैब्रिक आईडी के निचले 40 बिट होते हैं.

ब्यौरा
पैरामीटर
[in] fabricId
Weave के फ़ैब्रिक के लिए आइडेंटिफ़ायर.
लौटाए जाने वाले प्रॉडक्ट
मैप किया गया IPv6 ग्लोबल आइडेंटिफ़ायर.

WeaveMessageSourceToStr

void WeaveMessageSourceToStr(
  char *buf,
  uint32_t bufSize,
  const WeaveMessageInfo *msgInfo
)

रोका गया, इसके बजाय WeaveMessageLayer::GetPeerDescription() का इस्तेमाल करें.

WeaveNodeAddrToStr

void WeaveNodeAddrToStr(
  char *buf,
  uint32_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  WeaveConnection *con
)

रोका गया, इसके बजाय WeaveMessageLayer::GetPeerDescription() का इस्तेमाल करें.

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Weave नोड आइडेंटिफ़ायर को IPv6 पता इंटरफ़ेस आइडेंटिफ़ायर में बदलें.

वीव नोड आइडेंटिफ़ायर, यूनिवर्सल/लोकल ईयूआई-64 होते हैं. आरएफ़सी-3513 के मुताबिक, यूनिवर्सल/लोकल बिट (बिट 57 की मदद से एलएसबी को 0 के रूप में गिना जाता है) को इंटरफ़ेस आइडेंटिफ़ायर में बदला जाता है.

जांच की सुविधा के तौर पर, #kMaxLocalWeaveNodeId (65535) से कम या बराबर के नोड आइडेंटिफ़ायर को 'लोकल' माना जाता है और उनका यूनिवर्सल/लोकल बिट शून्य पर सेट होता है. इससे, आईपीवी6 पतों की स्ट्रिंग को आसानी से दिखाया जा सकता है. उदाहरण के लिए, नोड आइडेंटिफ़ायर 10 के लिए ULA FD00:0:1:1::A होगा.

ब्यौरा
पैरामीटर
[in] nodeId
64-बिट वीव नोड आइडेंटिफ़ायर.
लौटाए जाने वाले प्रॉडक्ट
IPv6 इंटरफ़ेस आइडेंटिफ़ायर.

अधिकतम

const _T & max(
  const _T & a,
  const _T & b
)

कम से कम

const _T & min(
  const _T & a,
  const _T & b
)