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.

nl::Dệt

Tóm tắt

Bảng liệt 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 của mật khẩu 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
Kích thước bộ mã hóa khóa ứng dụng mã hóa thư.
@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 đã 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 giá trị nhận dạng IEEE EUI-64.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Mã phạm vi nút Weave đặc biệt.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Các loại mã hóa dành cho thông báo Weave.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Các 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 liên kết với thông báo 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 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 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 thiết bị thông thường.
WeaveVendorId enum

Typedef

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Xác định danh mục thiết bị có thể sở hữu và sử dụng mã bí mật.
WeaveAuthMode typedef
uint16_t
Xác định cách xác thực một nút ngang hàng.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Các loại mã hóa dành cho thông báo Weave.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Các 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 liên kết với thông báo Weave đến hoặc đi.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Phiên bản của định dạng Weave Message.
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 thiết bị thông thường.

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
Bộ phân loại khóa dùng để lấy khóa mã hóa tin nhắn Weave.

Hàm

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
Trả về mã nhận dạng chính của nhóm ứng dụng 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ỉ đã cho.
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
Khi gặp lỗi Weave, hệ thống sẽ trả về một chuỗi C có điểm cuối là NULL có thể đọc được và mô tả lỗi đó.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
Tạo mã nút Weave ngẫu nhiên.
GetFibonacciForIndex(uint32_t index)
uint32_t
Hàm này tạo số Fibonacci 32 bit cho một chỉ mục 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 số ngẫu nhiên 16 bit chưa ký.
GetRandU32(void)
uint32_t
Hàm này tạo số ngẫu nhiên 32 bit không có chữ ký.
GetRandU64(void)
uint64_t
Hàm này tạo số ngẫu nhiên 64 bit không dấu.
GetRandU8(void)
uint8_t
Hàm này tạo số ngẫu nhiên 8 bit không có chữ ký.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
Trả về chế độ xác thực của khóa nhóm tương ứng cho một mã nhận dạng nhất định.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
Chuyển đổi giá trị nhận dạng giao diện địa chỉ IPv6 thành giá trị nhận dạng nút Weave.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
True nếu chế độ xác thực dựa trên giao thức Weave CASE.
IsCertAuthMode(WeaveAuthMode authMode)
bool
True nếu chế độ xác thực dựa trên việc sở hữu khóa riêng tư được liên kết với một chứng chỉ.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
True 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
True nếu chế độ xác thực dựa trên giao thức Weave PASE.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
True nếu chế độ xác thực dựa trên mật khẩu được chia sẻ.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
True 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, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
void
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
uint64_t
Chuyển đổi giá trị nhận dạng vải Weave thành giá trị nhận dạng toàn cầu ULA.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
ĐÃ NGỪNG HOẠT ĐỘNG Hãy sử dụng WeaveMessageClass::GetPeerDescription().
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
ĐÃ NGỪNG HOẠT ĐỘNG Hãy sử dụng WeaveMessageClass::GetPeerDescription().
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Chuyển đổi giá trị nhận dạng nút Weave thành giá trị 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 &

Lớp

nl::Dệt::Liên kết

Chụp mục tiêu dự kiến của thông tin Weave và thông tin cấu hình được liên kết.

nl::Weave::Bộ đếm

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 cuộc trò chuyện đang diễn ra (ExchangeContext) giữa hai hoặc nhiều nút.

nl::Weave::FabricStateDelegate

Lớp ủy quyền trừu tượng này thông báo về các thay đổi ở trạng thái vải.

nl::Weave::HostPortList

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

nl::Dệt::JNIUtils
nl::Weave::MonotonicallyIncrthì Counter

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

nl:: Dệt::Bộ đếm lâu dài

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

nl::Weave::WeaveConnection

Định nghĩa của lớp WeaveConnection.

nl::Weave::WeaveConnectionTunnel

