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

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