MQTTProperties.h - Man Page

Synopsis

#include 'MQTTExportDeclarations.h'

Data Structures

struct MQTTLenString
struct MQTTProperty
struct MQTTProperties

Macros

#define MQTT_INVALID_PROPERTY_ID   -2
#define MQTTProperties_initializer   {0, 0, 0, NULL}

Typedefs

typedef struct MQTTProperties MQTTProperties

Enumerations

enum MQTTPropertyCodes { MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR = 1, MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL = 2, MQTTPROPERTY_CODE_CONTENT_TYPE = 3, MQTTPROPERTY_CODE_RESPONSE_TOPIC = 8, MQTTPROPERTY_CODE_CORRELATION_DATA = 9, MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER = 11, MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL = 17, MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER = 18, MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE = 19, MQTTPROPERTY_CODE_AUTHENTICATION_METHOD = 21, MQTTPROPERTY_CODE_AUTHENTICATION_DATA = 22, MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION = 23, MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL = 24, MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION = 25, MQTTPROPERTY_CODE_RESPONSE_INFORMATION = 26, MQTTPROPERTY_CODE_SERVER_REFERENCE = 28, MQTTPROPERTY_CODE_REASON_STRING = 31, MQTTPROPERTY_CODE_RECEIVE_MAXIMUM = 33, MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM = 34, MQTTPROPERTY_CODE_TOPIC_ALIAS = 35, MQTTPROPERTY_CODE_MAXIMUM_QOS = 36, MQTTPROPERTY_CODE_RETAIN_AVAILABLE = 37, MQTTPROPERTY_CODE_USER_PROPERTY = 38, MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE = 39, MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE = 40, MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE = 41, MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE = 42 }
enum MQTTPropertyTypes { MQTTPROPERTY_TYPE_BYTE, MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER, MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER, MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER, MQTTPROPERTY_TYPE_BINARY_DATA, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING, MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR }

Functions