Lớp định nghĩa của lớp WeaveConnectionTunnel, quản lý một cặp TCPEndPoints có các WeaveConnections ban đầu đã được ghép nối, và giữa chúng, WeaveMessageOverlay chuyển tiếp tất cả dữ liệu và các lần đóng 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 dùng để quản lý ExchangeContexts với các nút Weave khác.

nl::Weave::WeaveFabricState

Khai báo WeaveFabricState.

nl::Weave::WeaveKeyId

Định nghĩa giá trị nhận dạng Weave Key.

nl::Weave::WeaveMessagelayer

Định nghĩa của lớp WeaveMessagelayer, quản lý hoạt động giao tiếp với các nút Weave khác.

nl::Weave::WeaveMMSEncryptionKey

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

nl::Weave::WeaveMMSEncryptionKeyCache

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

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

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

nl::Weave::WeaveServerDelegateBase

Một lớp cơ sở phổ biến để triển khai các đối tượng ủy quyền của máy chủ Weave.

nl::Weave::WeaveSessionKey

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

nl::Weave::WeaveSessionState

Chuyển tải trạng thái giao tiếp cần thiết để gửi/nhận tin nhắn bằng 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ề thông báo Weave đang trong quá trình gửi hoặc nhận.

Liên minh

nl::Weave::WeaveEncryptionKey

Không gian tên

nl::Dệt::ASN1

Vùng chứa 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::Tiền mã hóa

Vùng chứa tên này bao gồm tất cả giao diện trong Weave để hỗ trợ mật mã dùng chung.

nl::Dệt::Devicelayer
nl::Weave::DeviceManager
nl::Weave::Mã hóa

Vùng chứa tên này cung cấp các hàm cho:

nl::Weave::Ghi nhật ký

Vùng chứa tên này bao gồm tất cả giao diện trong Weave để hỗ trợ việc ghi nhật ký được chia sẻ.

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

Vùng chứa tên này bao gồm tất cả giao diện trong hồ sơ Weave cho Weave, cả Thông thường và nhà cung cấp Nest Labs.

nl::Weave::SecuritySupport
nl::Weave::Thống kê
nl::Weave::Hỗ trợ
nl::Weave::Hệ thống
nl::Dệt::TLV

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

nl::Weave::Giữ ấm

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

Bảng liệt kê

@21

 @21
Thuộc tính
kFlagAckPending

Nếu phản hồi sẽ được gửi cho một thư đang được gửi.

kFlagAutoReleaseConnection

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

kFlagAutoReleaseKey

Khi được đặt, nghĩa là có ít nhất một thông báo đã được nhận từ đồng nghiệp trên ngữ cảnh trao đổi này.

kFlagAutoRequestAck

Ngữ cảnh này liên kết với một WeaveConnection.

kFlagConnectionClosed

Bối cảnh này là phần khởi đầu sự trao đổi.

kFlagDropAck

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

kFlagMsgRcvdFromPeer

Khi được đặt, biểu thị rằng có ít nhất một thư đã 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 có cần yêu cầu xác nhận thông báo phản hồi mà ứng dụng sắp gửi hay không. Cờ này cũng có thể cho biết liệu ứng dụng ngang hàng có đang dùng WRMP hay không.

kFlagPeerRequestedAck

Khi được đặt, biểu thị rằng có một lời xác nhận đang chờ gửi lại.

kFlagResponseExpected

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

kFlagUseEphemeralUDPPort

Tự động phát hành WeaveConnection đã liên kết khi ngữ cảnh trao đổi được giải phóng.

@36

 @36

@37

 @37

@38

 @38
Thuộc tính
kFabricIdDefaultForTest

Mã vải mặc định, chỉ 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 dùng làm thuộc tính của chứng chỉ tương ứng, mà bắt nguồn từ cấu trúc của chứng chỉ và/hoặc ngữ cảnh sử dụng của chứng chỉ đó. Loại 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ả những ứng dụng chứng chỉ thường dùng. Nhà phát triển cũng có thể mở rộng phạm vi giá trị của loại chứng chỉ bằng các loại dành riêng cho ứng dụng, trong đó có mô tả các chứng chỉ tùy chỉnh hoặc chứng chỉ có các thuộc tính bảo mật riêng.

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

