110#if !defined(MQTTCLIENT_H)
113#if defined(__cplusplus)
122#include "MQTTExportDeclarations.h"
127#if !defined(NO_PERSISTENCE)
130#define MQTTCLIENT_PERSISTENCE_NONE 1
137#define MQTTCLIENT_SUCCESS 0
142#define MQTTCLIENT_FAILURE -1
149#define MQTTCLIENT_DISCONNECTED -3
154#define MQTTCLIENT_MAX_MESSAGES_INFLIGHT -4
158#define MQTTCLIENT_BAD_UTF8_STRING -5
162#define MQTTCLIENT_NULL_PARAMETER -6
168#define MQTTCLIENT_TOPICNAME_TRUNCATED -7
173#define MQTTCLIENT_BAD_STRUCTURE -8
177#define MQTTCLIENT_BAD_QOS -9
181#define MQTTCLIENT_SSL_NOT_SUPPORTED -10
185 #define MQTTCLIENT_BAD_MQTT_VERSION -11
195#define MQTTCLIENT_BAD_PROTOCOL -14
199 #define MQTTCLIENT_BAD_MQTT_OPTION -15
203 #define MQTTCLIENT_WRONG_MQTT_VERSION -16
207 #define MQTTCLIENT_0_LEN_WILL_TOPIC -17
213#define MQTTVERSION_DEFAULT 0
217#define MQTTVERSION_3_1 3
221#define MQTTVERSION_3_1_1 4
225 #define MQTTVERSION_5 5
229#define MQTT_BAD_SUBSCRIBE 0x80
244#define MQTTClient_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 }
337#define MQTTClient_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
551 int persistence_type,
void* persistence_context);
568#define MQTTClient_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 0, MQTTVERSION_DEFAULT }
658#define MQTTClient_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, {0, NULL} }
660#define MQTT_SSL_VERSION_DEFAULT 0
661#define MQTT_SSL_VERSION_TLS_1_0 1
662#define MQTT_SSL_VERSION_TLS_1_1 2
663#define MQTT_SSL_VERSION_TLS_1_2 3
744 int (*ssl_error_cb) (
const char *str,
size_t len,
void *u);
757 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);
788#define MQTTClient_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }
990#define MQTTClient_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\
9910, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL}
994#define MQTTClient_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\
9950, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL}
1000#define MQTTClient_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\
10010, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL}
1006#define MQTTClient_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\
10070, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL}
1041#define MQTTResponse_initializer {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL}
1388 unsigned long timeout);
1485#if defined(__cplusplus)
void MQTTResponse_free(MQTTResponse response)
struct MQTTResponse MQTTResponse
int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties *props)
int MQTTClient_disconnect(MQTTClient handle, int timeout)
void * MQTTClient_malloc(size_t size)
void MQTTClient_free(void *ptr)
void MQTTClient_global_init(MQTTClient_init_options *inits)
void MQTTClient_setTraceCallback(MQTTClient_traceCallback *callback)
int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens)
MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
void MQTTClient_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition MQTTClient.h:452
MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char *const *topic, MQTTProperties *props)
int MQTTClient_receive(MQTTClient handle, char **topicName, int *topicLen, MQTTClient_message **message, unsigned long timeout)
void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level)
int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char *const *topic)
MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char *const *topic, int *qos, MQTTSubscribe_options *opts, MQTTProperties *props)
MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char *topic, MQTTProperties *props)
const char * MQTTClient_strerror(int code)
void MQTTClient_connectionLost(void *context, char *cause)
Definition MQTTClient.h:408
void MQTTClient_published(void *context, int dt, int packet_type, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition MQTTClient.h:493
int MQTTClient_isConnected(MQTTClient handle)
int MQTTClient_deliveryToken
Definition MQTTClient.h:267
void * MQTTClient
Definition MQTTClient.h:256
MQTTResponse MQTTClient_publish5(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTProperties *properties, MQTTClient_deliveryToken *dt)
int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout)
void MQTTClient_yield(void)
int MQTTClient_setDisconnected(MQTTClient handle, void *context, MQTTClient_disconnected *co)
int MQTTClient_token
Definition MQTTClient.h:268
int MQTTClient_subscribeMany(MQTTClient handle, int count, char *const *topic, int *qos)
int MQTTClient_setCommandTimeout(MQTTClient handle, unsigned long milliSeconds)
int MQTTClient_create(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
int MQTTClient_subscribe(MQTTClient handle, const char *topic, int qos)
int MQTTClient_setPublished(MQTTClient handle, void *context, MQTTClient_published *co)
MQTTCLIENT_TRACE_LEVELS
Definition MQTTClient.h:1431
@ MQTTCLIENT_TRACE_PROTOCOL
Definition MQTTClient.h:1435
@ MQTTCLIENT_TRACE_FATAL
Definition MQTTClient.h:1438
@ MQTTCLIENT_TRACE_MAXIMUM
Definition MQTTClient.h:1432
@ MQTTCLIENT_TRACE_MEDIUM
Definition MQTTClient.h:1433
@ MQTTCLIENT_TRACE_ERROR
Definition MQTTClient.h:1436
@ MQTTCLIENT_TRACE_MINIMUM
Definition MQTTClient.h:1434
@ MQTTCLIENT_TRACE_SEVERE
Definition MQTTClient.h:1437
int MQTTClient_messageArrived(void *context, char *topicName, int topicLen, MQTTClient_message *message)
Definition MQTTClient.h:369
MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions *options, MQTTProperties *connectProperties, MQTTProperties *willProperties)
int MQTTClient_unsubscribe(MQTTClient handle, const char *topic)
int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions *options)
int MQTTClient_setCallbacks(MQTTClient handle, void *context, MQTTClient_connectionLost *cl, MQTTClient_messageArrived *ma, MQTTClient_deliveryComplete *dc)
void MQTTClient_freeMessage(MQTTClient_message **msg)
void MQTTClient_deliveryComplete(void *context, MQTTClient_deliveryToken dt)
Definition MQTTClient.h:391
int MQTTClient_publishMessage(MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
int MQTTClient_createWithOptions(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTClient_createOptions *options)
void MQTTClient_destroy(MQTTClient *handle)
MQTTClient_nameValue * MQTTClient_getVersionInfo(void)
MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char *topic, int qos, MQTTSubscribe_options *opts, MQTTProperties *props)
void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char *message)
Definition MQTTClient.h:1459
int MQTTClient_publish(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTClient_deliveryToken *dt)
This structure represents a persistent data store, used to store outbound and inbound messages,...
MQTTReasonCodes
Definition MQTTReasonCodes.h:23
Definition MQTTClient.h:678
const char * trustStore
Definition MQTTClient.h:692
int struct_version
Definition MQTTClient.h:689
int disableDefaultTrustStore
Definition MQTTClient.h:770
void * ssl_error_context
Definition MQTTClient.h:750
unsigned int protos_len
Definition MQTTClient.h:785
const char * CApath
Definition MQTTClient.h:738
const char * keyStore
Definition MQTTClient.h:697
int sslVersion
Definition MQTTClient.h:724
const unsigned char * protos
Definition MQTTClient.h:779
int enableServerCertAuth
Definition MQTTClient.h:718
const char * privateKey
Definition MQTTClient.h:702
int verify
Definition MQTTClient.h:731
const char * enabledCipherSuites
Definition MQTTClient.h:715
void * ssl_psk_context
Definition MQTTClient.h:763
const char * privateKeyPassword
Definition MQTTClient.h:705
Definition MQTTClient.h:831
const MQTTClient_nameValue * httpHeaders
Definition MQTTClient.h:976
int cleansession
Definition MQTTClient.h:876
int struct_version
Definition MQTTClient.h:844
MQTTClient_willOptions * will
Definition MQTTClient.h:892
const void * data
Definition MQTTClient.h:963
int MQTTVersion
Definition MQTTClient.h:947
const char * serverURI
Definition MQTTClient.h:953
const char * httpsProxy
Definition MQTTClient.h:986
int connectTimeout
Definition MQTTClient.h:908
int sessionPresent
Definition MQTTClient.h:955
MQTTClient_SSLOptions * ssl
Definition MQTTClient.h:921
int reliable
Definition MQTTClient.h:886
const char * password
Definition MQTTClient.h:904
int serverURIcount
Definition MQTTClient.h:925
char *const * serverURIs
Definition MQTTClient.h:939
const char * username
Definition MQTTClient.h:898
int retryInterval
Definition MQTTClient.h:916
int keepAliveInterval
Definition MQTTClient.h:854
int cleanstart
Definition MQTTClient.h:972
const char * httpProxy
Definition MQTTClient.h:982
int maxInflightMessages
Definition MQTTClient.h:968
int len
Definition MQTTClient.h:962
Definition MQTTClient.h:555
int struct_version
Definition MQTTClient.h:559
int MQTTVersion
Definition MQTTClient.h:565
Definition MQTTClient.h:235
int struct_version
Definition MQTTClient.h:239
int do_openssl_init
Definition MQTTClient.h:241
Definition MQTTClient.h:277
int struct_version
Definition MQTTClient.h:282
MQTTProperties properties
Definition MQTTClient.h:334
int qos
Definition MQTTClient.h:300
int msgid
Definition MQTTClient.h:330
int retained
Definition MQTTClient.h:319
void * payload
Definition MQTTClient.h:286
int payloadlen
Definition MQTTClient.h:284
int dup
Definition MQTTClient.h:326
Definition MQTTClient.h:798
const char * value
Definition MQTTClient.h:800
const char * name
Definition MQTTClient.h:799
Definition MQTTClient.h:630
int struct_version
Definition MQTTClient.h:636
const void * data
Definition MQTTClient.h:654
const char * topicName
Definition MQTTClient.h:638
const char * message
Definition MQTTClient.h:640
int qos
Definition MQTTClient.h:649
int retained
Definition MQTTClient.h:644
int len
Definition MQTTClient.h:653
Definition MQTTProperties.h:116
Definition MQTTClient.h:1033
enum MQTTReasonCodes * reasonCodes
Definition MQTTClient.h:1037
enum MQTTReasonCodes reasonCode
Definition MQTTClient.h:1035
MQTTProperties * properties
Definition MQTTClient.h:1038
int version
Definition MQTTClient.h:1034
int reasonCodeCount
Definition MQTTClient.h:1036
Definition MQTTSubscribeOpts.h:22