Namespaces

Enumerations

enum TLVCommonProfiles
Name Value
kProfileIdNotSpecified 0xFFFFFFFF
kCommonProfileId 0

Defined at line 32 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

enum TLVType
Name Value
kTLVType_NotSpecified -1
kTLVType_UnknownContainer -2
kTLVType_SignedInteger 0x00
kTLVType_UnsignedInteger 0x04
kTLVType_Boolean 0x08
kTLVType_FloatingPointNumber 0x0A
kTLVType_UTF8String 0x0C
kTLVType_ByteString 0x10
kTLVType_Null 0x14
kTLVType_Structure 0x15
kTLVType_Array 0x16
kTLVType_Path 0x17

An enumeration identifying the type of a TLV element.

Defined at line 35 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

enum TLVTagFields
Name Value
kProfileIdMask 0xFFFFFFFF00000000ULL
kProfileIdShift 32
kVendorIdShift 48
kProfileNumShift 32
kTagNumMask 0x00000000FFFFFFFFULL
kSpecialTagMarker 0xFFFFFFFF00000000ULL
kContextTagMaxNum 256

TODO: Move to private namespace

Defined at line 45 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

enum TLVElementType
Name Value
kTLVElementType_NotSpecified -1
kTLVElementType_Int8 0x00
kTLVElementType_Int16 0x01
kTLVElementType_Int32 0x02
kTLVElementType_Int64 0x03
kTLVElementType_UInt8 0x04
kTLVElementType_UInt16 0x05
kTLVElementType_UInt32 0x06
kTLVElementType_UInt64 0x07
kTLVElementType_BooleanFalse 0x08
kTLVElementType_BooleanTrue 0x09
kTLVElementType_FloatingPointNumber32 0x0A
kTLVElementType_FloatingPointNumber64 0x0B
kTLVElementType_UTF8String_1ByteLength 0x0C
kTLVElementType_UTF8String_2ByteLength 0x0D
kTLVElementType_UTF8String_4ByteLength 0x0E
kTLVElementType_UTF8String_8ByteLength 0x0F
kTLVElementType_ByteString_1ByteLength 0x10
kTLVElementType_ByteString_2ByteLength 0x11
kTLVElementType_ByteString_4ByteLength 0x12
kTLVElementType_ByteString_8ByteLength 0x13
kTLVElementType_Null 0x14
kTLVElementType_Structure 0x15
kTLVElementType_Array 0x16
kTLVElementType_Path 0x17
kTLVElementType_EndOfContainer 0x18

TODO: Move to private namespace

Defined at line 53 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

enum TLVTagControl
Name Value
kTLVTagControl_Anonymous 0x00
kTLVTagControl_ContextSpecific 0x20
kTLVTagControl_CommonProfile_2Bytes 0x40
kTLVTagControl_CommonProfile_4Bytes 0x60
kTLVTagControl_ImplicitProfile_2Bytes 0x80
kTLVTagControl_ImplicitProfile_4Bytes 0xA0
kTLVTagControl_FullyQualified_6Bytes 0xC0
kTLVTagControl_FullyQualified_8Bytes 0xE0

TODO: Move to private namespace

Defined at line 57 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

enum TLVFieldSize
Name Value
kTLVFieldSize_0Byte -1
kTLVFieldSize_1Byte 0
kTLVFieldSize_2Byte 1
kTLVFieldSize_4Byte 2
kTLVFieldSize_8Byte 3

TODO: Move to private namespace

Defined at line 84 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

Records

Functions

  • uint64_t ProfileTag (uint32_t profileId, uint32_t tagNum)

    Generates the API representation of a profile-specific TLV tag from a profile id and tag number

    Parameters

    profileId [in] The id of the profile within which the tag is defined.
    tagNum [in] The profile-specific tag number assigned to the tag.

    Returns

    A 64-bit integer representing the tag.

    Defined at line 84 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • uint64_t ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)

    Generates the API representation of a profile-specific TLV tag from a vendor id, profile number and tag number

    Parameters

    vendorId [in] The id of the vendor that defined the tag.
    profileNum [in] The vendor assigned number for the profile within which the tag is defined.
    tagNum [in] The profile-specific tag number assigned to the tag.

    Returns

    A 64-bit integer representing the tag.

    Defined at line 94 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • uint64_t ContextTag (uint8_t tagNum)

    Generates the API representation for of context-specific TLV tag

    Parameters

    tagNum [in] The context-specific tag number assigned to the tag.

    Returns

    A 64-bit integer representing the tag.

    Defined at line 102 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool IsValidTLVType (uint8_t type)

    Returns true if the specified TLV type is valid.

    Returns

    if the specified TLV type is valid; otherwise

    Defined at line 105 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • uint64_t CommonTag (uint32_t tagNum)

    Generates the API representation of a common profile TLV tag

    Parameters

    tagNum [in] The common profile tag number assigned to the tag.

    Returns

    A 64-bit integer representing the tag.

    Defined at line 110 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool TLVTypeHasValue (uint8_t type)

    Returns true if the specified TLV type implies the presence of an associated value field.

    Returns

    if the specified TLV type implies the presence of an associated value field; otherwise

    Defined at line 115 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • bool TLVTypeHasLength (uint8_t type)

    Returns true if the specified TLV type implies the presence of an associated length field.

    Returns

    if the specified TLV type implies the presence of an associated length field; otherwise

    Defined at line 126 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • uint32_t ProfileIdFromTag (uint64_t tag)

    Returns the profile id from a TLV tag

    Parameters

    tag [in] The API representation of a profile-specific TLV tag.

    Returns

    The profile id.

    Defined at line 132 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool TLVTypeIsContainer (uint8_t type)

    Returns true if the specified TLV type is a container.

    Returns

    if the specified TLV type is a container; otherwise

    Defined at line 136 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • uint16_t ProfileNumFromTag (uint64_t tag)

    Returns the profile number from a TLV tag

    Parameters

    tag [in] The API representation of a profile-specific TLV tag.

    Returns

    The associated profile number.

    Defined at line 143 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool TLVTypeIsString (uint8_t type)

    Returns true if the specified TLV type is a UTF8 or byte string.

    Returns

    if the specified TLV type is a UTF8 or byte string; otherwise

    Defined at line 146 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • TLVFieldSize GetTLVFieldSize (uint8_t type)

    TODO: move to private namespace

    Defined at line 152 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • uint32_t TagNumFromTag (uint64_t tag)

    Returns the tag number from a TLV tag

    Parameters

    tag [in] The API representation of a profile-specific or context-specific TLV tag.

    Returns

    The associated tag number.

    Defined at line 157 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • uint8_t TLVFieldSizeToBytes (TLVFieldSize fieldSize)

    TODO: move to private namespace

    Defined at line 161 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTypes.h

  • uint16_t VendorIdFromTag (uint64_t tag)

    Returns the vendor id from a TLV tag

    Parameters

    tag [in] The API representation of a profile-specific TLV tag.

    Returns

    The associated vendor id.

    Defined at line 168 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool IsProfileTag (uint64_t tag)

    Returns true of the supplied tag is a profile-specific tag.

    Defined at line 174 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool IsContextTag (uint64_t tag)

    Returns true if the supplied tag is a context-specific tag.

    Defined at line 180 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h

  • bool IsSpecialTag (uint64_t tag)

    TODO: move to private namespace

    Defined at line 184 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Core/WeaveTLVTags.h