Thuộc tính
kCertType_AccessToken

Chứng chỉ mã truy cập Weave.

kCertType_AppDefinedBase

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

kCertType_CA

Chứng chỉ CA.

kCertType_Device

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

kCertType_FirmwareSigning

Chứng chỉ ký chương trình cơ sở Weave.

kCertType_General

Chứng chỉ thuộc loại 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

Bạn chưa chỉ định loại chứng chỉ.

kCertType_ServiceEndpoint

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

@40

 @40

Xác định nguồn của mật khẩu 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
Thuộc tính
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

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

kWeaveAuthModeCategory_GroupKey

Đã xác thực ngang hàng bằng khóa nhóm dùng chung.

kWeaveAuthModeCategory_PASE

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

kWeaveAuthModeCategory_TAKE

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

kWeaveAuthMode_CASE_AccessToken

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

kWeaveAuthMode_CASE_AnyCert

Ứng dụng ngang hàng đã xác thực bằng cách sử dụng trường hợp là CASE với chứng chỉ tùy ý hoặc chứng chỉ thuộc loại không xác định.

kWeaveAuthMode_CASE_Device

Đã 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 cách sử dụng trường hợp là loại chứng chỉ chung hoặc loại chứng chỉ không cụ thể.

kWeaveAuthMode_CASE_ServiceEndPoint

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

kWeaveAuthMode_NotSpecified

Chưa chỉ định chế độ xác thực.

kWeaveAuthMode_PASE_PairingCode

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

kWeaveAuthMode_TAKE_IdentificationKey

Được ứng dụng ngang hàng xác thực bằng bao gồm khóa nhận dạng mã thông báo.

kWeaveAuthMode_Unauthenticated

Ứng dụng ngang hàng chưa được xác thực.

@42

 @42
Thuộc tính
kFabricSecretScope_All

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

@34

 @43
Thuộc tính
kTestKey_AES128CTRSHA1_DataKeyByte

Giá trị byte tạo khóa mã hóa, chỉ được dùng để kiểm tra.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

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

@44

 @44

Kích thước bộ mã hóa khóa ứng dụng mã hóa thư.

@45

 @45

@53

 @53

@54

 @54
Thuộc tính
kWeavePeerDescription_MaxLength

