nl:: बुनाई

खास जानकारी

गिनती

@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 messages एन्क्रिप्शन ऐप्लिकेशन कुंजी का विविधता आकार.
@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 ईयूआई-64 आइडेंटिफ़ायर के लिए बिट फ़ील्ड की परिभाषाएं.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Weave Node Ids की खास रेंज.
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 Message फ़ॉर्मैट का वर्शन.
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 गड़बड़ी होने पर, गड़बड़ी की जानकारी देने वाली NULL-टर्मिनेटेड C स्ट्रिंग मिलती है, जिसे आसानी से पढ़ा जा सकता है.
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
किसी IPv6 पते के इंटरफ़ेस पहचानकर्ता को वीव नोड आइडेंटिफ़ायर में बदलें.
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
इसके बजाय, 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 कम्यूनिकेशन और उससे जुड़े कॉन्फ़िगरेशन की जानकारी का टारगेट कैप्चर करता है.

nl:: बुनाई::काउंटर

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

nl:: बुनाई::ExchangeContext

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

nl:: बुनाई::FabricStateDelegate

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

nl:: बुनाई::HostPortList

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

nl:: बुनाई::JNIUtils
nl:: बुनाई::एक ही समय पर बढ़ने वाले काउंटर

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

nl:: बुनाई::PersistedCounter

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

nl:: बुनाई::WeaveConnection

Weave Connection क्लास की परिभाषा.

nl:: बुनाई::WeaveConnectionTunnel

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

nl:: बुनाई::WeaveEncryptionKey_AES128CTRSHA1
nl:: बुनाई::WeaveExchangeHeader

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

nl:: बुनाई::WeaveExchangeManager

इस क्लास का इस्तेमाल अन्य Weave नोड के साथ ExchangeContext को प्रबंधित करने के लिए किया जाता है.

nl:: बुनाई::WeaveFabricState

WeaveFabricState के एलान का एलान.

nl:: बुनाई::WeaveKeyId

Weave Key पहचानकर्ता की परिभाषा.

nl:: बुनाई::WeaveMessageLayer

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

nl::वेव::WeaveMsgEncryptionKey

इसमें Weave मैसेज एन्क्रिप्शन कुंजी के बारे में जानकारी है.

nl:: बुनाई::WeaveMsgencryptKeyCache

Weave मैसेज एन्क्रिप्शन कुंजियों के लिए मुख्य कैश.

nl:: बुनाई::WeaveSecurityManager
nl::वेव::WeaveServerBase

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

nl::वेव::WeaveServerDelegateBase

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

nl:: बुनाई::WeaveSessionKey

इसमें Weave सेशन कुंजी से जुड़ी जानकारी शामिल है.

nl:: बुनाई::WeaveSessionState

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

स्ट्रक्चर

nl:: बुनाई::JNILibraryMethod
nl::वेव::WRMPConfig

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

nl:: बुनाई::WeaveMessageInfo

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

यूनियन

nl:: बुनाई::WeaveEncryptionKey

नेमस्पेस

nl:: बुनाई::ASN1

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

nl::वेव::Crypto

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

nl::वेव::DeviceLayer
nl:: बुनाई::डिवाइस मैनेजर
nl:: बुनाई::कोड में बदलने का तरीका

इस नेमस्पेस में ये फ़ंक्शन होते हैं:

nl:: बुनाई::लॉग इन करना

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

nl:: बुनाई::प्लैटफ़ॉर्म
nl:: बुनाई::प्रोफ़ाइल

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

nl:: बुनाई::सुरक्षा सहायता
nl:: बुनाई::आंकड़े
nl:: बुनाई::सहायता
nl:: बुनाई::सिस्टम
nl::वेव::TLV

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

nl:: बुनाई::वॉर्म

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

गिनती

@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

प्रमाणपत्र's प्रकार के बारे में नहीं बताया गया है.

kCertType_ServiceEndpoint

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

@40 टैग

 @40

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

वेव पास)

@41

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

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

kWeaveAuthModeCategory_CASE

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

kWeaveAuthModeCategory_General

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

kWeaveAuthModeCategory_GroupKey

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

kWeaveAuthModeCategory_PASE

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

kWeaveAuthModeCategory_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

सहयोगी ऐप्लिकेशन की पुष्टि नहीं हुई है.

@24

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

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

@43 टैग

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

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

kTestKey_AES128CTRSHA1_IntegrityKeyByte

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

@44 टैग

 @44

Weave messages एन्क्रिप्शन ऐप्लिकेशन कुंजी का विविधता आकार.

@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 ईयूआई-64 आइडेंटिफ़ायर के लिए बिट फ़ील्ड की परिभाषाएं.

प्रॉपर्टी
kEUI64_IG_Group

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

kEUI64_IG_Individual

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

kEUI64_IG_Mask

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

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

kEUI64_UL_Local

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

kEUI64_UL_Mask

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

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

kEUI64_UL_Unversal

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

@75

 @57

Weave Node Ids की खास रेंज.

प्रॉपर्टी
kMaxAlwaysLocalWeaveNodeId

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

