88#if !defined(MQTTASYNC_H)
91#if defined(__cplusplus)
100#include "MQTTExportDeclarations.h"
105#if !defined(NO_PERSISTENCE)
113#define MQTTASYNC_SUCCESS 0
118#define MQTTASYNC_FAILURE -1
122#define MQTTASYNC_PERSISTENCE_ERROR -2
127#define MQTTASYNC_DISCONNECTED -3
132#define MQTTASYNC_MAX_MESSAGES_INFLIGHT -4
136#define MQTTASYNC_BAD_UTF8_STRING -5
140#define MQTTASYNC_NULL_PARAMETER -6
146#define MQTTASYNC_TOPICNAME_TRUNCATED -7
151#define MQTTASYNC_BAD_STRUCTURE -8
155#define MQTTASYNC_BAD_QOS -9
159#define MQTTASYNC_NO_MORE_MSGIDS -10
163#define MQTTASYNC_OPERATION_INCOMPLETE -11
167#define MQTTASYNC_MAX_BUFFERED_MESSAGES -12
171#define MQTTASYNC_SSL_NOT_SUPPORTED -13
177#define MQTTASYNC_BAD_PROTOCOL -14
181 #define MQTTASYNC_BAD_MQTT_OPTION -15
185 #define MQTTASYNC_WRONG_MQTT_VERSION -16
189 #define MQTTASYNC_0_LEN_WILL_TOPIC -17
195#define MQTTVERSION_DEFAULT 0
199#define MQTTVERSION_3_1 3
203#define MQTTVERSION_3_1_1 4
207#define MQTTVERSION_5 5
211#define MQTT_BAD_SUBSCRIBE 0x80
227#define MQTTAsync_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 }
318#define MQTTAsync_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
482#define MQTTAsync_failureData5_initializer {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL}
555#define MQTTAsync_successData5_initializer {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer}
685#define MQTTAsync_responseOptions_initializer { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL}
689#define MQTTAsync_callOptions_initializer MQTTAsync_responseOptions_initializer
859 int persistence_type,
void* persistence_context);
882#define MQTTAsync_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 1, 0, 100, MQTTVERSION_DEFAULT }
884#define MQTTAsync_createOptions_initializer5 { {'M', 'Q', 'C', 'O'}, 1, 0, 100, MQTTVERSION_5 }
931#define MQTTAsync_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, { 0, NULL } }
933#define MQTT_SSL_VERSION_DEFAULT 0
934#define MQTT_SSL_VERSION_TLS_1_0 1
935#define MQTT_SSL_VERSION_TLS_1_1 2
936#define MQTT_SSL_VERSION_TLS_1_2 3
1009 int (*ssl_error_cb) (
const char *str,
size_t len,
void *u);
1022 unsigned int (*ssl_psk_cb) (
const char *hint,
char *identity,
unsigned int max_identity_len,
unsigned char *psk,
unsigned int max_psk_len,
void *u);
1039#define MQTTAsync_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 4, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0}
1227#define MQTTAsync_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 7, 60, 1, 65535, NULL, NULL, NULL, 30, 0,\
1228NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, NULL, 0, NULL, NULL, NULL, NULL}
1230#define MQTTAsync_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 7, 60, 0, 65535, NULL, NULL, NULL, 30, 0,\
1231NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, NULL, 1, NULL, NULL, NULL, NULL}
1308#define MQTTAsync_disconnectOptions_initializer { {'M', 'Q', 'T', 'D'}, 0, 0, NULL, NULL, NULL,\
1309 MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL }
1311#define MQTTAsync_disconnectOptions_initializer5 { {'M', 'Q', 'T', 'D'}, 1, 0, NULL, NULL, NULL,\
1312 MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL }
1477#define MQTTASYNC_TRUE 1
int MQTTAsync_connect(MQTTAsync handle, const MQTTAsync_connectOptions *options)
int MQTTAsync_unsubscribe(MQTTAsync handle, const char *topic, MQTTAsync_responseOptions *response)
void MQTTAsync_setTraceCallback(MQTTAsync_traceCallback *callback)
void * MQTTAsync
Definition: MQTTAsync.h:239
void MQTTAsync_global_init(MQTTAsync_init_options *inits)
int MQTTAsync_setConnected(MQTTAsync handle, void *context, MQTTAsync_connected *co)
void MQTTAsync_free(void *ptr)
void MQTTAsync_connected(void *context, char *cause)
Definition: MQTTAsync.h:414
void MQTTAsync_connectionLost(void *context, char *cause)
Definition: MQTTAsync.h:396
int MQTTAsync_messageArrived(void *context, char *topicName, int topicLen, MQTTAsync_message *message)
Definition: MQTTAsync.h:353
int MQTTAsync_setMessageArrivedCallback(MQTTAsync handle, void *context, MQTTAsync_messageArrived *ma)
int MQTTAsync_isConnected(MQTTAsync handle)
int MQTTAsync_waitForCompletion(MQTTAsync handle, MQTTAsync_token token, unsigned long timeout)
void MQTTAsync_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition: MQTTAsync.h:428
int MQTTAsync_create(MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
int MQTTAsync_sendMessage(MQTTAsync handle, const char *destinationName, const MQTTAsync_message *msg, MQTTAsync_responseOptions *response)
MQTTAsync_nameValue * MQTTAsync_getVersionInfo(void)
MQTTASYNC_TRACE_LEVELS
Definition: MQTTAsync.h:1528
@ MQTTASYNC_TRACE_FATAL
Definition: MQTTAsync.h:1535
@ MQTTASYNC_TRACE_MEDIUM
Definition: MQTTAsync.h:1530
@ MQTTASYNC_TRACE_SEVERE
Definition: MQTTAsync.h:1534
@ MQTTASYNC_TRACE_PROTOCOL
Definition: MQTTAsync.h:1532
@ MQTTASYNC_TRACE_MINIMUM
Definition: MQTTAsync.h:1531
@ MQTTASYNC_TRACE_ERROR
Definition: MQTTAsync.h:1533
@ MQTTASYNC_TRACE_MAXIMUM
Definition: MQTTAsync.h:1529
void MQTTAsync_onFailure(void *context, MQTTAsync_failureData *response)
Definition: MQTTAsync.h:601
int MQTTAsync_send(MQTTAsync handle, const char *destinationName, int payloadlen, const void *payload, int qos, int retained, MQTTAsync_responseOptions *response)
void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char *message)
Definition: MQTTAsync.h:1555
int MQTTAsync_unsubscribeMany(MQTTAsync handle, int count, char *const *topic, MQTTAsync_responseOptions *response)
int MQTTAsync_createWithOptions(MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTAsync_createOptions *options)
void MQTTAsync_onSuccess(void *context, MQTTAsync_successData *response)
Definition: MQTTAsync.h:570
int MQTTAsync_token
Definition: MQTTAsync.h:249
const char * MQTTAsync_strerror(int code)
void MQTTAsync_onSuccess5(void *context, MQTTAsync_successData5 *response)
Definition: MQTTAsync.h:586
int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char *const *topic, int *qos, MQTTAsync_responseOptions *response)
void MQTTAsync_onFailure5(void *context, MQTTAsync_failureData5 *response)
Definition: MQTTAsync.h:616
int MQTTAsync_setDeliveryCompleteCallback(MQTTAsync handle, void *context, MQTTAsync_deliveryComplete *dc)
void MQTTAsync_freeMessage(MQTTAsync_message **msg)
void MQTTAsync_deliveryComplete(void *context, MQTTAsync_token token)
Definition: MQTTAsync.h:376
int MQTTAsync_isComplete(MQTTAsync handle, MQTTAsync_token token)
int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens)
int MQTTAsync_reconnect(MQTTAsync handle)
void MQTTAsync_setTraceLevel(enum MQTTASYNC_TRACE_LEVELS level)
void MQTTAsync_destroy(MQTTAsync *handle)
int MQTTAsync_setDisconnected(MQTTAsync handle, void *context, MQTTAsync_disconnected *co)
int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions *options)
int MQTTAsync_subscribe(MQTTAsync handle, const char *topic, int qos, MQTTAsync_responseOptions *response)
struct MQTTAsync_responseOptions MQTTAsync_responseOptions
int MQTTAsync_setCallbacks(MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl, MQTTAsync_messageArrived *ma, MQTTAsync_deliveryComplete *dc)
int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl)
This structure represents a persistent data store, used to store outbound and inbound messages,...
MQTTReasonCodes
Definition: MQTTReasonCodes.h:23
Definition: MQTTAsync.h:951
const char * trustStore
Definition: MQTTAsync.h:958
int struct_version
Definition: MQTTAsync.h:955
int disableDefaultTrustStore
Definition: MQTTAsync.h:1035
void * ssl_error_context
Definition: MQTTAsync.h:1015
const char * CApath
Definition: MQTTAsync.h:1003
const char * keyStore
Definition: MQTTAsync.h:963
int sslVersion
Definition: MQTTAsync.h:989
int enableServerCertAuth
Definition: MQTTAsync.h:983
const char * privateKey
Definition: MQTTAsync.h:968
int verify
Definition: MQTTAsync.h:996
const char * enabledCipherSuites
Definition: MQTTAsync.h:980
void * ssl_psk_context
Definition: MQTTAsync.h:1028
const char * privateKeyPassword
Definition: MQTTAsync.h:970
Definition: MQTTAsync.h:1054
int maxRetryInterval
Definition: MQTTAsync.h:1188
int cleansession
Definition: MQTTAsync.h:1099
int struct_version
Definition: MQTTAsync.h:1066
MQTTAsync_onFailure * onFailure
Definition: MQTTAsync.h:1150
const void * data
Definition: MQTTAsync.h:1194
int MQTTVersion
Definition: MQTTAsync.h:1176
int minRetryInterval
Definition: MQTTAsync.h:1184
MQTTAsync_onSuccess5 * onSuccess5
Definition: MQTTAsync.h:1217
int connectTimeout
Definition: MQTTAsync.h:1125
MQTTAsync_onFailure5 * onFailure5
Definition: MQTTAsync.h:1223
int maxInflight
Definition: MQTTAsync.h:1103
int automaticReconnect
Definition: MQTTAsync.h:1180
MQTTAsync_willOptions * will
Definition: MQTTAsync.h:1109
MQTTAsync_SSLOptions * ssl
Definition: MQTTAsync.h:1138
MQTTProperties * connectProperties
Definition: MQTTAsync.h:1207
const char * password
Definition: MQTTAsync.h:1121
int serverURIcount
Definition: MQTTAsync.h:1160
char *const * serverURIs
Definition: MQTTAsync.h:1169
const char * username
Definition: MQTTAsync.h:1115
MQTTAsync_onSuccess * onSuccess
Definition: MQTTAsync.h:1144
MQTTProperties * willProperties
Definition: MQTTAsync.h:1211
const MQTTAsync_nameValue * httpHeaders
Definition: MQTTAsync.h:1199
int retryInterval
Definition: MQTTAsync.h:1133
int keepAliveInterval
Definition: MQTTAsync.h:1077
int cleanstart
Definition: MQTTAsync.h:1203
void * context
Definition: MQTTAsync.h:1156
int len
Definition: MQTTAsync.h:1193
Definition: MQTTAsync.h:863
int struct_version
Definition: MQTTAsync.h:869
int sendWhileDisconnected
Definition: MQTTAsync.h:871
int MQTTVersion
Definition: MQTTAsync.h:879
int maxBufferedMessages
Definition: MQTTAsync.h:873
Definition: MQTTAsync.h:1258
int struct_version
Definition: MQTTAsync.h:1262
MQTTAsync_onFailure * onFailure
Definition: MQTTAsync.h:1279
MQTTProperties properties
Definition: MQTTAsync.h:1289
MQTTAsync_onSuccess5 * onSuccess5
Definition: MQTTAsync.h:1299
int timeout
Definition: MQTTAsync.h:1267
MQTTAsync_onFailure5 * onFailure5
Definition: MQTTAsync.h:1305
enum MQTTReasonCodes reasonCode
Definition: MQTTAsync.h:1293
MQTTAsync_onSuccess * onSuccess
Definition: MQTTAsync.h:1273
void * context
Definition: MQTTAsync.h:1285
Definition: MQTTAsync.h:463
int struct_version
Definition: MQTTAsync.h:467
MQTTProperties properties
Definition: MQTTAsync.h:473
const char * message
Definition: MQTTAsync.h:477
int packet_type
Definition: MQTTAsync.h:479
int code
Definition: MQTTAsync.h:475
enum MQTTReasonCodes reasonCode
Definition: MQTTAsync.h:471
MQTTAsync_token token
Definition: MQTTAsync.h:469
Definition: MQTTAsync.h:451
const char * message
Definition: MQTTAsync.h:457
int code
Definition: MQTTAsync.h:455
MQTTAsync_token token
Definition: MQTTAsync.h:453
Definition: MQTTAsync.h:218
int struct_version
Definition: MQTTAsync.h:222
int do_openssl_init
Definition: MQTTAsync.h:224
Definition: MQTTAsync.h:258
int struct_version
Definition: MQTTAsync.h:263
MQTTProperties properties
Definition: MQTTAsync.h:315
int qos
Definition: MQTTAsync.h:281
int msgid
Definition: MQTTAsync.h:311
int retained
Definition: MQTTAsync.h:300
void * payload
Definition: MQTTAsync.h:267
int payloadlen
Definition: MQTTAsync.h:265
int dup
Definition: MQTTAsync.h:307
Definition: MQTTAsync.h:1043
const char * value
Definition: MQTTAsync.h:1045
const char * name
Definition: MQTTAsync.h:1044
Definition: MQTTAsync.h:624
int struct_version
Definition: MQTTAsync.h:629
MQTTAsync_onFailure * onFailure
Definition: MQTTAsync.h:641
MQTTProperties properties
Definition: MQTTAsync.h:669
MQTTSubscribe_options subscribeOptions
Definition: MQTTAsync.h:673
int subscribeOptionsCount
Definition: MQTTAsync.h:678
MQTTAsync_onSuccess5 * onSuccess5
Definition: MQTTAsync.h:659
MQTTAsync_onFailure5 * onFailure5
Definition: MQTTAsync.h:665
MQTTSubscribe_options * subscribeOptionsList
Definition: MQTTAsync.h:682
char struct_id[4]
Definition: MQTTAsync.h:626
MQTTAsync_onSuccess * onSuccess
Definition: MQTTAsync.h:635
void * context
Definition: MQTTAsync.h:647
MQTTAsync_token token
Definition: MQTTAsync.h:653
Definition: MQTTAsync.h:517
int struct_version
Definition: MQTTAsync.h:519
int MQTTVersion
Definition: MQTTAsync.h:543
MQTTProperties properties
Definition: MQTTAsync.h:523
enum MQTTReasonCodes * reasonCodes
Definition: MQTTAsync.h:531
int sessionPresent
Definition: MQTTAsync.h:544
enum MQTTReasonCodes reasonCode
Definition: MQTTAsync.h:522
MQTTAsync_message message
Definition: MQTTAsync.h:536
char * serverURI
Definition: MQTTAsync.h:542
int reasonCodeCount
Definition: MQTTAsync.h:530
char * destinationName
Definition: MQTTAsync.h:537
MQTTAsync_token token
Definition: MQTTAsync.h:521
Definition: MQTTAsync.h:486
int MQTTVersion
Definition: MQTTAsync.h:508
int qos
Definition: MQTTAsync.h:494
int sessionPresent
Definition: MQTTAsync.h:509
MQTTAsync_message message
Definition: MQTTAsync.h:501
int * qosList
Definition: MQTTAsync.h:497
char * serverURI
Definition: MQTTAsync.h:507
char * destinationName
Definition: MQTTAsync.h:502
MQTTAsync_token token
Definition: MQTTAsync.h:488
Definition: MQTTAsync.h:903
int struct_version
Definition: MQTTAsync.h:909
const void * data
Definition: MQTTAsync.h:927
const char * topicName
Definition: MQTTAsync.h:911
const char * message
Definition: MQTTAsync.h:913
int qos
Definition: MQTTAsync.h:922
int retained
Definition: MQTTAsync.h:917
int len
Definition: MQTTAsync.h:926
Definition: MQTTProperties.h:113
Definition: MQTTSubscribeOpts.h:22