Độ dài tối đa của chuỗi (bao gồm 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 đã mã hóa.

Thuộc tính
kWeaveHeaderFlag_DestNodeId

Cho biết mã nút đích có trong tiêu đề thông báo Weave.

kWeaveHeaderFlag_MsgCounterSyncReq

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

kWeaveHeaderFlag_SourceNodeId

Cho biết rằng mã nút nguồn có trong tiêu đề thông báo Weave.

kWeaveHeaderFlag_TunneledData

Cho biết trọng tải tin nhắn Weave là một gói IP hầm.

@56

 @56

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

Thuộc tính
kEUI64_IG_Group

Giá trị bit riêng lẻ/nhóm cho biết địa chỉ nhóm có giá trị nhận dạng EUI-64.

kEUI64_IG_Individual

Giá trị bit riêng lẻ/nhóm cho biết một địa chỉ riêng lẻ có mã nhận dạng EUI-64.

kEUI64_IG_Mask

Bitmask cho cá nhân/Nhóm (I/G) trong giá trị nhận dạng EUI-64.

Giá trị 0 cho biết mã nhận dạng là một địa chỉ cá nhân. Giá trị 1 cho biết mã nhận dạng là địa chỉ nhóm.

kEUI64_UL_Local

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

kEUI64_UL_Mask

Bitmask cho bit Universal/Local (U/L) trong giá trị nhận dạng EUI-64.

Giá trị 0 cho biết mã được quản lý trên toàn cầu (toàn cầu). Giá trị 1 cho biết mã nhận dạng được quản lý cục bộ.

kEUI64_UL_Unversal

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

@57

 @57

Mã phạm vi nút Weave đặc biệt.

Thuộc tính
kMaxAlwaysLocalWeaveNodeId

Giá trị 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ộ để thử nghiệm thuận tiện.

Loại mã hóa Weave

 WeaveEncryptionType

Các loại mã hóa dành cho thông báo Weave.

Thuộc tính
kWeaveEncryptionType_AES128CTRSHA1

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

kWeaveEncryptionType_None

Thư chưa được mã hóa.

WeaveExchangeExchanges

 WeaveExchangeFlags

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

Thuộc tính
kWeaveExchangeFlag_AckId

Đặt khi thư hiện tại được xác nhận cho một thư đã 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 một trao đổi.

kWeaveExchangeFlag_NeedsAck

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

Phiên bản WeaveExchange

 WeaveExchangeVersion

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

WeaveMessageflags

 WeaveMessageFlags

Cờ được liên kết với thông báo Weave đến hoặc đi.

Các giá trị được xác định tại đây là để sử dụng trong trường WeaveMessageInfo.flags.

Thuộc tính
kWeaveMessageFlag_DefaultMulticastSourceAddress

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

kWeaveMessageFlag_DelaySend

Cho biết rằng quá trình gửi tin nhắn cần phải bị trì hoãn.

kWeaveMessageFlag_DestNodeId

Cho biết mã nút đích có trong tiêu đề thông báo Weave.

kWeaveMessageFlag_DuplicateMessage

Cho biết rằng thư này là bản sao của một thư đã nhận trước đó.

kWeaveMessageFlag_FromInitiator

Cho biết nguồn của thông báo là người khởi tạo 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 thư của ứng dụng ngang hàng.

kWeaveMessageFlag_MulticastFromLinkLocal

Bí danh không được dùng nữa cho kWeaveMessageFlag_DefaultMulticastSourceAddress.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

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

kWeaveMessageFlag_PeerRequestedAck

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

kWeaveMessageFlag_RetainBuffer

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

kWeaveMessageFlag_ReuseMessageId

Cho biết rằng bạn phải sử dụng lại giá trị nhận dạng thư hiện có.

kWeaveMessageFlag_ReuseSourceId

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

kWeaveMessageFlag_SourceNodeId

Cho biết rằng mã nút nguồn có trong tiêu đề thông báo Weave.

kWeaveMessageFlag_TunneledData

Cho biết trọng tải tin nhắn Weave là một gói IP hầm.

kWeaveMessageFlag_ViaEphemeralUDPPort

Cho biết thư đang được gửi/nhận qua cổng UDP tạm thời trên máy.

Phiên bản của WeaveMessageMessage

 WeaveMessageVersion

Phiên bản của định dạng Weave Message.

Weave sẽ chọn phiên bản thông báo thích hợp dựa trên định dạng khung bắt buộc cho thông báo Weave. Theo mặc định, phiên bản thông báo là kWeaveMessageVersion_V1. Ví dụ: khi sử dụng Weave Trusted Messaging, phiên bản là kWeaveMessageVersion_V2.

Thuộc tính
kWeaveMessageVersion_Unspecified

Phiên bản thông báo chưa được chỉ định.

kWeaveMessageVersion_V1

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

kWeaveMessageVersion_V2

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

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 thiết bị thông thường.

Những số này được chỉ định tại đâ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.

Thuộc tính
kWeaveSubnetId_MobileDevice

Giá trị nhận dạng mạng con cho tất cả Thiết bị di động.

kWeaveSubnetId_NotSpecified

Đã đặt trước dưới dạng giá trị không xác định hoặc rỗng.

kWeaveSubnetId_PrimaryWiFi

Số mạng con của giao diện radio Wi-Fi.

kWeaveSubnetId_Service

Giá trị nhận dạng mạng con cho các điểm cuối Dịch vụ Nest.

kWeaveSubnetId_ThreadAlarm

Số mạng con của giao diện đài phát chuông báo trên Thread.

kWeaveSubnetId_ThreadMesh

Giá trị nhận dạng mạng giao diện vô tuyến Thread mesh.

kWeaveSubnetId_WiFiAP

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

Mã nhà cung cấp dịch vụ dệt

 WeaveVendorId

Typedef

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

Phạm vi vải

uint8_t FabricSecretScope

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

WeaveAuthMode

uint16_t WeaveAuthMode

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

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

WeaveAuthMode được gán cho một thông báo Weave đến có liên quan đến bản chất của khóa được sử dụng để mã hóa thông báo đó. WeaveAuthMode bắt nguồn từ cơ chế thiết lập khóa và các tiêu chí dùng để xác minh danh tính của các bên giao tiếp 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. Các thông số này được chia nhỏ theo cơ chế thỏa thuận chính (CASE, PASE, GroupKey, v.v.). 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. Chế độ này có thể đính kèm vào các khóa mã hóa cụ thể.

Khóa mã hóa Weave

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

Loại mã hóa Weave

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Các loại mã hóa dành cho thông báo Weave.

WeaveExchangeExchanges

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

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

Phiên bản WeaveExchange

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

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

WeaveMessageflags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

Cờ được liên kết với thông báo Weave đến hoặc đi.

Các giá trị được xác định tại đây là để sử dụng trong trường WeaveMessageInfo.flags.

Tiêu đề WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

Phiên bản của WeaveMessageMessage

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Phiên bản của định dạng Weave Message.

Weave sẽ chọn phiên bản thông báo thích hợp dựa trên định dạng khung bắt buộc cho thông báo Weave. Theo mặc định, phiên bản thông báo là kWeaveMessageVersion_V1. Ví dụ: khi sử dụng Weave Trusted Messaging, 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 thiết bị thông thường.

Những số này được chỉ định tại đâ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

Trạng thái vải

NL_DLL_EXPORT WeaveFabricState FabricState

Lớp thông báo

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

Bảo mật

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

Kết nối Weave

class NL_DLL_EXPORT WeaveConnection

WeaveExchangeManager

class NL_DLL_EXPORT WeaveExchangeManager

Lớp WeaveMessageMessage

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 }

