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)
גודל משנה מפתח של אפליקציה להצפנת הודעות Weaves.
@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)
טווחים מיוחדים של מזהים של צומתי 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.
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.
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, מחזירה מחרוזת C קטועה של NULL, המסווגת על ידי בני אדם, שמתארת את השגיאה.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
יצירת מזהה צומת Weave אקראי.
GetFibonacciForIndex(uint32_t index)
uint32_t
הפונקציה הזו יוצרת מספר Fibonacci של 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 למזהה צומת Weave.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
הערך יהיה True אם מצב האימות מבוסס על פרוטוקול Weave CASE.
IsCertAuthMode(WeaveAuthMode authMode)
bool
הערך הוא True אם מצב האימות מבוסס על החזקה של מפתח פרטי שמשויך לאישור.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
הערך יהיה True אם מצב האימות מבוסס על החזקה של מפתח קבוצה משותף.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
True אם מצב האימות מבוסס על פרוטוקול Weave PASE.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
הערך יהיה True אם מצב האימות מבוסס על בעלות על סיסמה משותפת.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
True אם מצב האימות מבוסס על פרוטוקול Weave Takeout.
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::Binding

לוכד את היעד המיועד של תקשורת Weave ומידע על הגדרות אישיות.

nl::Weave::Counter

ממשק לניהול מונה כערך שלם.

nl::Weave::ExchangeContext

המחלקה הזו מייצגת שיחה מתמשכת (ExchangeContext) בין שני צמתים או יותר.

nl::Weave::FabricStateDelegate

מחלקת האצלה המופשטת הזו מעבירה את השינויים במצב המרקם.

nl::Weave::HostPortList

לניהול רשימת יציאות של מארחים ולטיפול בה, אוסף קומפקטי ומקודד בינארי של צמדי מארחים ומזהי יציאות המשויכים ל-Weave Service Directory.

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

מחלקה לניהול מונה עולה באופן מונוטוני כערך מספר שלם.

nl::Weave::PersistedCounter

מחלקה לניהול מונה כערך מספר שלם שמטרתו לשמור על עקביות בכל הפעלות מחדש.

nl::Weave::WeaveConnection

ההגדרה של המחלקה Weave Connection.

nl::Weave::WeaveConnectionTunnel

ההגדרה של המחלקה WeaveConnectionTunnel, שמנהלת זוג TCPEndPoints שחיבורי WeaveConnections המקוריים שלהם שולבו, ושביניהם ה-WeaveMessageLayer מעבירה את כל הנתונים ואת סגירות החיבורים.

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

