Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt

Tóm lược

Bảng kê

@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
Xác định mục đích hoặc ứng dụng của chứng chỉ.
@40 enum
Xác định nguồn cho mật khẩu được sử dụng trong giao thức xác thực dựa trên mật khẩu (ví dụ:
@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
Dệt kích thước khóa ứng dụng mã hóa ứng dụng mã hóa tin nhắn.
@45 enum
@53 enum
@54 {
kWeavePeerDescription_MaxLength = 100
}
enum
@55 {
kWeaveHeaderFlag_DestNodeId = 0x0100,
kWeaveHeaderFlag_SourceNodeId = 0x0200,
kWeaveHeaderFlag_TunneledData = 0x0400,
kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
Các định nghĩa liên quan đến tiêu đề của thông báo Weave được mã hóa.
@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
Định nghĩa trường bit cho Số nhận dạng IEEE EUI-64.
@57 {
kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Phạm vi đặc biệt của các Id Weave Node.
WeaveEncryptionType {
kWeaveEncryptionType_None = 0,
kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Các loại mã hóa cho tin nhắn Weave.
WeaveExchangeFlags {
kWeaveExchangeFlag_Initiator = 0x1,
kWeaveExchangeFlag_AckId = 0x2,
kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Các bit cờ tiêu đề Weave Exchange.
WeaveExchangeVersion enum
Phiên bản tiêu đề 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
Các cờ được liên kết với một tin nhắn Weave đến hoặc đi.
WeaveMessageVersion {
kWeaveMessageVersion_Unspecified = 0,
kWeaveMessageVersion_V1 = 1,
kWeaveMessageVersion_V2 = 2
}
enum
Phiên bản của định dạng Thông điệp 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 có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị điển hình.
WeaveVendorId enum

Typedefs

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl :: Weave :: FabricSecretScope
uint8_t
Xác định loại thiết bị có thể sở hữu và sử dụng bí mật vải.
WeaveAuthMode typedef
uint16_t
Xác định cách một nút ngang hàng được xác thực.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Các loại mã hóa cho tin nhắn Weave.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Các bit cờ tiêu đề Weave Exchange.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Phiên bản tiêu đề Weave Exchange.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
Các cờ được liên kết với một tin nhắn Weave đến hoặc đi.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Phiên bản của định dạng Thông điệp Weave.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
Weave có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị điển hình.

Biến

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
Trình phân loại khóa được sử dụng để lấy khóa mã hóa tin nhắn Weave.

Chức năng

AppGroupMasterKeyIdFromAuthMode (WeaveAuthMode authMode)
uint8_t
Trả về ID khóa chính của nhóm ứng dụng được liên kết với chế độ xác thực.
CASEAuthMode (uint8_t certType)
WeaveAuthMode
Trả về chế độ xác thực CASE tương ứng cho một loại chứng chỉ nhất định.
CertTypeFromAuthMode (WeaveAuthMode authMode)
uint8_t
Trả về nguồn mật khẩu cho chế độ xác thực đã cho.
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
Đưa ra lỗi Weave, trả về chuỗi C kết thúc bằng NULL mà con người có thể đọc được mô tả lỗi.
GenerateWeaveNodeId (uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
Tạo Id nút Weave ngẫu nhiên.
GetFibonacciForIndex (uint32_t index)
uint32_t
Hàm này tạo ra số Fibonacci 32 bit cho một chỉ số 32 bit nhất định.
GetMessageName (uint32_t profileId, uint8_t msgType)
const char *
GetProfileName (uint32_t profileId)
const char *
GetRandU16 (void)
uint16_t
Hàm này tạo ra số ngẫu nhiên 16 bit không dấu.
GetRandU32 (void)
uint32_t
Hàm này tạo ra số ngẫu nhiên không dấu 32 bit.
GetRandU64 (void)
uint64_t
Hàm này tạo ra số ngẫu nhiên không dấu 64-bit.
GetRandU8 (void)
uint8_t
Hàm này tạo ra số ngẫu nhiên không dấu 8 bit.
GetVendorName (uint16_t vendorId)
const char *
GroupKeyAuthMode (uint32_t keyId)
WeaveAuthMode
Trả về chế độ xác thực khóa nhóm tương ứng cho một ID khóa nhất định.
IPv6InterfaceIdToWeaveNodeId (uint64_t interfaceId)
uint64_t
Chuyển đổi số nhận dạng giao diện địa chỉ IPv6 thành số nhận dạng nút Weave.
IsCASEAuthMode (WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên giao thức Weave CASE.
IsCertAuthMode (WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu khóa cá nhân được liên kết với chứng chỉ.
IsGroupKeyAuthMode (WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu khóa nhóm được chia sẻ.
IsPASEAuthMode (WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên giao thức Weave PASE.
IsPasswordAuthMode (WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu mật khẩu được chia sẻ.
IsTAKEAuthMode (WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên giao thức 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
Trả về chế độ xác thực PASE tương ứng cho một nguồn mật khẩu nhất định.
PasswordSourceFromAuthMode (WeaveAuthMode authMode)
uint8_t
Trả về nguồn mật khẩu cho chế độ xác thực đã cho.
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, constWeaveEncryptionKey & key, char *buf, size_t bufSize)
void
WeaveFabricIdToIPv6GlobalId (uint64_t fabricId)
uint64_t
Chuyển đổi số nhận dạng vải dệt thành số nhận dạng toàn cầu IPv6 ULA.
WeaveMessageSourceToStr (char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
WeaveNodeAddrToStr (char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
WeaveNodeIdToIPv6InterfaceId (uint64_t nodeId)
uint64_t
Chuyển đổi số nhận dạng nút Weave thành số nhận dạng giao diện địa chỉ IPv6.
max (const _T & a, const _T & b)
const _T &
min (const _T & a, const _T & b)
const _T &

Các lớp học

nl :: Weave :: Binding

Nắm bắt mục tiêu dự kiến ​​của giao tiếp Weave và thông tin cấu hình liên quan.

nl :: Weave :: Counter

Một giao diện để quản lý bộ đếm dưới dạng giá trị số nguyên.

nl :: Weave :: ExchangeContext

Lớp này đại diện cho một cuộc hội thoại đang diễn ra ( ExchangeContext ) giữa hai hoặc nhiều nút.

nl :: Weave :: FabricStateDelegate

Lớp đại biểu trừu tượng này truyền đạt các thay đổi trạng thái kết cấu.

nl :: Weave :: HostPortList

Để quản lý và thao tác Danh sách cổng máy chủ, một bộ sưu tập nhỏ gọn, được mã hóa nhị phân gồm các bộ mã định danh máy chủ và cổng được liên kết với Thư mục dịch vụ Weave.

nl :: Weave :: JNIUtils
nl :: Weave :: MonotoualityIncreasingCounter

Một lớp để quản lý bộ đếm tăng đơn điệu dưới dạng giá trị số nguyên.

nl :: Weave :: PersistedCounter

Một lớp để quản lý bộ đếm dưới dạng giá trị số nguyên có ý định tồn tại qua các lần khởi động lại.

nl :: Weave :: WeaveConnection

Định nghĩa của lớp Kết nối dệt.

nl :: Weave :: WeaveConnectionTunnel

Định nghĩa của lớp WeaveConnectionTunnel , quản lý một cặp TCPEndPoint có WeaveConnections ban đầu đã được kết hợp và giữa đó WeaveMessageLayer chuyển tiếp tất cả dữ liệu và kết nối.

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

Điều này chỉ định cấu hình Weave và loại thông báo của một thông báo Weave cụ thể trong ExchangeContext .

nl :: Weave :: WeaveExchangeManager

Lớp này được sử dụng để quản lý ExchangeContexts với các nút Weave khác.

nl :: Weave :: WeaveFainstState

Khai báo chuyển tiếp của WeaveFainstState .

nl :: Weave :: WeaveKeyId

Định nghĩa của mã định danh Weave Key.

nl :: Weave :: WeaveMessageLayer

Định nghĩa của lớp WeaveMessageLayer , quản lý giao tiếp với các nút Weave khác.

nl :: Weave :: WeaveMsgEncryptionKey

Chứa thông tin về khóa mã hóa tin nhắn Weave.

nl :: Weave :: WeaveMsgEncryptionKeyCache

Bộ nhớ đệm chính cho các khóa mã hóa tin nhắn Weave.

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

Đối tượng cơ sở, chung để triển khai các trình phản hồi không được yêu cầu của hồ sơ Weave (máy chủ) đóng gói các yêu cầu xác thực đã được xác thực và gửi báo cáo trạng thái và cung cấp bộ nhớ thành viên dữ liệu chung cho trạng thái vải và trình quản lý trao đổi.

nl :: Weave :: WeaveServerDelegateBase

Một lớp cơ sở chung để triển khai các đối tượng đại biểu máy chủ Weave.

nl :: Weave :: WeaveSessionKey

Chứa thông tin về khóa phiên Weave.

nl :: Weave :: WeaveSessionState

Chuyển giao trạng thái giao tiếp cần thiết để gửi / nhận tin nhắn với một nút khác.

Cấu trúc

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

Cấu hình WRMP.

nl :: Weave :: WeaveMessageInfo

Thông tin về tin nhắn Weave đang trong quá trình gửi hoặc nhận.

Đoàn thể

nl :: Weave :: WeaveEncryptionKey

Không gian tên

nl :: Weave :: ASN1

Không gian tên này bao gồm tất cả các giao diện trong Weave để làm việc với Ký hiệu cú pháp trừu tượng Một (ASN.1).

nl :: Weave :: Crypto

Không gian tên này bao gồm tất cả các giao diện trong Weave để hỗ trợ mật mã được chia sẻ.

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

Không gian tên này cung cấp các chức năng cho:

nl :: Weave :: Logging

Không gian tên này bao gồm tất cả các giao diện trong Weave để hỗ trợ ghi nhật ký được chia sẻ.

nl :: Weave :: Nền tảng
nl :: Weave :: Hồ sơ

Không gian tên này bao gồm tất cả các giao diện trong cấu hình Weave for Weave, cả Common Labs và Nest Labs dành riêng cho nhà cung cấp.

nl :: Weave :: SecuritySupport
nl :: Weave :: Stats
nl :: Weave :: Hỗ trợ
nl :: Weave :: Hệ thống
nl :: Weave :: TLV

Các định nghĩa để làm việc với dữ liệu được mã hóa ở định dạng Weave TLV .

nl :: Weave :: Warm

Không gian tên này bao gồm các giao diện cho Mô-đun Định tuyến và Địa chỉ Weave, một Mô-đun di động để định cấu hình Địa chỉ IP và Đường dẫn Weave.

Bảng kê

@ 21

 @21
Tính chất
kFlagAckPending

Nếu một phản hồi được mong đợi cho một tin nhắn đang được gửi đi.

kFlagAutoReleaseConnection

Tự động giải phóng khóa mã hóa tin nhắn khi ngữ cảnh trao đổi được giải phóng.

kFlagAutoReleaseKey

Khi được đặt, biểu thị rằng ít nhất một thông báo đã được nhận từ ngang hàng trên ngữ cảnh trao đổi này.

kFlagAutoRequestAck

Ngữ cảnh này được liên kết với WeaveConnection .

kFlagConnectionClosed

Bối cảnh này là người khởi xướng việc trao đổi.

kFlagDropAck

Khi được đặt, tự động yêu cầu xác nhận bất cứ khi nào tin nhắn được gửi qua UDP.

kFlagMsgRcvdFromPeer

Khi được đặt, biểu thị rằng ít nhất một tin nhắn nhận được trên sàn giao dịch này đã yêu cầu xác nhận.

Cờ này được ứng dụng đọc để quyết định xem nó có cần yêu cầu xác nhận cho thông báo phản hồi mà nó sắp gửi hay không. Cờ này cũng có thể cho biết liệu ngang hàng có đang sử dụng WRMP hay không.

kFlagPeerRequestedAck

Khi được đặt, báo hiệu rằng có một xác nhận đang chờ được gửi lại.

kFlagResponseExpected

Chỉ nội bộ và gỡ lỗi: khi được đặt, lớp trao đổi không gửi xác nhận.

kFlagUseEphemeralUDPPort

Tự động giải phóng WeaveConnection được liên kết khi bối cảnh trao đổi được giải phóng.

@ 36

 @36

@ 37

 @37

@ 38

 @38
Tính chất
kFabricIdDefaultForTest

ID vải mặc định, chỉ nên được sử dụng cho mục đích thử nghiệm.

@ 39

 @39

Xác định mục đích hoặc ứng dụng của chứng chỉ.

Loại chứng chỉ là nhãn mô tả mục đích hoặc ứng dụng của chứng chỉ. Các loại chứng chỉ không được mang theo dưới dạng thuộc tính của các chứng chỉ tương ứng, mà được lấy từ cấu trúc của chứng chỉ và / hoặc ngữ cảnh mà nó được sử dụng. Kiểu liệt kê chứng chỉ bao gồm một tập hợp các giá trị được xác định trước mô tả các ứng dụng chứng chỉ thường được sử dụng. Các nhà phát triển cũng có thể mở rộng phạm vi giá trị loại chứng chỉ với các loại ứng dụng cụ thể đã mô tả chứng chỉ tùy chỉnh hoặc chứng chỉ có thuộc tính bảo mật duy nhất.

Các loại chứng chỉ chủ yếu được sử dụng trong việc triển khai các chính sách kiểm soát truy cập, trong đó quyền truy cập vào các tính năng của ứng dụng bị ảnh hưởng bởi loại chứng chỉ do người yêu cầu cung cấp.

Tính chất
kCertType_AccessToken

Chứng chỉ mã thông báo truy cập Weave.

kCertType_AppDefinedBase

Các loại chứng chỉ dành riêng cho ứng dụng phải có giá trị> = giá trị này.

kCertType_CA

Chứng chỉ CA.

kCertType_Device

Chứng chỉ thiết bị Weave.

kCertType_FirmwareSigning

Chứng chỉ ký phần sụn Weave.

kCertType_General

Chứng chỉ thuộc loại chung chung hoặc không cụ thể.

kCertType_Max

Loại chứng chỉ không được lớn hơn giá trị này.

kCertType_NotSpecified

Loại chứng chỉ chưa được chỉ định.

kCertType_ServiceEndpoint

Chứng chỉ điểm cuối dịch vụ Weave.

@ 40

 @40

Xác định nguồn cho mật khẩu được sử dụng trong giao thức xác thực dựa trên mật khẩu (ví dụ:

Dệt PASE)

@ 41

 @41
Tính chất
kWeaveAuthModeCategory_AppDefinedBase

Giá trị cơ sở cho các danh mục xác thực do ứng dụng xác định.

kWeaveAuthModeCategory_CASE

Đã xác thực ngang hàng bằng giao thức Weave CASE.

kWeaveAuthModeCategory_General

Được xác thực ngang hàng bằng cách sử dụng một trong số các cơ chế chung.

kWeaveAuthModeCategory_GroupKey

Được xác thực ngang hàng bằng cách sử dụng khóa nhóm được chia sẻ.

kWeaveAuthModeCategory_PASE

Đã xác thực ngang hàng bằng giao thức Weave PASE.

kWeaveAuthModeCategory_TAKE

Được xác thực ngang hàng bằng giao thức Weave TAKE.

kWeaveAuthMode_CASE_AccessToken

Được xác thực ngang hàng bằng CASE với chứng chỉ mã thông báo truy cập Weave.

kWeaveAuthMode_CASE_AnyCert

Chứng chỉ ngang hàng được xác thực bằng CASE với chứng chỉ tùy ý hoặc chứng chỉ không xác định.

kWeaveAuthMode_CASE_Device

Được xác thực ngang hàng bằng CASE với chứng chỉ thiết bị Weave.

kWeaveAuthMode_CASE_GeneralCert

Được xác thực ngang hàng bằng CASE với loại chứng chỉ chung hoặc không cụ thể.

kWeaveAuthMode_CASE_ServiceEndPoint

Được xác thực ngang hàng bằng chứng chỉ điểm cuối dịch vụ CASE với Weave.

kWeaveAuthMode_NotSpecified

Chế độ xác thực không được chỉ định.

kWeaveAuthMode_PASE_PairingCode

Được xác thực ngang hàng bằng cách sử dụng PASE với mã ghép nối thiết bị.

kWeaveAuthMode_TAKE_IdentificationKey

Được xác thực ngang hàng bằng TAKE với khóa nhận dạng mã thông báo.

kWeaveAuthMode_Unauthenticated

Người ngang hàng không được chứng thực.

@ 42

 @42
Tính chất
kFabricSecretScope_All

Tất cả các thiết bị có thể sở hữu bí mật vải tương ứng.

@ 43

 @43
Tính chất
kTestKey_AES128CTRSHA1_DataKeyByte

Giá trị byte xây dựng khóa mã hóa, chỉ được sử dụng để thử nghiệm.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

Giá trị byte tạo ra khóa toàn vẹn, khóa này chỉ được sử dụng để kiểm tra.

@ 44

 @44

Dệt kích thước khóa đa dạng hóa ứng dụng mã hóa tin nhắn.

@ 45

 @45

@ 53

 @53

@ 54

 @54
Tính chất
kWeavePeerDescription_MaxLength

Độ dài tối đa của chuỗi (bao gồm cả ký tự NUL) được trả về bởi WeaveMessageLayer :: GetPeerDescription () .

@ 55

 @55

Các định nghĩa liên quan đến tiêu đề của thông báo Weave được mã hóa.

Tính chất
kWeaveHeaderFlag_DestNodeId

Cho biết rằng ID nút đích có trong tiêu đề tin nhắn Weave.

kWeaveHeaderFlag_MsgCounterSyncReq

Cho biết rằng người gửi yêu cầu đồng bộ hóa bộ đếm tin nhắn.

kWeaveHeaderFlag_SourceNodeId

Cho biết rằng ID nút nguồn có trong tiêu đề tin nhắn Weave.

kWeaveHeaderFlag_TunneledData

Chỉ ra rằng trọng tải bản tin Weave là một gói IP đường hầm.

@ 56

 @56

Định nghĩa trường bit cho Số nhận dạng IEEE EUI-64.

Tính chất
kEUI64_IG_Group

Giá trị bit Cá nhân / Nhóm cho biết mã định danh EUI-64 địa chỉ nhóm.

kEUI64_IG_Individual

Giá trị bit Cá nhân / Nhóm cho biết mã định danh EUI-64 địa chỉ riêng lẻ.

kEUI64_IG_Mask

Bitmask cho bit Cá nhân / Nhóm (I / G) trong số nhận dạng EUI-64.

Giá trị 0 cho biết id là một địa chỉ riêng lẻ. Giá trị 1 cho biết id là địa chỉ nhóm.

kEUI64_UL_Local

Giá trị bit phổ biến / cục bộ cho biết số nhận dạng EUI-64 được quản lý cục bộ.

kEUI64_UL_Mask

Bitmask cho bit Universal / Local (U / L) trong số nhận dạng EUI-64.

Giá trị 0 cho biết id được quản lý Toàn cầu (toàn cầu). Giá trị 1 cho biết id được quản lý cục bộ.

kEUI64_UL_Unversal

Giá trị bit phổ biến / cục bộ cho biết mã định danh EUI-64 được quản lý toàn cầu.

@ 57

 @57

Phạm vi đặc biệt của các Id Weave Node.

Tính chất
kMaxAlwaysLocalWeaveNodeId

Các số nhận dạng nút dệt nhỏ hơn hoặc bằng giá trị này được coi là cục bộ để thuận tiện cho việc kiểm tra.

WeaveEncryptionType

 WeaveEncryptionType

Các loại mã hóa cho tin nhắn Weave.

Tính chất
kWeaveEncryptionType_AES128CTRSHA1

Tin nhắn được mã hóa bằng mã hóa AES-128-CTR với tính toàn vẹn của tin nhắn HMAC-SHA-1.

kWeaveEncryptionType_None

Tin nhắn không được mã hóa.

WeaveExchangeFlags

 WeaveExchangeFlags

Các bit cờ tiêu đề Weave Exchange.

Tính chất
kWeaveExchangeFlag_AckId

Đặt khi tin nhắn hiện tại là xác nhận cho tin nhắn đã nhận trước đó.

kWeaveExchangeFlag_Initiator

Đặt thời điểm tin nhắn hiện tại được gửi bởi người khởi tạo cuộc trao đổi.

kWeaveExchangeFlag_NeedsAck

Đặt khi tin nhắn hiện tại đang yêu cầu xác nhận từ người nhận.

WeaveExchangeVersion

 WeaveExchangeVersion

Phiên bản tiêu đề Weave Exchange.

WeaveMessageFlags

 WeaveMessageFlags

Các cờ được liên kết với một tin nhắn Weave đến hoặc đi.

Các giá trị được xác định ở đây được sử dụng trong trường WeaveMessageInfo.Flags .

Tính chất
kWeaveMessageFlag_DefaultMulticastSourceAddress

Cho biết rằng lựa chọn địa chỉ nguồn IPv6 mặc định sẽ được sử dụng khi gửi các bản tin đa hướng IPv6.

kWeaveMessageFlag_DelaySend

Cho biết rằng việc gửi tin nhắn cần bị trì hoãn.

kWeaveMessageFlag_DestNodeId

Cho biết rằng ID nút đích có trong tiêu đề tin nhắn Weave.

kWeaveMessageFlag_DuplicateMessage

Cho biết tin nhắn là bản sao của tin nhắn đã nhận trước đó.

kWeaveMessageFlag_FromInitiator

Cho biết rằng nguồn của thông báo là người khởi xướng trao đổi Weave.

kWeaveMessageFlag_MessageEncoded

Cho biết rằng thông báo Weave đã được mã hóa.

kWeaveMessageFlag_MsgCounterSyncReq

Cho biết rằng người gửi yêu cầu đồng bộ hóa bộ đếm tin nhắn của người ngang hàng.

kWeaveMessageFlag_MulticastFromLinkLocal

Bí danh không dùng nữa cho kWeaveMessageFlag_DefaultMulticastSourceAddress .

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

Cho biết rằng bộ đếm tin nhắn khóa nhóm ngang hàng không được đồng bộ hóa.

kWeaveMessageFlag_PeerRequestedAck

Cho biết rằng người gửi tin nhắn đã yêu cầu xác nhận.

kWeaveMessageFlag_RetainBuffer

Cho biết rằng bộ đệm thư sẽ không được giải phóng sau khi gửi.

kWeaveMessageFlag_ReuseMessageId

Cho biết rằng mã nhận dạng tin nhắn hiện có phải được sử dụng lại.

kWeaveMessageFlag_ReuseSourceId

Cho biết rằng mã định danh nút nguồn hiện có phải được sử dụng lại.

kWeaveMessageFlag_SourceNodeId

Cho biết rằng ID nút nguồn có trong tiêu đề tin nhắn Weave.

kWeaveMessageFlag_TunneledData

Chỉ ra rằng trọng tải bản tin Weave là một gói IP đường hầm.

kWeaveMessageFlag_ViaEphemeralUDPPort

Cho biết tin nhắn đang được gửi / nhận qua cổng UDP tạm thời cục bộ.

WeaveMessageVersion

 WeaveMessageVersion

Phiên bản của định dạng Thông điệp Weave.

Weave sẽ chọn phiên bản tin nhắn phù hợp dựa trên định dạng khung cần thiết cho tin nhắn Weave. Theo mặc định, phiên bản thông báo là kWeaveMessageVersion_V1. Ví dụ: khi sử dụng Nhắn tin đáng tin cậy của Weave, phiên bản là kWeaveMessageVersion_V2.

Tính chất
kWeaveMessageVersion_Unspecified

Phiên bản tin nhắn không xác định.

kWeaveMessageVersion_V1

Định dạng tiêu đề thư phiên bản V1.

kWeaveMessageVersion_V2

Định dạng tiêu đề thư phiên bản V2.

WeaveSubnetId

 WeaveSubnetId

Weave có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị điển hình.

Các số này được gán ở đây cho các hằng số tượng trưng. Các số mạng con này được Weave sử dụng để định cấu hình địa chỉ IPv6 ULA trên các giao diện thích hợp.

Tính chất
kWeaveSubnetId_MobileDevice

Định danh mạng con cho tất cả các thiết bị Di động.

kWeaveSubnetId_NotSpecified

Được bảo lưu dưới dạng giá trị không xác định hoặc giá trị rỗng.

kWeaveSubnetId_PrimaryWiFi

Số mạng con của giao diện vô tuyến WiFi.

kWeaveSubnetId_Service

Định danh mạng con cho các điểm cuối của Dịch vụ Nest.

kWeaveSubnetId_ThreadAlarm

Số mạng con của giao diện radio cảnh báo Chủ đề.

kWeaveSubnetId_ThreadMesh

Định danh mạng con giao diện vô tuyến lưới Thread.

kWeaveSubnetId_WiFiAP

Số mạng con của giao diện Wi-Fi AP cục bộ.

WeaveVendorId

 WeaveVendorId

Typedefs

VảiSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

Xác định loại thiết bị có thể sở hữu và sử dụng bí mật vải.

WeaveAuthMode

uint16_t WeaveAuthMode

Xác định cách một nút ngang hàng được xác thực.

WeaveAuthMode mô tả phương tiện mà một nút ngang hàng đã được hoặc phải được xác thực trong quá trình trao đổi thông điệp Weave. Trong ngữ cảnh khởi tạo, các ứng dụng sử dụng WeaveAuthMode để thể hiện chế độ xác thực ngang hàng mong muốn cho một cuộc trao đổi, do đó hướng dẫn các lớp bảo mật và nhắn tin của Weave để đạt được chế độ mong muốn hoặc không giao tiếp được. Trong ngữ cảnh phản hồi, WeaveAuthMode xác định cách xác thực nút yêu cầu (ngang hàng), cho phép ứng dụng phản hồi thực thi các kiểm soát truy cập dựa trên thông tin này.

WeaveAuthMode được gán cho một tin nhắn Weave đến có liên quan đến bản chất của khóa được sử dụng để mã hóa tin nhắn đó. WeaveAuthMode bắt nguồn từ cơ chế thiết lập khóa và các tiêu chí được sử dụng để xác minh danh tính của các bên liên lạc tại thời điểm thiết lập khóa.

WeaveAuthMode bao gồm một tập hợp các giá trị được xác định trước mô tả các chế độ xác thực phổ biến. Chúng được chia nhỏ theo cơ chế thỏa thuận chính (CASE, PASE, GroupKey, v.v.). Các nhà phát triển có thể mở rộng WeaveAuthMode bằng cách xác định các chế độ dành riêng cho ứng dụng mà họ có thể đính kèm vào các khóa mã hóa cụ thể.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Các loại mã hóa cho tin nhắn Weave.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Các bit cờ tiêu đề Weave Exchange.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Phiên bản tiêu đề Weave Exchange.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

Các cờ được liên kết với một tin nhắn Weave đến hoặc đi.

Các giá trị được xác định ở đây được sử dụng trong trường WeaveMessageInfo.Flags .

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Phiên bản của định dạng Thông điệp Weave.

Weave sẽ chọn phiên bản tin nhắn phù hợp dựa trên định dạng khung cần thiết cho tin nhắn Weave. Theo mặc định, phiên bản thông báo là kWeaveMessageVersion_V1. Ví dụ: khi sử dụng Nhắn tin đáng tin cậy của Weave, phiên bản là kWeaveMessageVersion_V2.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị điển hình.

Các số này được gán ở đây cho các hằng số tượng trưng. Các số mạng con này được Weave sử dụng để định cấu hình địa chỉ IPv6 ULA trên các giao diện thích hợp.

Biến

ExchangeMgr

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

Nhà máy

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 }

Trình phân loại khóa được sử dụng để lấy khóa mã hóa tin nhắn Weave.

Giá trị này đại diện cho 4 byte đầu tiên của SHA-1 HASH của cụm từ "Nest Weave Message EK và AK".

Chức năng

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

Trả về ID khóa chính của nhóm ứng dụng được liên kết với chế độ xác thực.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

Trả về chế độ xác thực CASE tương ứng cho một loại chứng chỉ nhất định.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

Trả về nguồn mật khẩu cho chế độ xác thực đã cho.

DecodeHeaderField

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

DefaultOnMessageReceive

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
)

Đưa ra lỗi Weave, trả về chuỗi C kết thúc bằng NULL mà con người có thể đọc được mô tả lỗi.

Chi tiết
Thông số
[in] buf
Bộ đệm mà chuỗi lỗi sẽ được đặt vào.
[in] bufSize
Kích thước của bộ đệm được cung cấp tính bằng byte.
[in] err
Lỗi được mô tả.
Lợi nhuận
true Nếu một chuỗi mô tả được ghi vào bộ đệm được cung cấp.
Lợi nhuận
false Nếu lỗi được cung cấp không phải là lỗi Weave.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

Tạo Id nút Weave ngẫu nhiên.

Hàm này tạo Id nút Weave duy nhất cục bộ 64-bit. Hàm này sử dụng nguồn dữ liệu ngẫu nhiên mạnh về mặt mật mã để đảm bảo tính duy nhất của giá trị được tạo. Lưu ý rằng bit 57 của Id nút Weave được tạo được đặt thành 1 để chỉ ra rằng Id nút Weave được tạo là duy nhất cục bộ (không phải trên toàn cầu).

Chi tiết
Thông số
nodeId
Tham chiếu đến Id nút Weave 64-bit.
Giá trị trả lại
WEAVE_NO_ERROR
Nếu Id nút Weave đã được tạo thành công.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

Hàm này tạo ra số Fibonacci 32 bit cho một chỉ số 32 bit nhất định.

Chi tiết
Lợi nhuận
Số fibonacci không dấu 32 bit.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

Hàm này tạo ra số ngẫu nhiên 16 bit không dấu.

Chi tiết
Lợi nhuận
Số nguyên ngẫu nhiên không dấu 16 bit.

GetRandU32

uint32_t GetRandU32(
  void
)

Hàm này tạo ra số ngẫu nhiên không dấu 32 bit.

Chi tiết
Lợi nhuận
Số nguyên ngẫu nhiên không dấu 32-bit.

GetRandU64

uint64_t GetRandU64(
  void
)

Hàm này tạo ra số ngẫu nhiên không dấu 64-bit.

Chi tiết
Lợi nhuận
Số nguyên ngẫu nhiên không dấu 64-bit.

GetRandU8

uint8_t GetRandU8(
  void
)

Hàm này tạo ra số ngẫu nhiên không dấu 8 bit.

Chi tiết
Lợi nhuận
Số nguyên ngẫu nhiên không dấu 8 bit.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

Trả về chế độ xác thực khóa nhóm tương ứng cho một ID khóa nhất định.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

Chuyển đổi số nhận dạng giao diện địa chỉ IPv6 thành số nhận dạng nút Weave.

Để thuận tiện cho việc kiểm tra, các số nhận dạng nút nhỏ hơn hoặc bằng #kMaxAlwaysLocalWeaveNodeId (65535) được coi là 'cục bộ' và có bit cục bộ / phổ quát của chúng được đặt thành 0. Điều này đơn giản hóa việc biểu diễn chuỗi của các địa chỉ IPv6 tương ứng. Ví dụ, một ULA cho số nhận dạng nút 10 sẽ là FD00:0 : 1: 1 :: A.

Chi tiết
Thông số
[in] interfaceId
Mã định danh giao diện 64 bit.
Lợi nhuận
số nhận dạng nút Weave 64 bit được ánh xạ.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

Đúng nếu chế độ xác thực dựa trên giao thức Weave CASE.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

Đúng nếu chế độ xác thực dựa trên việc sở hữu khóa riêng được liên kết với chứng chỉ.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

Đúng nếu chế độ xác thực dựa trên việc sở hữu khóa nhóm được chia sẻ.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

Đúng nếu chế độ xác thực dựa trên giao thức Weave PASE.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

Đúng nếu chế độ xác thực dựa trên việc sở hữu mật khẩu được chia sẻ.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

Đúng nếu chế độ xác thực dựa trên giao thức 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
)

Trả về chế độ xác thực PASE tương ứng cho một nguồn mật khẩu nhất định.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

Trả về nguồn mật khẩu cho chế độ xác thực đã cho.

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
)

WeaveF FabricIdToIPv6GlobalId

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Chuyển đổi số nhận dạng vải dệt thành số nhận dạng toàn cầu IPv6 ULA.

Định danh toàn cầu ULA cho địa chỉ vải là 40 bit thấp hơn của ID vải 64 bit của vải.

Chi tiết
Thông số
[in] FabricId
Định danh vải dệt.
Lợi nhuận
định danh toàn cầu IPv6 được ánh xạ.

WeaveMessageSourceToStr

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

WeaveNodeAddrToStr

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

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Chuyển đổi số nhận dạng nút Weave thành số nhận dạng giao diện địa chỉ IPv6.

Số nhận dạng nút dệt là EUI-64 phổ quát / cục bộ, theo RFC-3513 được chuyển đổi thành mã nhận dạng giao diện bằng cách đảo ngược bit cục bộ / phổ quát (bit 57 tính LSB là 0).

Để thuận tiện cho việc kiểm tra, các số nhận dạng nút nhỏ hơn hoặc bằng #kMaxAlwaysLocalWeaveNodeId (65535) được coi là 'cục bộ' và có bit cục bộ / phổ quát của chúng được đặt thành 0. Điều này đơn giản hóa việc biểu diễn chuỗi của các địa chỉ IPv6 tương ứng. Ví dụ, một ULA cho số nhận dạng nút 10 sẽ là FD00:0 : 1: 1 :: A.

Chi tiết
Thông số
[in] nodeId
Định danh nút Weave 64-bit.
Lợi nhuận
định danh giao diện IPv6.

tối đa

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

min

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