kWeaveMessageEncAppKeyDiversifier

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

Bộ phân loại khóa 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 of " Nest Weave Message EK và AK" cụm từ.

Hàm

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

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

Hàm 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ỉ đã cho.

Loại chứng chỉ loại xác thực

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

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

Giải mã trường tiêu đề

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

DefaultOnMessage Nhận

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

Trường Tiêu đề mã hóa

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

FindMessageName

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

Tên hồ sơ tìm

const char * FindProfileName(
  uint32_t inProfileId
)

Lỗi định dạng

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

Khi gặp lỗi Weave, hệ thống sẽ trả về một chuỗi C có điểm cuối là NULL có thể đọc được và mô tả lỗi đó.

Thông tin chi tiết
Các thông số
[in] buf
Vùng chứa chuỗi lỗi sẽ được đặt vào đó.
[in] bufSize
Kích thước của bộ đệm đã cung cấp tính bằng byte.
[in] err
Lỗi được mô tả.
Trả về
true Nếu chuỗi mô tả được ghi vào bộ đệm được cung cấp.
Trả về
false Nếu lỗi đã cung cấp không phải là lỗi Weave.

CreateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

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

Hàm này tạo mã nút Weave 64 bit cục bộ duy nhất. Hàm này sử dụng nguồn dữ liệu ngẫu nhiên mạnh và mã hóa để đả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 để cho biết rằng Mã nút Weave đã tạo là duy nhất (không phải trên toàn cầu).

Thông tin chi tiết
Các thông số
nodeId
Tham chiếu đến mã nút dệt 64 bit.
Giá trị trả về
WEAVE_NO_ERROR
Đã tạo thành công mã nút Weave.