WeaveEncryptionType

 WeaveEncryptionType

Weave मैसेज के लिए एन्क्रिप्शन के प्रकार.

प्रॉपर्टी
kWeaveEncryptionType_AES128CTRSHA1

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

kWeaveEncryptionType_None

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

WeaveExchange फ़्लैग

 WeaveExchangeFlags

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

प्रॉपर्टी
kWeaveExchangeFlag_AckId

मौजूदा मैसेज को पहले से मिले मैसेज की पुष्टि के लिए सेट करें.

kWeaveExchangeFlag_Initiator

एक्सचेंज की शुरुआत करने वाले की ओर से मौजूदा मैसेज भेजे जाने का समय सेट करें.

kWeaveExchangeFlag_NeedsAck

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

WeaveExchangeVersion

 WeaveExchangeVersion

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

WeaveMessageFlags

 WeaveMessageFlags

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

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

प्रॉपर्टी
kWeaveMessageFlag_DefaultMulticastSourceAddress

यह बताता है कि IPv6 मल्टीकास्ट मैसेज भेजते समय डिफ़ॉल्ट IPv6 स्रोत पते को चुनना चाहिए.

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

प्रॉपर्टी
kWeaveMessageVersion_Unspecified

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

kWeaveMessageVersion_V1

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

kWeaveMessageVersion_V2

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

WeaveSubnetId

 WeaveSubnetId

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

ये नंबर, प्रतीकों वाले कॉन्सटेंट के लिए असाइन किए जाते हैं. ये सबनेट नंबर Weave का इस्तेमाल करके, सही इंटरफ़ेस पर IPv6 ULA पते कॉन्फ़िगर करते हैं.

प्रॉपर्टी
kWeaveSubnetId_MobileDevice

सभी मोबाइल डिवाइस के लिए सबनेट पहचानकर्ता.

kWeaveSubnetId_NotSpecified

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

kWeaveSubnetId_PrimaryWiFi

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

kWeaveSubnetId_Service

Nest सेवा एंडपॉइंट के लिए सबनेट पहचानकर्ता.

kWeaveSubnetId_ThreadAlarm

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

kWeaveSubnetId_ThreadMesh

थ्रेड मेश रेडियो इंटरफ़ेस सबनेट पहचानकर्ता.

kWeaveSubnetId_WiFiAP

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

WeaveVendorId

 WeaveVendorId

टाइपडेफ़

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

फ़ैब्रिक सेक्रेटस्कोप

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 मैसेज के लिए एन्क्रिप्शन के प्रकार.

WeaveExchange फ़्लैग

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

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

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

ये नंबर, प्रतीकों वाले कॉन्सटेंट के लिए असाइन किए जाते हैं. ये सबनेट नंबर Weave का इस्तेमाल करके, सही इंटरफ़ेस पर IPv6 ULA पते कॉन्फ़िगर करते हैं.

वैरिएबल

ExchangeMgr

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

फ़ैब्रिक स्टेट

NL_DLL_EXPORT WeaveFabricState FabricState

संदेश परत

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

सुरक्षा टीम

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&kot; वाक्यांश के SHA-1 HASH के पहले चार बाइट दिखाता है.

फ़ंक्शन

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

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

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

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

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

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

डिकोड हेडर फ़ील्ड

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

डिफ़ॉल्ट OnMessageRecipients मिला

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

एनकोड हेडरफ़ील्ड

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

FindMessageName

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

Findप्रोफ़ाइलनाम

const char * FindProfileName(
  uint32_t inProfileId
)

फ़ॉर्मैट WeaveError

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

Weave गड़बड़ी होने पर, गड़बड़ी की जानकारी देने वाली NULL-टर्मिनेटेड C स्ट्रिंग मिलती है, जिसे आसानी से पढ़ा जा सकता है.

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

जनरेट करें WeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

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

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

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

GetFibonaciForIndex

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
)

किसी दिए गए कुंजी आईडी के लिए कोई 'समूह की' पुष्टि मोड देता है.

IPv6 इंटरफ़ेसIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

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

जांच करने की सुविधा के तौर पर, #kMaxहमेशाLocalLocalWaveNodeId (65535) को या उससे कम मान वाले नोड पहचानकर्ताओं को 'local' माना जाता है और उनके यूनिवर्सल/स्थानीय बिट को शून्य पर सेट किया जाता है. यह, इसी तरह के IPv6 पतों को दिखाने के लिए इस्तेमाल को आसान बनाता है. उदाहरण के लिए, नोड आइडेंटिफ़ायर के लिए यूएलए 10 होगा: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
)

जे2एन_लॉन्गफ़ील्डवील

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
)

पास पुष्टि मोड

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
)

टोहेक्स

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 कपड़े के पहचानकर्ता को IPv6 ULA के ग्लोबल पहचानकर्ता में बदलें.

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

ब्यौरा
पैरामीटर
[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() का इस्तेमाल करें.

WeaveNodeIdToIPv6 इंटरफ़ेसआईडी

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

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

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

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

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

अधिकतम

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

न्यून

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