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
Weave मैसेज एन्क्रिप्शन ऐप्लिकेशन कुंजी डाइवर्सिफ़ायर आकार.
@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
IEEE EUI-64 आइडेंटिफ़ायर के लिए बिट फ़ील्ड की परिभाषाएं.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
वीव नोड आईडी की खास रेंज.
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 typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
उन डिवाइसों की कैटगरी के बारे में पता चलता है जिनमें फ़ैब्रिक सीक्रेट हो सकता है और जो इस्तेमाल किया जा सकता है.
WeaveAuthMode typedef
uint16_t
इससे पता चलता है कि पीयर नोड की पुष्टि कैसे की गई है.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Weave मैसेज को एन्क्रिप्ट (सुरक्षित) करने के तरीके.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Weave Exchange हेडर फ़्लैग बिट.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Weave Exchange हेडर वर्शन.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
इनबाउंड या आउटबाउंड Weave मैसेज से जुड़े फ़्लैग.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Weave Message फ़ॉर्मैट का वर्शन.
WeaveSubnetId typedef
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 की गड़बड़ी होने पर, गड़बड़ी के बारे में ऐसी NULL-टर्मिनेशन वाली सी स्ट्रिंग दिखती है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
रैंडम Weave नोड आईडी जनरेट करें.
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 फ़ैब्रिक के आइडेंटिफ़ायर को IPv6 ULA ग्लोबल आइडेंटिफ़ायर में बदलें.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
DEPRECATED इसके बजाय WeaveMessagelayer::GetPeerDescription() का इस्तेमाल करें.
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
DEPRECATED इसके बजाय WeaveMessagelayer::GetPeerDescription() का इस्तेमाल करें.
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave नोड आइडेंटिफ़ायर को आईपीवी6 पता इंटरफ़ेस आइडेंटिफ़ायर में बदलें.
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

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

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

एक पूर्णांक मान के रूप में एक मोनोटोनिक रूप से बढ़ते काउंटर को मैनेज करने के लिए क्लास.

nl::Weave::PersistedCounter

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

nl::Weave::WeaveConnection

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

nl::Weave::WeaveConnectionTunnel

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

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

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

nl::Weave::WeaveExchangeManager

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

nl::Weave::WeaveFabricState

WeaveFabricState की जानकारी को फ़ॉरवर्ड करें.

nl::Weave::WeaveKeyId

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

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

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

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 की प्रोफ़ाइल के सभी इंटरफ़ेस शामिल हैं. ये सभी इंटरफ़ेस सिर्फ़ Common और 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

यह पासवर्ड-आधारित पुष्टि करने के प्रोटोकॉल (जैसे कि

वीव पास)

@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

टोकन आइडेंटिफ़िकेशन कुंजी वाले टेक का इस्तेमाल करके, मिलते-जुलते ऐप्लिकेशन की पुष्टि की गई.

kWeaveAuthMode_Unauthenticated

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

@42

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

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

@43

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

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

kTestKey_AES128CTRSHA1_IntegrityKeyByte

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

@44

 @44

Weave मैसेज एन्क्रिप्शन ऐप्लिकेशन कुंजी डाइवर्सिफ़ायर आकार.

@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

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

प्रॉपर्टी
kEUI64_IG_Group

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

kEUI64_IG_Individual

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

kEUI64_IG_Mask

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

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

kEUI64_UL_Local

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

kEUI64_UL_Mask

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

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

kEUI64_UL_Unversal

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

@57

 @57

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

प्रॉपर्टी
kMaxAlwaysLocalWeaveNodeId

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

WeaveEncryptionType

 WeaveEncryptionType

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

प्रॉपर्टी
kWeaveEncryptionType_AES128CTRSHA1

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

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 Message फ़ॉर्मैट का वर्शन.

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

प्रॉपर्टी
kWeaveMessageVersion_Unspecified

अनिर्दिष्ट संदेश वर्शन.

kWeaveMessageVersion_V1

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

kWeaveMessageVersion_V2

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

WeaveSubnetId

 WeaveSubnetId

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

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

प्रॉपर्टी
kWeaveSubnetId_MobileDevice

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

kWeaveSubnetId_NotSpecified

किसी ऐसी वैल्यू के तौर पर रिज़र्व किया गया है जिसकी जानकारी नहीं है या शून्य है.

kWeaveSubnetId_PrimaryWiFi

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

kWeaveSubnetId_Service

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

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 Message फ़ॉर्मैट का वर्शन.

Weave, मैसेज के लिए ज़रूरी फ़्रेम फ़ॉर्मैट के आधार पर मैसेज का सही वर्शन चुनेगा. डिफ़ॉल्ट रूप से, मैसेज का वर्शन kWeaveMessageVersion_V1 होता है. उदाहरण के लिए, Weave Quality मैसेज का इस्तेमाल करने पर, इसका वर्शन 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 और AK" वाक्यांश के SHA-1 HASH के पहले चार बाइट को दिखाता है.

फ़ंक्शन

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 की गड़बड़ी होने पर, गड़बड़ी के बारे में ऐसी NULL-टर्मिनेशन वाली सी स्ट्रिंग दिखती है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.

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

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

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

यह फ़ंक्शन, स्थानीय तौर पर यूनीक Weave नोड के तौर पर 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
)

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

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

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

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

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

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
)

WeaveFabricIdToIPv6ग्लोबल आईडी

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Weave फ़ैब्रिक के आइडेंटिफ़ायर को IPv6 ULA ग्लोबल आइडेंटिफ़ायर में बदलें.

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

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

WeaveMessageSourceToStr

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

DEPRECATED इसके बजाय WeaveMessagelayer::GetPeerDescription() का इस्तेमाल करें.

WeaveNodeAddrToStr

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

DEPRECATED इसके बजाय WeaveMessagelayer::GetPeerDescription() का इस्तेमाल करें.

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

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

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

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

जानकारी
पैरामीटर
[in] nodeId
64-बिट वीव नोड आइडेंटिफ़ायर.
लौटाए गए सामान
आईपीवी6 इंटरफ़ेस आइडेंटिफ़ायर की वैल्यू दिखाता है.

ज़्यादा से ज़्यादा

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

न्यून

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