GetFibonacciForindex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

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

Thông tin chi tiết
Trả về
Số fibonacci không dấu 32 bit.

Tên thư

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

Tên hồ sơ

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

Hàm này tạo số ngẫu nhiên 16 bit chưa ký.

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên không dấu 16 bit.

GetRandU32

uint32_t GetRandU32(
  void
)

Hàm này tạo số ngẫu nhiên 32 bit không có chữ ký.

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên không dấu 32 bit.

GetRandU64

uint64_t GetRandU64(
  void
)

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

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên không dấu 64 bit.

GetRandU8

uint8_t GetRandU8(
  void
)

Hàm này tạo số ngẫu nhiên 8 bit không có chữ ký.

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên không dấu 8 bit.

Nhận tên nhà cung cấp

const char * GetVendorName(
  uint16_t vendorId
)

GroupAuthAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

Trả về chế độ xác thực của khóa nhóm tương ứng cho một mã nhận dạng nhất định.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

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

Để thuận tiện cho việc thử nghiệm, giá trị nhận dạng nút nhỏ hơn hoặc bằng #kMaxLuônLocalLocalaaveNodeId (65535) được coi là #39;local#39; và có giá trị toàn cầu/bit cục bộ được đặt thành 0. Việc này giúp đơn giản hóa cách biểu diễn chuỗi của địa chỉ IPv6 tương ứng. Ví dụ: ULA cho giá trị nhận dạng nút 10 sẽ là FD00:0:1:1::A.

Thông tin chi tiết
Các thông số
[in] interfaceId
Giá trị nhận dạng giao diện 64 bit.
Trả về
mã nhận dạng nút Weave 64 bit được ánh xạ.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

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

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

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

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

True 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
)

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

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

True nếu chế độ xác thực dựa trên mật khẩu được chia sẻ.

Is đảmAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

True 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
)

Mảng 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
)

Trường J2N_StringFieldVal

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

Tên lớp tạo

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

Chế độ 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.

Mật khẩu từ các phương thức xác thực

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
)

Chuỗi ToHexString

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

Khóa mã hóa WeToveKeyKeyString

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

WeaveFabricIdToIPv6globalId

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Chuyển đổi giá trị nhận dạng vải Weave thành giá trị nhận dạng toàn cầu ULA.

Giá trị nhận dạng toàn cầu của ULA cho một địa chỉ vải là 40 bit thấp hơn của mã vải 64-bit.

Thông tin chi tiết
Các thông số
[in] fabricId
Giá trị nhận dạng vải dệt.
Trả về
mã nhận dạng IPv6 toàn cầu được liên kết.

WeaveMessageSourceToStr

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

ĐÃ NGỪNG HOẠT ĐỘNG Hãy sử dụng WeaveMessageClass::GetPeerDescription().

WeaveNodeAddrToStr

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

ĐÃ NGỪNG HOẠT ĐỘNG Hãy sử dụng WeaveMessageClass::GetPeerDescription().

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

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

Giá trị nhận dạng nút Weave là Universal/Local EUI-64, theo đó RFC-3513 được chuyển đổi thành giá trị nhận dạng giao diện bằng cách đảo bit cục bộ/địa phương (bit 57 tính LSB là 0).

Để thuận tiện cho việc thử nghiệm, giá trị nhận dạng nút nhỏ hơn hoặc bằng #kMaxLuônLocalLocalaaveNodeId (65535) được coi là #39;local#39; và có giá trị toàn cầu/bit cục bộ được đặt thành 0. Việc này giúp đơn giản hóa cách biểu diễn chuỗi của địa chỉ IPv6 tương ứng. Ví dụ: ULA cho giá trị nhận dạng nút 10 sẽ là FD00:0:1:1::A.

Thông tin chi tiết
Các thông số
[in] nodeId
Giá trị nhận dạng nút 64-bit Weave.
Trả về
mã nhận dạng giao diện IPv6.

tối đa

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

phút

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