מציין את פרופיל Weave ואת סוג ההודעה של הודעת Weave מסוימת בתוך ExchangeContext.

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 ללא דרישה, שכוללים תיקוף של בקשות מאומתות ושליחה של דוחות סטטוס ומספקים אחסון משותף של חברי נתונים למצב מארג ולמנהל Exchange.

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 לעבודה עם Abstract Syntax Notation One (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, גם ב-Common וגם ב-Nest Labs ספציפיים לספק.

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

הגדרות לעבודה עם נתונים שמקודדים בפורמט TLV של Weave.

nl::Weave::Warm

מרחב השמות הזה כולל ממשקים ל-Weave address ולמודול הניתוב, מודול נייד להגדרת כתובות IP ונתיבים ב-Weave.

ספירות

@21

 @21
תכונות
kFlagAckPending

אם צפויה תגובה להודעה שנשלחת.

kFlagAutoReleaseConnection

שחרור אוטומטי של המפתח להצפנת ההודעה כשההקשר של ההחלפה מתפנה.

kFlagAutoReleaseKey

כשהוא מוגדר, המשמעות היא שהתקבלה לפחות הודעה אחת מהעמיתים בהקשר הזה של חילופי ההודעות.

kFlagAutoRequestAck

ההקשר הזה שויך ל-WeaveConnection.

kFlagConnectionClosed

ההקשר הזה הוא שיזם ההחלפה.

kFlagDropAck

אם המדיניות מוגדרת, היא מבקשת אישור באופן אוטומטי בכל פעם שהודעה נשלחת דרך UDP.

kFlagMsgRcvdFromPeer

כשהוא מוגדר, המשמעות היא שלפחות הודעה אחת שהתקבלה בחילופי ההודעות הזו ביקשה אישור.

האפליקציה קוראת את הדגל הזה כדי להחליט אם היא צריכה לבקש אישור להודעת התגובה שהיא עומדת לשלוח. הדגל הזה יכול גם לציין אם עמית משתמש ב-WRMP.

kFlagPeerRequestedAck

כשהוא מוגדר, המשמעות היא שיש אישור שממתין לשליחה בחזרה.

kFlagResponseExpected

פנימי וניפוי באגים בלבד: לאחר ההגדרה, שכבת ה-Exchange לא תשלח אישור.

kFlagUseEphemeralUDPPort

שחרור אוטומטי של WeaveConnection כאשר ההקשר של ה-Exchange יתפנה.

@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

משמש לזיהוי המקור של הסיסמה שנעשה בה שימוש בפרוטוקול אימות מבוסס-סיסמה (למשל,

Weave PASE)

@41

 @41
תכונות
kWeaveAuthModeCategory_AppDefinedBase

ערך בסיסי לקטגוריות אימות בהגדרת אפליקציות.

kWeaveAuthModeCategory_CASE

העמית אומת באמצעות פרוטוקול Weave CASE.

kWeaveAuthModeCategory_General

העמית אומת באמצעות קבוצה של מנגנונים כלליים.

kWeaveAuthModeCategory_GroupKey

העמית אומת באמצעות מפתח קבוצה משותף.

kWeaveAuthModeCategory_PASE

העמית אומת באמצעות פרוטוקול Weave PASE.

kWeaveAuthModeCategory_TAKE

העמית אומת באמצעות פרוטוקול Weave take.

kWeaveAuthMode_CASE_AccessToken

העמית אומת באמצעות CASE עם אישור של אסימון גישה ל-Weave.

kWeaveAuthMode_CASE_AnyCert

העמית אומת באמצעות CASE עם אישור שרירותי, או אישור מסוג לא ידוע.

kWeaveAuthMode_CASE_Device

העמית אומת באמצעות CASE עם אישור מכשיר של Weave.

kWeaveAuthMode_CASE_GeneralCert

העמית אומת באמצעות CASE עם סוג אישור כללי או לא ספציפי.

kWeaveAuthMode_CASE_ServiceEndPoint

העמית אומת באמצעות CASE עם אישור של נקודת הקצה של שירות Weave.

kWeaveAuthMode_NotSpecified

לא צוין מצב אימות.

kWeaveAuthMode_PASE_PairingCode

העמית אומת באמצעות PASE עם קוד ההתאמה של המכשיר.

kWeaveAuthMode_TAKE_IdentificationKey

העמית ביצע אימות באמצעות Takeing עם מפתח זיהוי אסימון.

kWeaveAuthMode_Unauthenticated

העמית לא מאומת.

@42

 @42
תכונות
kFabricSecretScope_All

לכל המכשירים יכול להיות סוד בד תואם.

@43

 @43
תכונות
kTestKey_AES128CTRSHA1_DataKeyByte

ערך בייט שיוצר את מפתח ההצפנה, ומשמש לבדיקה בלבד.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

ערך בייט שיוצר מפתח תקינות ומשמש לבדיקה בלבד.

@44

 @44

גודל משנה מפתח של אפליקציה להצפנת הודעות Weaves.

@45

 @45

@53

 @53

@54

 @54
תכונות
kWeavePeerDescription_MaxLength

אורך מקסימלי של מחרוזת (כולל תו NUL) המוחזר על ידי WeaveMessageLayer::GetPeerDescription().

@55

 @55

הגדרות הנוגעות לכותרת של הודעת Weave מקודדת.

תכונות
kWeaveHeaderFlag_DestNodeId

מציין שמזהה צומת היעד קיים בכותרת ההודעה של Weave.

kWeaveHeaderFlag_MsgCounterSyncReq

מציין שהשולח מבקש סנכרון מונה של הודעות.

kWeaveHeaderFlag_SourceNodeId

מציין שמזהה צומת המקור קיים בכותרת ההודעה של Weave.

kWeaveHeaderFlag_TunneledData

מציין שמטען הייעודי (payload) של ההודעה ב-Weave הוא חבילת IP שעברה מנהרה.

@56

 @56

הגדרות של שדות ביט עבור מזהי IEEE EUI-64.

תכונות
kEUI64_IG_Group

ערך של ביט יחיד/קבוצתי המציין כתובת קבוצה של EUI-64.

kEUI64_IG_Individual

ערך של ביט יחיד/קבוצתי שמציין מזהה EUI-64 של כתובת יחידה.

kEUI64_IG_Mask

מסכת סיביות לביט של יחיד/קבוצתי (I/G) בתוך מזהה EUI-64.

ערך של 0 מציין שהמזהה הוא כתובת יחידה. הערך 1 מציין שהמזהה הוא כתובת של קבוצה.

kEUI64_UL_Local

ערך ביט אוניברסלי/מקומי שמציין מזהה EUI-64 שמנוהל באופן מקומי.

kEUI64_UL_Mask

מסיכת סיביות עבור הביט Universal/מקומי (U/L) בתוך מזהה EUI-64.

ערך 0 מציין שהמזהה מנוהל באופן אוניברסלי (גלובלי). הערך 1 מציין שהמזהה מנוהל באופן מקומי.

kEUI64_UL_Unversal

ערך ביט אוניברסלי/מקומי שמציין מזהה EUI-64 שמנוהל באופן אוניברסלי.

@57

 @57

טווחים מיוחדים של מזהים של צומתי Weave.

תכונות
kMaxAlwaysLocalWeaveNodeId

מזהי צמתים קלים מהערך הזה או זהים לו נחשבים מקומיים לצורך נוחות הבדיקה.

WeaveEncryptionType

 WeaveEncryptionType

סוגי ההצפנה של הודעת Weave.

תכונות
kWeaveEncryptionType_AES128CTRSHA1

ההודעה הוצפנה באמצעות הצפנת AES-128-CTR עם תקינות הודעה מסוג HMAC-SHA-1.

kWeaveEncryptionType_None

ההודעה לא מוצפנת.

WeaveExchangeFlags

 WeaveExchangeFlags

הסיביות של סימון הכותרת של Weave Exchange.

תכונות
kWeaveExchangeFlag_AckId

ההגדרה הזו קובעת מתי ההודעה הנוכחית היא אישור להודעה שהתקבלה בעבר.

kWeaveExchangeFlag_Initiator

הגדרת המועד שבו ההודעה הנוכחית נשלחת על ידי מי שיזם את ההחלפה.

kWeaveExchangeFlag_NeedsAck

הגדרת המועד שבו ההודעה הנוכחית מבקשת אישור מהנמען.

WeaveExchangeVersion

 WeaveExchangeVersion

גרסת הכותרת של Weave Exchange.

WeaveMessageFlags

 WeaveMessageFlags

סימונים המשויכים להודעת Weave נכנסת או יוצאת.

הערכים שמוגדרים כאן מיועדים לשימוש בשדה WeaveMessageInfo.Flags.

תכונות
kWeaveMessageFlag_DefaultMulticastSourceAddress

המדיניות הזו מציינת שיש להשתמש בבחירת כתובת מקור של IPv6 כברירת מחדל כששולחים הודעות IPv6 Multicast.

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

מציין שמטען הייעודי (payload) של ההודעה ב-Weave הוא חבילת IP שעברה מנהרה.

kWeaveMessageFlag_ViaEphemeralUDPPort

מציין שההודעה נשלחת או מתקבלת דרך יציאת ה-UDP הזמנית המקומית.

WeaveMessageVersion

 WeaveMessageVersion

הגרסה של פורמט הודעת Weave.

Weave תבחר את גרסת ההודעה המתאימה בהתאם לפורמט המסגרת הנדרש להודעת Weave. כברירת מחדל, גרסת ההודעה היא kWeaveMessageVersion_V1. לדוגמה, בעת שימוש בתכונה 'העברת הודעות מהימנה של Weave', הגרסה היא kWeaveMessageVersion_V2.

תכונות
kWeaveMessageVersion_Unspecified

גרסת ההודעה לא צוינה.

kWeaveMessageVersion_V1

פורמט גרסה 1 של כותרת ההודעה.

kWeaveMessageVersion_V2

פורמט גרסה 2 של כותרת ההודעה.

WeaveSubnetId

 WeaveSubnetId

ל-Weave יש כמה מספרי תת-רשת שמורים לממשקי רשת ייחודיים במכשירים טיפוסיים.

המספרים האלה מוקצים כאן לקבועים סימבוליים. מספרי תת-הרשת האלו משמשים את Weave להגדרת כתובות IPv6 ULA בממשקים מתאימים.

תכונות
kWeaveSubnetId_MobileDevice

מזהה רשת המשנה של כל המכשירים הניידים.

kWeaveSubnetId_NotSpecified

שמורים כערך שלא צוין או שהוא ריק.

kWeaveSubnetId_PrimaryWiFi

מספר תת-רשת של ממשק רדיו Wi-Fi.

kWeaveSubnetId_Service

מזהה תת-הרשת של נקודות הקצה של שירות Nest.

kWeaveSubnetId_ThreadAlarm

מספר תת-רשת של ממשק הרדיו של התראת השרשור.

kWeaveSubnetId_ThreadMesh

מזהה תת-הרשת של ממשק הרדיו של Thread mesh.

kWeaveSubnetId_WiFiAP

מספר תת-רשת של ממשק Wi-Fi AP מקומי.

WeaveVendorId

 WeaveVendorId

ערכי דף

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

ההגדרה קובעת את הקטגוריה של מכשירים שניתן להשתמש בהם בסוד בד.

WeaveAuthMode

uint16_t WeaveAuthMode

מזהה את אופן האימות של צומת עמית.

WeaveAuthMode מתאר את האמצעים שבהם צומת עמית עבר או אמור לעבור אימות במהלך חילופי הודעות ב-Weave. בהקשר של התחלת תהליך, אפליקציות משתמשות ב-WeaveAuthMode כדי לבטא מצב אימות רצוי בין רשתות שכנות לצורך תכתובת, ובכך להנחות את שכבות האבטחה והעברת ההודעות של Weave לבצע את המצב הרצוי או להיכשל בתקשורת. בהקשר של תגובה, WeaveAuthMode בוצע אימות של הצומת המבקש (העמית), כדי לאפשר לאפליקציה המגיבה לאכוף בקרות גישה על בסיס המידע הזה.

מצב WeaveAuthMode שהוקצה להודעת Weave נכנסת קשור לאופי המפתח ששימש להצפנת ההודעה. ה-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 תבחר את גרסת ההודעה המתאימה בהתאם לפורמט המסגרת הנדרש להודעת Weave. כברירת מחדל, גרסת ההודעה היא kWeaveMessageVersion_V1. לדוגמה, בעת שימוש בתכונה 'העברת הודעות מהימנה של Weave', הגרסה היא kWeaveMessageVersion_V2.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

ל-Weave יש כמה מספרי תת-רשת שמורים לממשקי רשת ייחודיים במכשירים טיפוסיים.

המספרים האלה מוקצים כאן לקבועים סימבוליים. מספרי תת-הרשת האלו משמשים את Weave להגדרת כתובות IPv6 ULA בממשקים מתאימים.

משתנים

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.

הערך הזה מייצג את 4 הבייטים הראשונים של הביטוי SHA-1 HASH של הביטוי Nest Weave Message EK and AK.

פונקציות

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, מחזירה מחרוזת C קטועה של NULL, המסווגת על ידי בני אדם, שמתארת את השגיאה.

פרטים
פרמטרים
[in] buf
מאגר הנתונים הזמני שאליו תוצב מחרוזת השגיאה.
[in] bufSize
גודל מאגר הנתונים הזמני שסופק בבייטים.
[in] err
השגיאה שתוארה.
החזרות
True אם מחרוזת תיאור נכתבה למאגר הנתונים הזמני.
החזרות
false אם השגיאה שסופקה לא הייתה שגיאת Weave.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

יצירת מזהה צומת Weave אקראי.

הפונקציה הזו יוצרת מזהה צומת Weave ייחודי מקומי של 64 סיביות. הפונקציה הזו משתמשת במקור נתונים רנדומלי וחזק מבחינה קריפטוגרפית כדי להבטיח את הייחודיות של הערך שנוצר. שים לב שהביט 57 של מזהה צומת Weave שנוצר מוגדר ל-1 כדי לציין שמזהה צומת Weave שנוצר הוא ייחודי באופן מקומי (לא גלובלי) ייחודי.

פרטים
פרמטרים
nodeId
הפניה למזהה צומת Weave של 64 סיביות.
ערכים מוחזרים
WEAVE_NO_ERROR
אם מזהה צומת Weave נוצר בהצלחה.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

הפונקציה הזו יוצרת מספר Fibonacci של 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 סיביות.

פרטים
החזרות
מספר שלם אקראי לא חתום (unsigned integer) של 16 סיביות.

GetRandU32

uint32_t GetRandU32(
  void
)

הפונקציה יוצרת מספר אקראי לא חתום של 32 סיביות.

פרטים
החזרות
מספר שלם אקראי לא חתום (unsigned integer) של 32 סיביות.

GetRandU64

uint64_t GetRandU64(
  void
)

הפונקציה יוצרת מספר אקראי לא חתום של 64 סיביות.

פרטים
החזרות
מספר שלם אקראי לא חתום (unsigned integer) של 64 סיביות.

GetRandU8

uint8_t GetRandU8(
  void
)

הפונקציה יוצרת מספר אקראי לא חתום של 8 סיביות.

פרטים
החזרות
מספר שלם אקראי לא חתום (unsigned integer) של 8 סיביות.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

מחזירה מצב אימות של מפתח קבוצה תואם עבור מזהה מפתח נתון.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

המרת מזהה ממשק כתובת IPv6 למזהה צומת Weave.

לנוחות הבדיקה, מזהי צמתים שקטנים או שווים ל- #kMaxתמידLocalWeaveNodeId (65535) נחשבים כמזהים 'מקומיים', והביט האוניברסלי/המקומי שלהם מוגדר לאפס. ההגדרה הזו מפשטת את ייצוג המחרוזת של כתובות IPv6 התואמות. לדוגמה, ה-ULA של מזהה הצומת 10 תהיה FD00:0:1:1::A.

פרטים
פרמטרים
[in] interfaceId
מזהה הממשק של 64 ביט.
החזרות
מזהה הצומת הממופה של Weave באורך 64 ביט.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

הערך יהיה True אם מצב האימות מבוסס על פרוטוקול Weave CASE.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

הערך הוא True אם מצב האימות מבוסס על החזקה של מפתח פרטי שמשויך לאישור.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

הערך יהיה True אם מצב האימות מבוסס על החזקה של מפתח קבוצה משותף.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

True אם מצב האימות מבוסס על פרוטוקול Weave PASE.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

הערך יהיה True אם מצב האימות מבוסס על בעלות על סיסמה משותפת.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

True אם מצב האימות מבוסס על פרוטוקול Weave Takeout.

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 למזהה גלובלי של IPv6 ULA.

המזהה הגלובלי של ULA לכתובת של בד הוא 40 הביטים התחתונים של מזהה הבד של 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().

מזהה WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

המרת מזהה צומת Weave למזהה ממשק כתובת IPv6.

מזהי צומתי Weave הם מזהים אוניברסליים/מקומיים מסוג EUI-64. לפי RFC-3513, המערכת ממירה את הביט האוניברסלי/המקומי (בגרסת 57 ל-LSB נספרות 0 בתור 0).

לנוחות הבדיקה, מזהי צמתים שקטנים או שווים ל- #kMaxתמידLocalWeaveNodeId (65535) נחשבים כמזהים 'מקומיים', והביט האוניברסלי/המקומי שלהם מוגדר לאפס. ההגדרה הזו מפשטת את ייצוג המחרוזת של כתובות IPv6 התואמות. לדוגמה, ה-ULA של מזהה הצומת 10 תהיה FD00:0:1:1::A.

פרטים
פרמטרים
[in] nodeId
מזהה צומת Weave של 64 סיביות.
החזרות
מזהה הממשק של IPv6.

מקסימלי

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

דקה

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