Paho Asynchronous MQTT C Client Library
Loading...
Searching...
No Matches
MQTTProperties.h
Go to the documentation of this file.
1/*******************************************************************************
2 * Copyright (c) 2017, 2023 IBM Corp. and others
3 *
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License v2.0
6 * and Eclipse Distribution License v1.0 which accompany this distribution.
7 *
8 * The Eclipse Public License is available at
9 * https://www.eclipse.org/legal/epl-2.0/
10 * and the Eclipse Distribution License is available at
11 * http://www.eclipse.org/org/documents/edl-v10.php.
12 *
13 * Contributors:
14 * Ian Craggs - initial API and implementation and/or initial documentation
15 *******************************************************************************/
16
17#if !defined(MQTTPROPERTIES_H)
18#define MQTTPROPERTIES_H
19
20#include "MQTTExportDeclarations.h"
21
22#define MQTT_INVALID_PROPERTY_ID -2
23
54
61LIBMQTT_API const char* MQTTPropertyName(enum MQTTPropertyCodes value);
62
73
79LIBMQTT_API int MQTTProperty_getType(enum MQTTPropertyCodes value);
80
84typedef struct
85{
86 int len;
87 char* data;
89
90
94typedef struct
95{
98 union {
99 unsigned char byte;
100 unsigned short integer2;
101 unsigned int integer4;
102 struct {
105 };
106 } value;
108
119
120#define MQTTProperties_initializer {0, 0, 0, NULL}
121
128
138LIBMQTT_API int MQTTProperties_add(MQTTProperties* props, const MQTTProperty* prop);
139
146int MQTTProperties_write(char** pptr, const MQTTProperties* properties);
147
155int MQTTProperties_read(MQTTProperties* properties, char** pptr, char* enddata);
156
161LIBMQTT_API void MQTTProperties_free(MQTTProperties* properties);
162
169
177
186
194
203LIBMQTT_API int MQTTProperties_getNumericValueAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index);
204
212
221
222#endif /* MQTTPROPERTIES_H */
int MQTTProperties_hasProperty(MQTTProperties *props, enum MQTTPropertyCodes propid)
MQTTProperties MQTTProperties_copy(const MQTTProperties *props)
const char * MQTTPropertyName(enum MQTTPropertyCodes value)
int MQTTProperties_propertyCount(MQTTProperties *props, enum MQTTPropertyCodes propid)
MQTTProperty * MQTTProperties_getProperty(MQTTProperties *props, enum MQTTPropertyCodes propid)
struct MQTTProperties MQTTProperties
int MQTTProperty_getType(enum MQTTPropertyCodes value)
int MQTTProperties_add(MQTTProperties *props, const MQTTProperty *prop)
MQTTPropertyTypes
Definition MQTTProperties.h:64
@ MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER
Definition MQTTProperties.h:68
@ MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR
Definition MQTTProperties.h:71
@ MQTTPROPERTY_TYPE_BINARY_DATA
Definition MQTTProperties.h:69
@ MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER
Definition MQTTProperties.h:67
@ MQTTPROPERTY_TYPE_BYTE
Definition MQTTProperties.h:65
@ MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING
Definition MQTTProperties.h:70
@ MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER
Definition MQTTProperties.h:66
void MQTTProperties_free(MQTTProperties *properties)
int MQTTProperties_len(MQTTProperties *props)
int MQTTProperties_getNumericValueAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
int MQTTProperties_write(char **pptr, const MQTTProperties *properties)
MQTTProperty * MQTTProperties_getPropertyAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
MQTTPropertyCodes
Definition MQTTProperties.h:25
@ MQTTPROPERTY_CODE_SERVER_REFERENCE
Definition MQTTProperties.h:41
@ MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM
Definition MQTTProperties.h:44
@ MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL
Definition MQTTProperties.h:32
@ MQTTPROPERTY_CODE_RESPONSE_INFORMATION
Definition MQTTProperties.h:40
@ MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL
Definition MQTTProperties.h:27
@ MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION
Definition MQTTProperties.h:37
@ MQTTPROPERTY_CODE_REASON_STRING
Definition MQTTProperties.h:42
@ MQTTPROPERTY_CODE_CONTENT_TYPE
Definition MQTTProperties.h:28
@ MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION
Definition MQTTProperties.h:39
@ MQTTPROPERTY_CODE_RETAIN_AVAILABLE
Definition MQTTProperties.h:47
@ MQTTPROPERTY_CODE_MAXIMUM_QOS
Definition MQTTProperties.h:46
@ MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL
Definition MQTTProperties.h:38
@ MQTTPROPERTY_CODE_USER_PROPERTY
Definition MQTTProperties.h:48
@ MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE
Definition MQTTProperties.h:49
@ MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER
Definition MQTTProperties.h:31
@ MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER
Definition MQTTProperties.h:33
@ MQTTPROPERTY_CODE_AUTHENTICATION_METHOD
Definition MQTTProperties.h:35
@ MQTTPROPERTY_CODE_RESPONSE_TOPIC
Definition MQTTProperties.h:29
@ MQTTPROPERTY_CODE_CORRELATION_DATA
Definition MQTTProperties.h:30
@ MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE
Definition MQTTProperties.h:51
@ MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE
Definition MQTTProperties.h:34
@ MQTTPROPERTY_CODE_RECEIVE_MAXIMUM
Definition MQTTProperties.h:43
@ MQTTPROPERTY_CODE_AUTHENTICATION_DATA
Definition MQTTProperties.h:36
@ MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE
Definition MQTTProperties.h:50
@ MQTTPROPERTY_CODE_TOPIC_ALIAS
Definition MQTTProperties.h:45
@ MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE
Definition MQTTProperties.h:52
@ MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR
Definition MQTTProperties.h:26
int MQTTProperties_getNumericValue(MQTTProperties *props, enum MQTTPropertyCodes propid)
int MQTTProperties_read(MQTTProperties *properties, char **pptr, char *enddata)
Definition MQTTProperties.h:85
char * data
Definition MQTTProperties.h:87
int len
Definition MQTTProperties.h:86
Definition MQTTProperties.h:113
MQTTProperty * array
Definition MQTTProperties.h:117
int max_count
Definition MQTTProperties.h:115
int length
Definition MQTTProperties.h:116
int count
Definition MQTTProperties.h:114
Definition MQTTProperties.h:95
unsigned short integer2
Definition MQTTProperties.h:100
MQTTLenString value
Definition MQTTProperties.h:104
unsigned char byte
Definition MQTTProperties.h:99
enum MQTTPropertyCodes identifier
Definition MQTTProperties.h:96
unsigned int integer4
Definition MQTTProperties.h:101
MQTTLenString data
Definition MQTTProperties.h:103