const char * MQTTPropertyName (enum MQTTPropertyCodes value)
int MQTTProperty_getType (enum MQTTPropertyCodes value)
int MQTTProperties_len (MQTTProperties *props)
int MQTTProperties_add (MQTTProperties *props, const MQTTProperty *prop)
int MQTTProperties_write (char **pptr, const MQTTProperties *properties)
int MQTTProperties_read (MQTTProperties *properties, char **pptr, char *enddata)
void MQTTProperties_free (MQTTProperties *properties)
MQTTProperties MQTTProperties_copy (const MQTTProperties *props)
int MQTTProperties_hasProperty (MQTTProperties *props, enum MQTTPropertyCodes propid)
int MQTTProperties_propertyCount (MQTTProperties *props, enum MQTTPropertyCodes propid)
int MQTTProperties_getNumericValue (MQTTProperties *props, enum MQTTPropertyCodes propid)
int MQTTProperties_getNumericValueAt (MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
MQTTProperty * MQTTProperties_getProperty (MQTTProperties *props, enum MQTTPropertyCodes propid)
MQTTProperty * MQTTProperties_getPropertyAt (MQTTProperties *props, enum MQTTPropertyCodes propid, int index)

Macro Definition Documentation

#define MQTT_INVALID_PROPERTY_ID   -2

#define MQTTProperties_initializer   {0, 0, 0, NULL}

Typedef Documentation

typedef struct MQTTProperties MQTTProperties

MQTT version 5 property list

Enumeration Type Documentation

enum MQTTPropertyCodes

The one byte MQTT V5 property indicator

Enumerator

MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR

The value is 1

MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL

The value is 2

MQTTPROPERTY_CODE_CONTENT_TYPE

The value is 3

MQTTPROPERTY_CODE_RESPONSE_TOPIC

The value is 8

MQTTPROPERTY_CODE_CORRELATION_DATA

The value is 9

MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER

The value is 11

MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL

The value is 17

MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER

The value is 18

MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE

The value is 19

MQTTPROPERTY_CODE_AUTHENTICATION_METHOD

The value is 21

MQTTPROPERTY_CODE_AUTHENTICATION_DATA

The value is 22

MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION

The value is 23

MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL

The value is 24

MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION

The value is 25

MQTTPROPERTY_CODE_RESPONSE_INFORMATION

The value is 26

MQTTPROPERTY_CODE_SERVER_REFERENCE

The value is 28

MQTTPROPERTY_CODE_REASON_STRING

The value is 31

MQTTPROPERTY_CODE_RECEIVE_MAXIMUM

The value is 33

MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM

The value is 34

MQTTPROPERTY_CODE_TOPIC_ALIAS

The value is 35

MQTTPROPERTY_CODE_MAXIMUM_QOS

The value is 36

MQTTPROPERTY_CODE_RETAIN_AVAILABLE

The value is 37

MQTTPROPERTY_CODE_USER_PROPERTY

The value is 38

MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE

The value is 39

MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE

The value is 40

MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE

The value is 41

MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE

The value is 241

enum MQTTPropertyTypes

The one byte MQTT V5 property type

Enumerator

MQTTPROPERTY_TYPE_BYTE

MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER

MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER

MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER

MQTTPROPERTY_TYPE_BINARY_DATA

MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING

MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR

Function Documentation

const char * MQTTPropertyName (enum MQTTPropertyCodes value)

Returns a printable string description of an MQTT V5 property code.

Parameters

value an MQTT V5 property code.

Returns

the printable string description of the input property code. NULL if the code was not found.

int MQTTProperty_getType (enum MQTTPropertyCodes value)

Returns the MQTT V5 type code of an MQTT V5 property.

Parameters

value an MQTT V5 property code.

Returns

the MQTT V5 type code of the input property. -1 if the code was not found.

int MQTTProperties_len (MQTTProperties * props)

Returns the length of the properties structure when serialized ready for network transmission.

Parameters

props an MQTT V5 property structure.

Returns

the length in bytes of the properties when serialized.

int MQTTProperties_add (MQTTProperties * props, const MQTTProperty * prop)

Add a property pointer to the property array. There is no memory allocation.

Parameters

props The property list to add the property to.
prop The property to add to the list.

Returns

0 on success, -1 on failure.

int MQTTProperties_write (char ** pptr, const MQTTProperties * properties)

Serialize the given property list to a character buffer, e.g. for writing to the network.

Parameters

pptr pointer to the buffer - move the pointer as we add data
properties pointer to the property list, can be NULL

Returns

whether the write succeeded or not: number of bytes written, or < 0 on failure.

int MQTTProperties_read (MQTTProperties * properties, char ** pptr, char * enddata)

Reads a property list from a character buffer into an array.

Parameters

properties pointer to the property list to be filled. Should be initalized but empty.
pptr pointer to the character buffer.
enddata pointer to the end of the character buffer so we don't read beyond.

Returns

1 if the properties were read successfully.

void MQTTProperties_free (MQTTProperties * properties)

Free all memory allocated to the property list, including any to individual properties.

Parameters

properties pointer to the property list.

MQTTProperties MQTTProperties_copy (const MQTTProperties * props)

Copy the contents of a property list, allocating additional memory if needed.

Parameters

props pointer to the property list.

Returns

the duplicated property list.

int MQTTProperties_hasProperty (MQTTProperties * props, enum MQTTPropertyCodes propid)

Checks if property list contains a specific property.

Parameters

props pointer to the property list.
propid the property id to check for.

Returns

1 if found, 0 if not.

int MQTTProperties_propertyCount (MQTTProperties * props, enum MQTTPropertyCodes propid)

Returns the number of instances of a property id. Most properties can exist only once. User properties and subscription ids can exist more than once.

Parameters

props pointer to the property list.
propid the property id to check for.

Returns

the number of times found. Can be 0.

int MQTTProperties_getNumericValue (MQTTProperties * props, enum MQTTPropertyCodes propid)

Returns the integer value of a specific property. The property given must be a numeric type.

Parameters

props pointer to the property list.
propid the property id to check for.

Returns

the integer value of the property. -9999999 on failure.

int MQTTProperties_getNumericValueAt (MQTTProperties * props, enum MQTTPropertyCodes propid, int index)

Returns the integer value of a specific property when it's not the only instance. The property given must be a numeric type.

Parameters

props pointer to the property list.
propid the property id to check for.
index the instance number, starting at 0.

Returns

the integer value of the property. -9999999 on failure.

MQTTProperty * MQTTProperties_getProperty (MQTTProperties * props, enum MQTTPropertyCodes propid)

Returns a pointer to the property structure for a specific property.

Parameters

props pointer to the property list.
propid the property id to check for.

Returns

the pointer to the property structure if found. NULL if not found.

MQTTProperty * MQTTProperties_getPropertyAt (MQTTProperties * props, enum MQTTPropertyCodes propid, int index)

Returns a pointer to the property structure for a specific property when it's not the only instance.

Parameters

props pointer to the property list.
propid the property id to check for.
index the instance number, starting at 0.

Returns

the pointer to the property structure if found. NULL if not found.

Author

Generated automatically by Doxygen for Paho MQTT C Client Library from the source code.

Info

Tue Sep 14 2021 Paho MQTT C Client Library