nl::Weave

Tóm tắt

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 việc áp dụng chứng chỉ.
@40 enum
Xác định nguồn của mật khẩu dùng trong một 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
Tạo nhiều kích thước đa dạng hơn cho khoá ứng dụng mã hoá thư.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
Định nghĩa liên quan đến tiêu đề của thông báo Weave được mã hoá.
@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 EUI-64 của IEEE.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Các dải mã nút Weave đặc biệt.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Các loại mã hoá cho thư 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ờ liên kết với thư đến hoặc thư đi trên Weave.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Phiên bản của định dạng Weave Message (Thông báo dạng 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 riêng biệt trên các thiết bị thông thường.
WeaveVendorId enum

Typedef

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 xác thực một nút ngang hàng.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Các loại mã hoá cho thư 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ờ liên kết với thư Weave đến hoặc đi.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Phiên bản của định dạng Weave Message (Thông báo dạng 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 riêng biệt trên các 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
Công cụ đa dạng hoá khoá dùng để trích xuất khoá mã hoá thông báo trên Weave.

Hàm

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
Trả về mã khoá 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
Với lỗi Weave, hàm sẽ trả về một chuỗi C kết thúc bằng NULL (Rỗng) mà con người có thể đọc được, trong đó 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 chỉ mục 32 bit đã cho.
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 chưa ký.
GetRandU64(void)
uint64_t
Hàm này tạo số ngẫu nhiên 64 bit chưa ký.
GetRandU8(void)
uint8_t
Hàm này tạo số ngẫu nhiên 8 bit chưa ký.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
Trả về chế độ xác thực khoá nhóm tương ứng cho một mã khoá cho trước.
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
Đú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 khoá riêng tư được liên kết với một chứng chỉ.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu một khoá nhóm dùng chung.
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 mật khẩu dùng chung.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
Đúng nếu chế độ xác thực dựa trên giao thức Weave thô.
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 cụ thể.
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ục ULA của IPv6.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
KHÔNG DÙNG NỮA, thay vào đó hãy sử dụng WeaveMessageLayer::GetPeerDescription().
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
KHÔNG DÙNG NỮA, thay vào đó hãy sử dụng WeaveMessageLayer::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::Weave::Binding

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

nl::Weave::Counter

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

nl::Weave::FabricStateDelegate

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

nl::Weave::HostPortList

Để quản lý và điều chỉnh Danh sách cổng lưu trữ, một tập hợp nhỏ gọn, được mã hoá nhị phân gồm các bộ nhận dạng 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::MonotonicallyIncreasingCounter

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 một giá trị số nguyên dùng để duy trì sau khi khởi động lại.

nl::Weave::WeaveConnection

Định nghĩa về lớp Weave Connection.

nl::Weave::WeaveConnectionTunnel

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

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

Thao tác này chỉ định hồ sơ 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

Phần khai báo chuyển tiếp của WeaveFabricState.

nl::Weave::WeaveKeyId

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

nl::Weave::WeaveMessageLayer

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

nl::Weave::WeaveMsgEncryptionKey

Chứa thông tin về khoá mã hoá thư Weave.

nl::Weave::WeaveMsgEncryptionKeyCache

Bộ nhớ đệm khoá cho khoá mã hoá thư Weave.

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

Đối tượng cơ sở phổ biến để triển khai trình phản hồi (máy chủ) không mong muốn của hồ sơ Weave. Đối tượng này đó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ớ 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ở phổ biến để triển khai các đối tượng uỷ quyền của máy chủ Weave.

nl::Weave::WeaveSessionKey

Chứa thông tin về khoá phiên Weave.

nl::Weave::WeaveSessionState

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

Liên đoàn

nl::Weave::WeaveEncryptionKey

Không gian tên

nl::Weave::ASN1

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

nl::Weave::Crypto

Không gian tên này bao gồm tất cả giao diện trong Weave để hỗ trợ mã hoá dùng chung.

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

Không gian tên này cung cấp các hàm cho:

nl::Weave::Logging

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

nl::Weave::Platform
nl::Weave::Profiles

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

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

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

nl::Weave::Warm

Không gian tên này bao gồm các giao diện dành 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à tuyến đường của Weave.

Liệt kê

@21

 @21
Thuộc tính
kFlagAckPending

Liệu hệ thống có thể sẽ phản hồi một tin nhắn đang được gửi hay không.

kFlagAutoReleaseConnection

Tự động giải phóng khoá mã hoá thư khi bối cảnh trao đổi được giải phóng.

kFlagAutoReleaseKey

Khi bạn đặt chính sách này, biểu thị rằng ít nhất một tin nhắn đã được nhận từ ứng dụng ngang hàng trong ngữ cảnh trao đổi này.

kFlagAutoRequestAck

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

kFlagConnectionClosed

Ngữ cảnh này là yếu tố khởi tạo của quá trình trao đổi.

kFlagDropAck

Khi bạn đặt chính sách này, hệ thống sẽ 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 bạn đặt chính sách này, biểu thị rằng ít nhất một tin nhắn nhận được trong sàn giao dịch này đã yêu cầu xác nhận.

Ứng dụng sẽ đọc cờ này để quyết định xem có cần yêu cầu xác nhận cho 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 ứng dụng ngang hàng có đang sử dụng WRMP hay không.

kFlagPeerRequestedAck

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

kFlagResponseExpected

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

kFlagUseEphemeralUDPPort

Tự động giải phóng WeaveConnection được 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ỉ nên sử dụng cho mục đích kiểm thử).

@39 tuổi

 @39

Xác định mục đích hoặc việc áp dụng 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 dưới dạng thuộc tính của chứng chỉ tương ứng mà được lấy từ cấu trúc của chứng chỉ và/hoặc bối cảnh sử dụng chứng chỉ. Liệt kê loại chứng chỉ bao gồm một nhóm giá trị được xác định trước, mô tả các ứ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 đó mô tả các chứng chỉ hoặc chứng chỉ tuỳ chỉnh có thuộc tính bảo mật riêng biệt.

Các loại chứng chỉ chủ yếu được dùng trong việc triển khai các 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ỉ mà người yêu cầu cung cấp.

Thuộc tính
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ý chương trình cơ sở Weave.

kCertType_General

Chứng chỉ này 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

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

kCertType_ServiceEndpoint

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

@40

 @40

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

Ứng dụng ngang hàng được xác thực 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

Ứng dụng ngang hàng được xác thực bằng một khoá nhóm dùng chung.

kWeaveAuthModeCategory_PASE

Ứng dụng ngang hàng được xác thực bằng giao thức Weave PASE.

kWeaveAuthModeCategory_TAKE

Ứng dụng ngang hàng được xác thực bằng giao thức Weave thô.

kWeaveAuthMode_CASE_AccessToken

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

kWeaveAuthMode_CASE_AnyCert

Ứng dụng ngang hàng được xác thực bằng CASE với chứng chỉ tuỳ ý hoặc chứng chỉ thuộc loại không xác định.

kWeaveAuthMode_CASE_Device

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

kWeaveAuthMode_CASE_GeneralCert

Ứng dụng ngang hàng được xác thực bằng CASE với một 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 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

Xác thực kết nối ngang hàng bằng PASE với mã ghép nối thiết bị.

kWeaveAuthMode_TAKE_IdentificationKey

Ứng dụng ngang hàng được xác thực bằng hàm GET bằng khoá 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 mã bí mật tương ứng cho vải.

@43

 @43
Thuộc tính
kTestKey_AES128CTRSHA1_DataKeyByte

Giá trị byte tạo nên khoá mã hoá (chỉ dùng cho mục đích kiểm thử).

kTestKey_AES128CTRSHA1_IntegrityKeyByte

Giá trị byte tạo nên khoá về tính toàn vẹn (chỉ dùng cho mục đích kiểm thử).

@44

 @44

Tạo nhiều kích thước đa dạng hơn cho khoá ứng dụng mã hoá 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 cả ký tự NUL) do WeaveMessageLayer::GetPeerDescription() trả về.

