Namespaces
Enumerations
enum WeaveVendorId
| Name | Value |
|---|---|
| kWeaveVendor_Common | 0x0000 |
| kWeaveVendor_NestLabs | 0x235A |
| kWeaveVendor_Yale | 0xE727 |
| kWeaveVendor_Google | 0xE100 |
| kWeaveVendor_NotSpecified | 0xFFFF |
Weave Vendor Identifiers (16 bits max)
Defined at line 38 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveVendorIdentifiers.hpp
enum WeaveExchangeVersion
| Name | Value |
|---|---|
| kWeaveExchangeVersion_V1 | 1 |
The Weave Exchange header version.
Defined at line 95 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveExchangeMgr.h
enum WeaveExchangeFlags
| Name | Value |
|---|---|
| kWeaveExchangeFlag_Initiator | 0x1 |
| kWeaveExchangeFlag_AckId | 0x2 |
| kWeaveExchangeFlag_NeedsAck | 0x4 |
The Weave Exchange header flag bits.
Defined at line 104 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveExchangeMgr.h
enum WeaveMessageFlags
| Name | Value |
|---|---|
| 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 |
Flags associated with a inbound or outbound Weave message.
The values defined here are for use within the WeaveMessageInfo.Flags field.
Defined at line 128 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
enum WeaveEncryptionType
| Name | Value |
|---|---|
| kWeaveEncryptionType_None | 0 |
| kWeaveEncryptionType_AES128CTRSHA1 | 1 |
The encryption types for the Weave message.
Defined at line 167 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
enum WeaveMessageVersion
| Name | Value |
|---|---|
| kWeaveMessageVersion_Unspecified | 0 |
| kWeaveMessageVersion_V1 | 1 |
| kWeaveMessageVersion_V2 | 2 |
The version of the Weave Message format.
Defined at line 184 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
enum WeaveSubnetId
| Name | Value |
|---|---|
| kWeaveSubnetId_NotSpecified | 0 |
| kWeaveSubnetId_PrimaryWiFi | 1 |
| kWeaveSubnetId_ThreadAlarm | 2 |
| kWeaveSubnetId_WiFiAP | 3 |
| kWeaveSubnetId_MobileDevice | 4 |
| kWeaveSubnetId_Service | 5 |
| kWeaveSubnetId_ThreadMesh | 6 |
Weave has some reserved subnet numbers for distinguished network interfaces
on typical devices. These numbers are assigned here to symbolic constants.
These subnet numbers are used by Weave to configure IPv6 ULA addresses on
appropriate interfaces.
Defined at line 1080 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
Records
-
class Binding -
class Counter -
class ExchangeContext -
class FabricStateDelegate -
class HostPortList -
class MonotonicallyIncreasingCounter -
class PersistedCounter -
class WRMPConfig -
class WeaveConnection -
class WeaveConnectionTunnel -
class WeaveEncryptionKey -
class WeaveEncryptionKey_AES128CTRSHA1 -
class WeaveExchangeHeader -
class WeaveExchangeManager -
class WeaveFabricState -
class WeaveInspector -
class WeaveKeyId -
class WeaveMessageInfo -
class WeaveMessageLayer -
class WeaveMessageLayerTestObject -
class WeaveMsgEncryptionKey -
class WeaveMsgEncryptionKeyCache -
class WeaveSecurityManager -
class WeaveServerBase -
class WeaveServerDelegateBase -
class WeaveSessionKey -
class WeaveSessionState
Functions
-
bool FormatWeaveError (char * buf, uint16_t bufSize, int32_t err) -
bool IsPASEAuthMode (WeaveAuthMode authMode)True if the authentication mode is based on the Weave PASE protocol.
Defined at line 203 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
bool IsCASEAuthMode (WeaveAuthMode authMode)True if the authentication mode is based on the Weave CASE protocol.
Defined at line 206 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
bool IsTAKEAuthMode (WeaveAuthMode authMode)True if the authentication mode is based on the Weave TAKE protocol.
Defined at line 209 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
bool IsPasswordAuthMode (WeaveAuthMode authMode)True if the authentication mode is based possession of a shared password.
Defined at line 212 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
bool IsCertAuthMode (WeaveAuthMode authMode)True if the authentication mode is based on possession of a private key associated with a certificate.
Defined at line 215 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
bool IsGroupKeyAuthMode (WeaveAuthMode authMode)True if the authentication mode is based on possession of a shared group key.
Defined at line 218 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
uint8_t PasswordSourceFromAuthMode (WeaveAuthMode authMode)Returns the password source for the given authentication mode.
Defined at line 224 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
uint8_t CertTypeFromAuthMode (WeaveAuthMode authMode)Returns the password source for the given authentication mode.
Defined at line 230 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
uint8_t AppGroupMasterKeyIdFromAuthMode (WeaveAuthMode authMode)Returns the application group master key ID associated with the authentication mode.
Defined at line 236 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
WeaveAuthMode PASEAuthMode (uint8_t pwSource)Returns a corresponding PASE authentication mode for a given password source.
Defined at line 239 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
WeaveAuthMode CASEAuthMode (uint8_t certType)Returns a corresponding CASE authentication mode for a given certificate type.
Defined at line 242 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
WEAVE_ERROR GenerateWeaveNodeId (uint64_t & nodeId) -
template <typename _T>const _T & min (const _T & a, const _T & b)Generic min() and max() functions
Defined at line 124 of file gen/third_party/openweave-core/src/include/Weave/Support/CodeUtils.h
-
template <typename _T>const _T & max (const _T & a, const _T & b)Defined at line 134 of file gen/third_party/openweave-core/src/include/Weave/Support/CodeUtils.h
-
WeaveAuthMode GroupKeyAuthMode (uint32_t keyId)Returns a corresponding group key authentication mode for a given key ID.
Defined at line 248 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveFabricState.h
-
uint64_t WeaveFabricIdToIPv6GlobalId (uint64_t fabricId)Convert a Weave fabric identifier to an IPv6 ULA global identifier.
The ULA global identifier for a fabric address is the lower 40 bits of the fabric's
64-bit fabric ID.
Parameters
fabricId [in] The Weave fabric identifier.Returns
the mapped IPv6 global identifier.
Defined at line 1019 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
-
uint64_t IPv6InterfaceIdToWeaveNodeId (uint64_t interfaceId)Convert an IPv6 address interface identifier to a Weave node identifier.
As a convenience to testing, node identifiers less or equal than #kMaxAlwaysLocalWeaveNodeId
(65535) are considered 'local', and have their universal/local bit is set to zero.
This simplifies the string representation of the corresponding IPv6 addresses.
For example a ULA for node identifier
would be
Parameters
interfaceId [in] The 64 bit interface identifier.Returns
the mapped 64 bit Weave node identifier.
Defined at line 1041 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
-
uint64_t WeaveNodeIdToIPv6InterfaceId (uint64_t nodeId)Convert a Weave node identifier to an IPv6 address interface identifier.
Weave node identifiers are Universal/Local EUI-64s, which per RFC-3513 are converted to
interface identifiers by inverting the universal/local bit (bit 57 counting the LSB as 0).
As a convenience to testing, node identifiers less or equal than #kMaxAlwaysLocalWeaveNodeId
(65535) are considered 'local', and have their universal/local bit is set to zero.
This simplifies the string representation of the corresponding IPv6 addresses.
For example a ULA for node identifier
would be
Parameters
nodeId [in] The 64-bit Weave node identifier.Returns
the IPv6 interface identifier.
Defined at line 1069 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
-
void WeaveNodeAddrToStr (char * buf, uint32_t bufSize, uint64_t nodeId, const IPAddress * addr, uint16_t port, WeaveConnection * con)DEPRECATED -- Use WeaveMessageLayer::GetPeerDescription() instead.
Defined at line 1097 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
-
void WeaveMessageSourceToStr (char * bufuint32_t bufSizeconst WeaveMessageInfo * msgInfo)DEPRECATED -- Use WeaveMessageLayer::GetPeerDescription() instead.
Defined at line 1105 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveMessageLayer.h
Variables
WeaveExchangeManager ExchangeMgr
WeaveFabricState FabricState
WeaveMessageLayer MessageLayer
WeaveSecurityManager SecurityMgr
const uint8_t[4] kWeaveMsgEncAppKeyDiversifier