nl:: Weave
摘要
类型定义符 |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
标识可以拥有和使用结构脉络的设备的类别。 |
WeaveAuthMode
|
typedefuint16_t
标识对等节点的身份验证方式。 |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Weave 邮件的加密类型。 |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Weave Exchange 标头标记位。 |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Weave Exchange 标头版本。 |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
与入站或出站 Weave 消息关联的标志。 |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Weave Message 格式的版本。 |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave 为典型设备上的区分网络接口提供了一些预留子网编号。 |
变量 |
|
---|---|
ExchangeMgr
|
NL_DLL_EXPORT WeaveExchangeManager
|
FabricState
|
NL_DLL_EXPORT WeaveFabricState
|
MessageLayer
|
NL_DLL_EXPORT WeaveMessageLayer
|
SecurityMgr
|
NL_DLL_EXPORT WeaveSecurityManager
|
WeaveConnection
|
class NL_DLL_EXPORT
|
WeaveExchangeManager
|
class NL_DLL_EXPORT
|
WeaveMessageLayer
|
class NL_DLL_EXPORT
|
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
|
const WRMPConfig
|
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
|
const uint8_t
用于派生 Weave 消息加密密钥的密钥多样化符。
|
函数 |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
返回与身份验证模式相关联的应用组主密钥 ID。
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
返回给定证书类型的相应 CASE 身份验证模式。
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
返回指定身份验证模式的密码来源。
|
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
|
void
|
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
|
uint16_t
|
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
|
const char *
|
FindProfileName(uint32_t inProfileId)
|
const char *
|
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
|
bool
给定 Weave 错误,返回人类可读、以 NULL 结尾的 C 字符串来描述错误。
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
生成随机 Weave 节点 ID。
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
此函数为给定的 32 位索引生成 32 位的斐波那契数。
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
此函数会生成 16 位无符号随机数。
|
GetRandU32(void)
|
uint32_t
此函数生成 32 位无符号随机数。
|
GetRandU64(void)
|
uint64_t
此函数会生成 64 位无符号随机数。
|
GetRandU8(void)
|
uint8_t
此函数会生成 8 位无符号随机数。
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
返回给定密钥 ID 的相应群组密钥身份验证模式。
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
将 IPv6 地址接口标识符转换为 Weave 节点标识符。
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
如果身份验证模式基于 Weave CASE 协议,则为 true。
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
如果身份验证模式取决于拥有与证书关联的私钥,则为 true。
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
如果身份验证模式取决于拥有的共享群组密钥,则为 true。
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
如果身份验证模式基于 Weave PASE 协议,则为 true。
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
如果身份验证模式取决于拥有共享密码的情况,则为“true”。
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
如果身份验证模式基于 Weave TAKE 协议,则为 true。
|
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
|
bool
|
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
|
|
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
|
|
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
|
|
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
|
|
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
|
|
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
|
|
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
|
|
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
|
|
PASEAuthMode(uint8_t pwSource)
|
WeaveAuthMode
返回给定密码源的相应 PASE 身份验证模式。
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
返回指定身份验证模式的密码来源。
|
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
|
void
|
ToHex(const uint8_t data)
|
char
|
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
|
void
|
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
|
void
|
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
|
uint64_t
将 Weave 织物标识符转换为 IPv6 ULA 全局标识符。
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
将 Weave 节点标识符转换为 IPv6 地址接口标识符。
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
结构体 |
|
---|---|
nl:: |
|
nl:: |
WRMP 配置。 |
nl:: |
正在发送或接收的 Weave 消息的相关信息。 |
联合体 |
|
---|---|
nl:: |
命名空间 |
|
---|---|
nl:: |
此命名空间包括 Weave 中的所有接口,可与 Abstract Syntax Notation One (ASN.1) 搭配使用。 |
nl:: |
此命名空间包含 Weave 中的所有接口,用于支持共享加密。 |
nl:: |
|
nl:: |
|
nl:: |
此命名空间提供以下函数: |
nl:: |
此命名空间包含 Weave 中的所有接口,用于提供共享日志记录支持。 |
nl:: |
|
nl:: |
此命名空间包含 Weave for Weave 配置文件中的所有接口,包括 Common 和 Nest Labs 供应商专用接口。 |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
使用以 Weave TLV 格式编码的数据的定义。 |
nl:: |
此命名空间包含 Weave 地址和路由模块的接口,Weave 地址和路由模块是用于配置 Weave IP 地址和路由的可移植模块。 |
枚举
@21 岁
@21
属性 | |
---|---|
kFlagAckPending
|
正在发送的消息应收到响应。 |
kFlagAutoReleaseConnection
|
当交换上下文被释放后,自动释放消息加密密钥。 |
kFlagAutoReleaseKey
|
如果设置,就表示至少已针对此广告交易平台上下文收到来自对等方的一条消息。 |
kFlagAutoRequestAck
|
此上下文与 WeaveConnection 相关联。 |
kFlagConnectionClosed
|
此上下文是广告交易平台的发起者。 |
kFlagDropAck
|
设置后,每当通过 UDP 发送消息时,都会自动请求确认。 |
kFlagMsgRcvdFromPeer
|
设置后,表示在此广告交易平台上收到至少一条消息请求确认。 应用会读取此标记,以确定是否需要对即将发送的响应消息请求确认。此标志还可以指示对等方是否在使用 WRMP。 |
kFlagPeerRequestedAck
|
如果设置,则表示有待发回的确认。 |
kFlagResponseExpected
|
仅限内部和调试:设置后,交换层不会发送确认。 |
kFlagUseEphemeralUDPPort
|
当交换上下文被释放后,自动释放关联的 WeaveConnection。 |
36 岁
@36
37 岁
@37
39 岁
@39
标识证书的用途或应用。
证书类型是描述证书用途或应用的标签。证书类型并不是相应证书的属性,而是从证书的结构和/或其使用环境派生而来。证书类型枚举包含一组用于描述常用证书应用的预定义值。开发者还可以使用描述自定义证书或具有唯一安全属性的证书的应用专用类型来扩展证书类型值范围。
证书类型主要用于实施访问权限控制政策,在这种情况下,对应用功能的访问权限受请求者提供的证书类型的影响。
属性 | |
---|---|
kCertType_AccessToken
|
Weave 访问令牌证书。 |
kCertType_AppDefinedBase
|
应用专用证书类型的值应大于等于此值。 |
kCertType_CA
|
CA 证书。 |
kCertType_Device
|
Weave 设备证书。 |
kCertType_FirmwareSigning
|
Weave 固件签名证书。 |
kCertType_General
|
证书属于通用或非特定类型。 |
kCertType_Max
|
证书类型不应大于此值。 |
kCertType_NotSpecified
|
尚未指定证书类型。 |
kCertType_ServiceEndpoint
|
Weave 服务端点证书。 |
40 岁
@40
标识基于密码的身份验证协议中使用的密码的来源(例如,
Weave PASE)
41 岁
@41
属性 | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
应用定义的身份验证类别的基础值。 |
kWeaveAuthModeCategory_CASE
|
使用 Weave CASE 协议进行了对等身份验证。 |
kWeaveAuthModeCategory_General
|
使用一组常规机制之一进行了对等身份验证。 |
kWeaveAuthModeCategory_GroupKey
|
对等方使用共享群组密钥进行了身份验证。 |
kWeaveAuthModeCategory_PASE
|
使用 Weave PASE 协议进行了对等身份验证。 |
kWeaveAuthModeCategory_TAKE
|
使用 Weave TAKE 协议进行了对等身份验证。 |
kWeaveAuthMode_CASE_AccessToken
|
使用 CASE 和 Weave 访问令牌证书进行了对等身份验证。 |
kWeaveAuthMode_CASE_AnyCert
|
使用 CASE 与任意证书或未知类型的证书进行对等身份验证。 |
kWeaveAuthMode_CASE_Device
|
使用 CASE 和 Weave 设备证书进行了对等身份验证。 |
kWeaveAuthMode_CASE_GeneralCert
|
使用 CASE 和通用证书类型或非特定证书类型进行对等身份验证。 |
kWeaveAuthMode_CASE_ServiceEndPoint
|
使用 CASE 和 Weave 服务端点证书进行了对等身份验证。 |
kWeaveAuthMode_NotSpecified
|
未指定身份验证模式。 |
kWeaveAuthMode_PASE_PairingCode
|
使用 PASE 与设备配对码进行了对等身份验证。 |
kWeaveAuthMode_TAKE_IdentificationKey
|
使用带有令牌标识密钥的 TAKE 进行对等身份验证。 |
kWeaveAuthMode_Unauthenticated
|
对等连接未经过身份验证。 |
43 岁
@43
属性 | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
用于构造加密密钥的字节值(仅用于测试)。 |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
用于构造完整性密钥的字节值(仅用于测试)。 |
44 岁
@44
Weave 消息加密应用密钥多样化的大小。
45 岁
@45
53 岁
@53
54 岁
@54
属性 | |
---|---|
kWeavePeerDescription_MaxLength
|
WeaveMessageLayer::GetPeerDescription() 返回的字符串(包括 NUL 字符)的最大长度。 |
55 岁
@55
与编码的 Weave 邮件标头相关的定义。
属性 | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
表示 Weave 消息标头中存在目标节点 ID。 |
kWeaveHeaderFlag_MsgCounterSyncReq
|
表示发件人请求邮件计数器同步。 |
kWeaveHeaderFlag_SourceNodeId
|
表示 Weave 消息标头中存在源节点 ID。 |
kWeaveHeaderFlag_TunneledData
|
表示 Weave 消息载荷是隧道式 IP 数据包。 |
@56 岁
@56
IEEE EUI-64 标识符的位字段定义。
属性 | |
---|---|
kEUI64_IG_Group
|
表示群组地址 EUI-64 标识符的个人/群组位值。 |
kEUI64_IG_Individual
|
表示单个地址 EUI-64 标识符的各个位值。 |
kEUI64_IG_Mask
|
EUI-64 标识符中个人/群组 (I/G) 位的位掩码。 值 0 表示该 ID 为单个地址。值为 1 表示 ID 是群组地址。 |
kEUI64_UL_Local
|
表示本地管理的 EUI-64 标识符的通用/本地位值。 |
kEUI64_UL_Mask
|
EUI-64 标识符中的通用/本地 (U/L) 位位掩码。 值为 0 表示该 ID 受到全局(全球)管理。值为 1 表示该 ID 在本地管理。 |
kEUI64_UL_Unversal
|
表示受通用管理的 EUI-64 标识符的通用/本地位值。 |
WeaveEncryptionType
WeaveEncryptionType
Weave 邮件的加密类型。
属性 | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
消息使用 HMAC-SHA-1 消息完整性的 AES-128-CTR 加密技术进行了加密。 |
kWeaveEncryptionType_None
|
邮件未加密。 |
WeaveExchangeFlags
WeaveExchangeFlags
Weave Exchange 标头标记位。
属性 | |
---|---|
kWeaveExchangeFlag_AckId
|
当当前消息是先前收到的消息的确认时设置。 |
kWeaveExchangeFlag_Initiator
|
设置广告交易平台的发起方发送当前消息的时间。 |
kWeaveExchangeFlag_NeedsAck
|
设置当前消息请求接收者确认的时间。 |
WeaveExchangeVersion
WeaveExchangeVersion
Weave Exchange 标头版本。
WeaveMessageFlags
WeaveMessageFlags
与入站或出站 Weave 消息关联的标志。
此处定义的值可在 WeaveMessageInfo.Flags 字段中使用。
属性 | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
指示在发送 IPv6 多播消息时应使用默认的 IPv6 源地址选择。 |
kWeaveMessageFlag_DelaySend
|
表示邮件的发送需要延迟。 |
kWeaveMessageFlag_DestNodeId
|
表示 Weave 消息标头中存在目标节点 ID。 |
kWeaveMessageFlag_DuplicateMessage
|
表示该邮件与之前收到的邮件重复。 |
kWeaveMessageFlag_FromInitiator
|
表示消息来源是 Weave 交换的发起者。 |
kWeaveMessageFlag_MessageEncoded
|
表示 Weave 消息已经过编码。 |
kWeaveMessageFlag_MsgCounterSyncReq
|
表示发送者请求对等方的邮件计数器同步。 |
kWeaveMessageFlag_MulticastFromLinkLocal
|
已弃用的 |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
表示对等方的群组密钥消息计数器未同步。 |
kWeaveMessageFlag_PeerRequestedAck
|
表示消息的发送者请求确认。 |
kWeaveMessageFlag_RetainBuffer
|
表示在发送后不应释放消息缓冲区。 |
kWeaveMessageFlag_ReuseMessageId
|
表示必须重复使用现有消息标识符。 |
kWeaveMessageFlag_ReuseSourceId
|
表示必须重复使用现有的源节点标识符。 |
kWeaveMessageFlag_SourceNodeId
|
表示 Weave 消息标头中存在源节点 ID。 |
kWeaveMessageFlag_TunneledData
|
表示 Weave 消息载荷是隧道式 IP 数据包。 |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
表示通过本地临时 UDP 端口发送/接收消息。 |
WeaveMessageVersion
WeaveMessageVersion
Weave Message 格式的版本。
Weave 会根据 Weave 消息所需的框架格式选择合适的消息版本。默认情况下,消息版本为 kWeaveMessageVersion_V1。例如,使用 Weave Reliable Messaging 时,版本为 kWeaveMessageVersion_V2。
属性 | |
---|---|
kWeaveMessageVersion_Unspecified
|
未指定的消息版本。 |
kWeaveMessageVersion_V1
|
邮件标头格式版本 V1。 |
kWeaveMessageVersion_V2
|
邮件标头格式版本 V2。 |
WeaveSubnetId
WeaveSubnetId
Weave 为典型设备上的区分网络接口提供了一些预留子网编号。
此处将这些数字分配给符号常量。Weave 使用这些子网编号在相应接口上配置 IPv6 ULA 地址。
属性 | |
---|---|
kWeaveSubnetId_MobileDevice
|
所有移动设备的子网标识符。 |
kWeaveSubnetId_NotSpecified
|
预留为未指定值或 null 值。 |
kWeaveSubnetId_PrimaryWiFi
|
Wi-Fi 无线接口子网编号。 |
kWeaveSubnetId_Service
|
Nest 服务端点的子网标识符。 |
kWeaveSubnetId_ThreadAlarm
|
线程警报无线接口子网编号。 |
kWeaveSubnetId_ThreadMesh
|
Thread 网格无线接口子网标识符。 |
kWeaveSubnetId_WiFiAP
|
本地 Wi-Fi AP 接口子网编号。 |
WeaveVendorId
WeaveVendorId
类型定义符
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
标识可以拥有和使用结构脉络的设备的类别。
WeaveAuthMode
uint16_t WeaveAuthMode
标识对等节点的身份验证方式。
WeaveAuthMode 描述了对等节点在 Weave 消息交换期间已经或应该接受身份验证的方法。在初始上下文中,应用使用 WeaveAuthMode 表达交换所需的对等身份验证模式,从而指示 Weave 安全和消息传递层实现所需的模式或通信失败。在响应上下文中,WeaveAuthMode 会确定请求节点(对等端)的身份验证方式,从而允许响应应用根据此信息实施访问控制。
分配给传入的 Weave 消息的 WeaveAuthMode 与用于加密该消息的密钥的性质相关。WeaveAuthMode 派生自创建密钥的机制以及创建密钥时用于验证通信方身份的标准。
WeaveAuthMode 包含一组用于描述常见身份验证模式的预定义值。这些密钥按密钥协议机制(CASE、PASE、GroupKey 等)进行细分。开发者可以通过定义特定于应用的模式(可以将这些模式附加到特定的加密密钥)来扩展 WeaveAuthMode。
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
WeaveEncryptionType
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Weave 消息的加密类型。
WeaveExchangeFlags
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Weave Exchange 标头标记位。
WeaveExchangeVersion
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
Weave Exchange 标头版本。
WeaveMessageFlags
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
与入站或出站 Weave 消息关联的标志。
此处定义的值可在 WeaveMessageInfo.Flags 字段中使用。
WeaveMessageHeader
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageVersion
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Weave Message 格式的版本。
Weave 会根据 Weave 消息所需的框架格式选择合适的消息版本。默认情况下,消息版本为 kWeaveMessageVersion_V1。例如,使用 Weave Reliable Messaging 时,版本为 kWeaveMessageVersion_V2。
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave 为典型设备上的区分网络接口提供了一些预留子网编号。
此处将这些数字分配给符号常量。Weave 使用这些子网编号在相应接口上配置 IPv6 ULA 地址。
变量
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
FabricState
NL_DLL_EXPORT WeaveFabricState FabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
class NL_DLL_EXPORT WeaveConnection
WeaveExchangeManager
class NL_DLL_EXPORT WeaveExchangeManager
WeaveMessageLayer
class NL_DLL_EXPORT WeaveMessageLayer
gDefaultWRMPConfig
const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
kWeaveMsgEncAppKeyDiversifier
const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }
用于派生 Weave 消息加密密钥的密钥多样化符。
此值表示“Nest Weave Message EK and AK”的 SHA-1 哈希的前 4 个字节词组。
函数
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
返回与身份验证模式相关联的应用组主密钥 ID。
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
返回给定证书类型的相应 CASE 身份验证模式。
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
返回指定身份验证模式的密码来源。
DecodeHeaderField
void DecodeHeaderField( const uint16_t headerField, WeaveMessageInfo *msgInfo )
DefaultOnMessageReceived
void DefaultOnMessageReceived( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
EncodeHeaderField
uint16_t EncodeHeaderField( const WeaveMessageInfo *msgInfo )
FindMessageName
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
FindProfileName
const char * FindProfileName( uint32_t inProfileId )
FormatWeaveError
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
给定 Weave 错误,返回人类可读、以 NULL 结尾的 C 字符串来描述错误。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
如果说明字符串已写入提供的缓冲区,则为 true。
|
||||||
返回值 |
false 如果提供的错误不是 Weave 错误。
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
生成随机 Weave 节点 ID。
此函数会生成在本地唯一的 64 位 Weave 节点 ID。此函数使用加密强度高的随机数据源来保证所生成值的唯一性。请注意,生成的 Weave 节点 ID 的位 57 设置为 1,表示生成的 Weave 节点 ID 在本地(而非全局)唯一。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
此函数为给定的 32 位索引生成 32 位的斐波那契数。
详细信息 | |
---|---|
返回值 |
32 位无符号斐波那契数。
|
GetMessageName
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
GetProfileName
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
此函数会生成 16 位无符号随机数。
详细信息 | |
---|---|
返回值 |
16 位无符号随机整数。
|
GetRandU32
uint32_t GetRandU32( void )
此函数生成 32 位无符号随机数。
详细信息 | |
---|---|
返回值 |
32 位无符号随机整数。
|
GetRandU64
uint64_t GetRandU64( void )
此函数会生成 64 位无符号随机数。
详细信息 | |
---|---|
返回值 |
64 位无符号随机整数。
|
GetRandU8
uint8_t GetRandU8( void )
此函数会生成 8 位无符号随机数。
详细信息 | |
---|---|
返回值 |
8 位无符号随机整数。
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
返回给定密钥 ID 的相应群组密钥身份验证模式。
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
将 IPv6 地址接口标识符转换为 Weave 节点标识符。
为方便测试,小于或等于 #kMaxAlwaysLocalWeaveNodeId (65535) 的节点标识符会被视为“本地”,并会将其通用/本地位设置为零。这简化了相应 IPv6 地址的字符串表示法。例如,节点标识符 10
的 ULA 为 FD00:0
:1:1::A。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
映射的 64 位 Weave 节点标识符。
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
如果身份验证模式基于 Weave CASE 协议,则为 true。
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
如果身份验证模式取决于拥有与证书关联的私钥,则为 true。
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
如果身份验证模式取决于拥有的共享群组密钥,则为 true。
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
如果身份验证模式基于 Weave PASE 协议,则为 true。
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
如果身份验证模式取决于拥有共享密码的情况,则为“true”。
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
如果身份验证模式基于 Weave TAKE 协议,则为 true。
IsWRMPControlMessage
bool IsWRMPControlMessage( uint32_t profileId, uint8_t msgType )
J2N_ByteArray
WEAVE_ERROR J2N_ByteArray( JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayFieldVal
WEAVE_ERROR J2N_ByteArrayFieldVal( JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayInPlace
WEAVE_ERROR J2N_ByteArrayInPlace( JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen )
J2N_EnumFieldVal
WEAVE_ERROR J2N_EnumFieldVal( JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal )
J2N_EnumVal
WEAVE_ERROR J2N_EnumVal( JNIEnv *env, jobject enumObj, int & outVal )
J2N_IntFieldVal
WEAVE_ERROR J2N_IntFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jint & outVal )
J2N_LongFieldVal
WEAVE_ERROR J2N_LongFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal )
J2N_ShortFieldVal
WEAVE_ERROR J2N_ShortFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal )
J2N_StringFieldVal
WEAVE_ERROR J2N_StringFieldVal( JNIEnv *env, jobject obj, const char *fieldName, char *& outVal )
MakeClassName
WEAVE_ERROR MakeClassName( const char *basePackageName, const char *relativeClassName, char *& classNameBuf )
PASEAuthMode
WeaveAuthMode PASEAuthMode( uint8_t pwSource )
返回给定密码源的相应 PASE 身份验证模式。
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
返回指定身份验证模式的密码来源。
PrintTunnelInfo
void PrintTunnelInfo( const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data )
ToHex
char ToHex( const uint8_t data )
ToHexString
void ToHexString( const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize )
WeaveEncryptionKeyToString
void WeaveEncryptionKeyToString( uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize )
WeaveFabricIdToIPv6GlobalId
uint64_t WeaveFabricIdToIPv6GlobalId( uint64_t fabricId )
将 Weave 织物标识符转换为 IPv6 ULA 全局标识符。
结构脉络地址的 ULA 全局标识符是结构脉络 64 位结构 ID 的低 40 位。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
映射的 IPv6 全局标识符。
|
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 )
将 Weave 节点标识符转换为 IPv6 地址接口标识符。
Weave 节点标识符是通用/本地 EUI-64,根据 RFC-3513,通过反转通用/局部位(位 57 将 LSB 计为 0)将其转换为接口标识符。
为方便测试,小于或等于 #kMaxAlwaysLocalWeaveNodeId (65535) 的节点标识符会被视为“本地”,并会将其通用/本地位设置为零。这简化了相应 IPv6 地址的字符串表示法。例如,节点标识符 10
的 ULA 为 FD00:0
:1:1::A。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
IPv6 接口标识符。
|
max
const _T & max( const _T & a, const _T & b )
分钟
const _T & min( const _T & a, const _T & b )