@55

 @55

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

Thuộc tính
kWeaveHeaderFlag_DestNodeId

Cho biết rằng 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ộ hoá bộ đếm tin nhắn.

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 rằng tải trọng thông báo Weave là một gói IP được tạo đường hầm.

@56

 @56

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

Thuộc tính
kEUI64_IG_Group

Giá trị bit Cá nhân/Nhóm cho biết mã nhận dạng EUI-64 của địa chỉ nhóm.

kEUI64_IG_Individual

Giá trị bit Cá nhân/Nhóm biểu thị một địa chỉ cá nhân có mã nhận dạng EUI-64.

kEUI64_IG_Mask

Bitmask cho bit Cá nhân/Nhóm (I/G) trong mã 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 id là địa chỉ của nhóm.

kEUI64_UL_Local

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

kEUI64_UL_Mask

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

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

kEUI64_UL_Unversal

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

@57

 @57

Các dải đặc biệt của mã nút Weave.

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ộ để thuận tiện cho việc kiểm thử.

WeaveEncryptionType

 WeaveEncryptionType

Các loại mã hoá cho thư Weave.

Thuộc tính
kWeaveEncryptionType_AES128CTRSHA1

Thư được mã hoá bằng phương thức mã hoá AES-128-CTR với tính toàn vẹn của thông báo HMAC-SHA-1.

kWeaveEncryptionType_None

Thư không được mã hoá.

WeaveExchangeFlags

 WeaveExchangeFlags

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

Thuộc tính
kWeaveExchangeFlag_AckId

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

kWeaveExchangeFlag_Initiator

Đặt thời điểm người khởi tạo giao dịch trao đổi gửi tin nhắn hiện tại.

kWeaveExchangeFlag_NeedsAck

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

WeaveExchangeVersion

 WeaveExchangeVersion

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

WeaveMessageFlags

 WeaveMessageFlags

Cờ liên kết với thư Weave đến hoặc đi.

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

Thuộc tính
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 thông báo đa hướng IPv6.

kWeaveMessageFlag_DelaySend

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

kWeaveMessageFlag_DestNodeId

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

kWeaveMessageFlag_DuplicateMessage

Cho biết rằng thư này trùng lặp với thư đã nhận trước đó.

kWeaveMessageFlag_FromInitiator

Cho biết rằng nguồn của thư là bên khởi tạo cho hoạt động trao đổi Weave.

kWeaveMessageFlag_MessageEncoded

Cho biết thông báo Weave đã được mã hoá.

kWeaveMessageFlag_MsgCounterSyncReq

Cho biết rằng người gửi yêu cầu đồng bộ hoá bộ đếm tin nhắn của ứng dụng 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 thông báo chính theo nhóm của ứng dụng ngang hàng chưa được đồng bộ hoá.

kWeaveMessageFlag_PeerRequestedAck

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

kWeaveMessageFlag_RetainBuffer

Cho biết không nên giải phóng vùng đệm thông báo sau khi gửi.

kWeaveMessageFlag_ReuseMessageId

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

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 rằng tải trọng thông báo Weave là một gói IP được tạo đường hầm.

kWeaveMessageFlag_ViaEphemeralUDPPort

Cho biết thông báo đ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 Weave Message (Thông báo dạng Weave).

Weave sẽ chọn phiên bản thông báo phù hợp dựa trên định dạng khung cần thiết 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 WeaveTrusted 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 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 riêng biệt trên các thiết bị thông thường.

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

Thuộc tính
kWeaveSubnetId_MobileDevice

Mã nhận dạng mạng con cho tất cả thiết bị di động.

kWeaveSubnetId_NotSpecified

Được đặt trước dưới dạng một giá trị không được chỉ định hoặc rỗng.

kWeaveSubnetId_PrimaryWiFi

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

kWeaveSubnetId_Service

Giá trị nhận dạng 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 vô tuyến báo thức chuỗi.

kWeaveSubnetId_ThreadMesh

Giá trị nhận dạng mạng con giao diện vô tuyến của lưới Thread.

kWeaveSubnetId_WiFiAP

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

WeaveVendorId

 WeaveVendorId

Typedef

FabricSecretRotationScheme

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 xác thực một nút ngang hàng.

WeaveAuthMode mô tả phương tiện mà một nút ngang hàng đã hoặc sẽ được xác thực trong quá trình trao đổi thông báo 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 trao đổi, từ đó 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 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 (ứng dụng ngang hàng), 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 thông báo Weave đến có liên quan đến bản chất của khoá đã được dùng để mã hoá thông báo đó. WeaveAuthMode bắt nguồn từ cơ chế mà khoá được thiết lập và tiêu chí được 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 khoá.

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 khoá này được chia nhỏ theo cơ chế thoả 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 mà họ có thể đính kèm vào các khoá mã hoá cụ thể.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Các loại mã hoá cho thư 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ờ liên kết với thư Weave đến hoặc đi.

Các giá trị được xác định ở đây là để 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 Weave Message (Thông báo dạng Weave).

Weave sẽ chọn phiên bản thông báo phù hợp dựa trên định dạng khung cần thiết 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 riêng biệt trên các thiết bị thông thường.

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

Biến

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 }

Công cụ đa dạng hoá khoá dùng để trích xuất khoá mã hoá thông báo trên Weave.

Giá trị này biểu thị 4 byte đầu tiên của SHA-1 HASH của "Nest Weave Message EK và AK" cụm từ tìm kiếm.

Hàm

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

Trả về mã khoá 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
)

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
)

Với lỗi Weave, hàm sẽ trả về một chuỗi C kết thúc bằng NULL (Rỗng) mà con người có thể đọc được, trong đó mô tả lỗi.

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

GenerateWeaveNodeId

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 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 được mã hoá để đảm bảo tính riêng biệt của giá trị được tạo. Lưu ý rằng bit 57 của Id nút Weave đã tạo được đặt thành 1 để cho biết 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ục).

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

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

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

Thông tin chi tiết
Trả về
Số fibonacci 32 bit chưa ký.

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 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 16 bit chưa ký.

GetRandU32

uint32_t GetRandU32(
  void
)

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

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên 32 bit chưa ký.

GetRandU64

uint64_t GetRandU64(
  void
)

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

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên 64 bit chưa ký.

GetRandU8

uint8_t GetRandU8(
  void
)

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

Thông tin chi tiết
Trả về
Số nguyên ngẫu nhiên 8 bit chưa ký.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

Trả về chế độ xác thực khoá nhóm tương ứng cho một mã khoá cho trước.

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 kiểm thử, các giá trị nhận dạng nút nhỏ hơn hoặc bằng #kMaxAlwaysLocalWeaveNodeId (65535) được coi là "cục bộ" và đặt bit chung/cục bộ thành 0. Điều này giúp đơn giản hoá việc biểu diễn các địa chỉ IPv6 tương ứng dưới dạng chuỗi. 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
Tham số
[in] interfaceId
Giá trị nhận dạng giao diện 64 bit.
Trả về
giá trị 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 khoá riêng tư được liên kết với một 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 một khoá nhóm dùng chung.

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 mật khẩu dùng chung.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

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

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 cụ thể.

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
)

WeaveFabricIdToIPv6GlobalId (Mã nhận dạng toàn cầu)

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ục ULA của IPv6.

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

Thông tin chi tiết
Tham số
[in] fabricId
Giá trị nhận dạng vải Weave.
Trả về
giá trị nhận dạng toàn cục của IPv6 được ánh xạ.

WeaveMessageSourceToStr

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

KHÔNG DÙNG NỮA, thay vào đó hãy sử dụng WeaveMessageLayer::GetPeerDescription().

WeaveNodeAddrToStr

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

KHÔNG DÙNG NỮA, thay vào đó hãy sử dụng WeaveMessageLayer::GetPeerDescription().

Mã giao diện WeaveNodeIdToIPv6

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 dệt là EUI-64 Universal/Local, theo RFC-3513 được chuyển đổi thành định danh giao diện bằng cách đảo ngược bit phổ/cục bộ (bit 57 tính LSB là 0).

Để thuận tiện cho việc kiểm thử, các giá trị nhận dạng nút nhỏ hơn hoặc bằng #kMaxAlwaysLocalWeaveNodeId (65535) được coi là "cục bộ" và đặt bit chung/cục bộ thành 0. Điều này giúp đơn giản hoá việc biểu diễn các địa chỉ IPv6 tương ứng dưới dạng chuỗi. 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
Tham số
[in] nodeId
Giá trị nhận dạng nút Weave 64 bit.
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
)