Paho MQTT C Client Library
MQTTClient.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2009, 2020 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  * Ian Craggs, Allan Stockdill-Mander - SSL updates
16  * Ian Craggs - multiple server connection support
17  * Ian Craggs - MQTT 3.1.1 support
18  * Ian Craggs - remove const from eyecatchers #168
19  *******************************************************************************/
20 
103 /*
105 */
106 #if !defined(MQTTCLIENT_H)
107 #define MQTTCLIENT_H
108 
109 #if defined(__cplusplus)
110  extern "C" {
111 #endif
112 
113 #include <stdio.h>
114 /*
116 */
117 
118 #include "MQTTExportDeclarations.h"
119 
120 #include "MQTTProperties.h"
121 #include "MQTTReasonCodes.h"
122 #include "MQTTSubscribeOpts.h"
123 #if !defined(NO_PERSISTENCE)
124 #include "MQTTClientPersistence.h"
125 #endif
126 
131 #define MQTTCLIENT_SUCCESS 0
132 
136 #define MQTTCLIENT_FAILURE -1
137 
138 /* error code -2 is MQTTCLIENT_PERSISTENCE_ERROR */
139 
143 #define MQTTCLIENT_DISCONNECTED -3
144 
148 #define MQTTCLIENT_MAX_MESSAGES_INFLIGHT -4
149 
152 #define MQTTCLIENT_BAD_UTF8_STRING -5
153 
156 #define MQTTCLIENT_NULL_PARAMETER -6
157 
162 #define MQTTCLIENT_TOPICNAME_TRUNCATED -7
163 
167 #define MQTTCLIENT_BAD_STRUCTURE -8
168 
171 #define MQTTCLIENT_BAD_QOS -9
172 
175 #define MQTTCLIENT_SSL_NOT_SUPPORTED -10
176 
179  #define MQTTCLIENT_BAD_MQTT_VERSION -11
180 
185 #define MQTTCLIENT_BAD_PROTOCOL -14
186 
189  #define MQTTCLIENT_BAD_MQTT_OPTION -15
190 
193  #define MQTTCLIENT_WRONG_MQTT_VERSION -16
194 
197  #define MQTTCLIENT_0_LEN_WILL_TOPIC -17
198 
199 
203 #define MQTTVERSION_DEFAULT 0
204 
207 #define MQTTVERSION_3_1 3
208 
211 #define MQTTVERSION_3_1_1 4
212 
215  #define MQTTVERSION_5 5
216 
219 #define MQTT_BAD_SUBSCRIBE 0x80
220 
224 typedef struct
225 {
227  char struct_id[4];
233 
234 #define MQTTClient_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 }
235 
241 
246 typedef void* MQTTClient;
258 typedef int MQTTClient_token;
259 
266 typedef struct
267 {
269  char struct_id[4];
276  void* payload;
290  int qos;
309  int retained;
316  int dup;
320  int msgid;
326 
327 #define MQTTClient_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
328 
359 typedef int MQTTClient_messageArrived(void* context, char* topicName, int topicLen, MQTTClient_message* message);
360 
382 
398 typedef void MQTTClient_connectionLost(void* context, char* cause);
399 
427 LIBMQTT_API int MQTTClient_setCallbacks(MQTTClient handle, void* context, MQTTClient_connectionLost* cl,
429 
430 
440 typedef void MQTTClient_disconnected(void* context, MQTTProperties* properties,
441  enum MQTTReasonCodes reasonCode);
442 
456 LIBMQTT_API int MQTTClient_setDisconnected(MQTTClient handle, void* context, MQTTClient_disconnected* co);
457 
481 typedef void MQTTClient_published(void* context, int dt, int packet_type, MQTTProperties* properties,
482  enum MQTTReasonCodes reasonCode);
483 
484 LIBMQTT_API int MQTTClient_setPublished(MQTTClient handle, void* context, MQTTClient_published* co);
485 
528 LIBMQTT_API int MQTTClient_create(MQTTClient* handle, const char* serverURI, const char* clientId,
529  int persistence_type, void* persistence_context);
530 
532 typedef struct
533 {
535  char struct_id[4];
545 
546 #define MQTTClient_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 0, MQTTVERSION_DEFAULT }
547 
592 LIBMQTT_API int MQTTClient_createWithOptions(MQTTClient* handle, const char* serverURI, const char* clientId,
593  int persistence_type, void* persistence_context, MQTTClient_createOptions* options);
594 
607 typedef struct
608 {
610  char struct_id[4];
616  const char* topicName;
618  const char* message;
622  int retained;
627  int qos;
629  struct
630  {
631  int len;
632  const void* data;
633  } payload;
635 
636 #define MQTTClient_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, {0, NULL} }
637 
638 #define MQTT_SSL_VERSION_DEFAULT 0
639 #define MQTT_SSL_VERSION_TLS_1_0 1
640 #define MQTT_SSL_VERSION_TLS_1_1 2
641 #define MQTT_SSL_VERSION_TLS_1_2 3
642 
655 typedef struct
656 {
658  char struct_id[4];
661 
663  const char* trustStore;
664 
668  const char* keyStore;
669 
673  const char* privateKey;
675  const char* privateKeyPassword;
676 
685  const char* enabledCipherSuites;
686 
689 
695 
701  int verify;
702 
708  const char* CApath;
709 
714  int (*ssl_error_cb) (const char *str, size_t len, void *u);
715 
721 
727  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);
728 
734 
741 
743 
744 #define MQTTClient_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 4, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0 }
745 
753 typedef struct
754 {
755  const char* name;
756  const char* value;
758 
765 
780 typedef struct
781 {
783  char struct_id[4];
835  int reliable;
847  const char* username;
853  const char* password;
885  char* const* serverURIs;
897  struct
898  {
899  const char* serverURI;
900  int MQTTVersion;
902  } returned;
906  struct
907  {
908  int len;
909  const void* data;
910  } binarypwd;
915  /*
916  * MQTT V5 clean start flag. Only clears state at the beginning of the session.
917  */
924 
925 #define MQTTClient_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 7, 60, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\
926 0, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL}
927 
928 #define MQTTClient_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 7, 60, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\
929 0, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL}
930 
951 LIBMQTT_API int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions* options);
952 
954 typedef struct MQTTResponse
955 {
956  int version; /* the version number of this structure */
957  enum MQTTReasonCodes reasonCode; /* the MQTT 5.0 reason code returned */
958  int reasonCodeCount; /* the number of reason codes. Used for subscribeMany5 and unsubscribeMany5 */
959  enum MQTTReasonCodes* reasonCodes; /* a list of reason codes. Used for subscribeMany5 and unsubscribeMany5 */
960  MQTTProperties* properties; /* optionally, the MQTT 5.0 properties returned */
962 
963 #define MQTTResponse_initializer {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL}
964 
969 LIBMQTT_API void MQTTResponse_free(MQTTResponse response);
970 
984  MQTTProperties* connectProperties, MQTTProperties* willProperties);
985 
1004 LIBMQTT_API int MQTTClient_disconnect(MQTTClient handle, int timeout);
1005 
1006 LIBMQTT_API int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties* props);
1007 
1015 LIBMQTT_API int MQTTClient_isConnected(MQTTClient handle);
1016 
1017 
1018 /* Subscribe is synchronous. QoS list parameter is changed on return to granted QoSs.
1019  Returns return code, MQTTCLIENT_SUCCESS == success, non-zero some sort of error (TBD) */
1020 
1034 LIBMQTT_API int MQTTClient_subscribe(MQTTClient handle, const char* topic, int qos);
1035 
1049 LIBMQTT_API MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char* topic, int qos,
1050  MQTTSubscribe_options* opts, MQTTProperties* props);
1051 
1068 LIBMQTT_API int MQTTClient_subscribeMany(MQTTClient handle, int count, char* const* topic, int* qos);
1069 
1086 LIBMQTT_API MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char* const* topic,
1087  int* qos, MQTTSubscribe_options* opts, MQTTProperties* props);
1088 
1100 LIBMQTT_API int MQTTClient_unsubscribe(MQTTClient handle, const char* topic);
1101 
1112 LIBMQTT_API MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char* topic, MQTTProperties* props);
1113 
1125 LIBMQTT_API int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char* const* topic);
1126 
1138 LIBMQTT_API MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char* const* topic, MQTTProperties* props);
1139 
1161 LIBMQTT_API int MQTTClient_publish(MQTTClient handle, const char* topicName, int payloadlen, const void* payload, int qos, int retained,
1163 
1185 LIBMQTT_API MQTTResponse MQTTClient_publish5(MQTTClient handle, const char* topicName, int payloadlen, const void* payload,
1186  int qos, int retained, MQTTProperties* properties, MQTTClient_deliveryToken* dt);
1206 LIBMQTT_API int MQTTClient_publishMessage(MQTTClient handle, const char* topicName, MQTTClient_message* msg, MQTTClient_deliveryToken* dt);
1207 
1208 
1228 LIBMQTT_API MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char* topicName, MQTTClient_message* msg,
1230 
1246 LIBMQTT_API int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout);
1247 
1248 
1268 
1275 LIBMQTT_API void MQTTClient_yield(void);
1276 
1308 LIBMQTT_API int MQTTClient_receive(MQTTClient handle, char** topicName, int* topicLen, MQTTClient_message** message,
1309  unsigned long timeout);
1310 
1322 
1331 LIBMQTT_API void MQTTClient_free(void* ptr);
1332 
1340 LIBMQTT_API void MQTTClient_destroy(MQTTClient* handle);
1341 
1342 
1344 {
1352 };
1353 
1354 
1361 
1362 
1371 typedef void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char* message);
1372 
1380 
1386 LIBMQTT_API const char* MQTTClient_strerror(int code);
1387 
1388 #ifdef __cplusplus
1389  }
1390 #endif
1391 
1392 #endif
1393 
MQTTProperties.h
MQTTClient_willOptions::qos
int qos
Definition: MQTTClient.h:627
MQTTResponse::reasonCode
enum MQTTReasonCodes reasonCode
Definition: MQTTClient.h:957
MQTTCLIENT_TRACE_MEDIUM
@ MQTTCLIENT_TRACE_MEDIUM
Definition: MQTTClient.h:1346
MQTTClient_init_options::do_openssl_init
int do_openssl_init
Definition: MQTTClient.h:231
MQTTClient_message::retained
int retained
Definition: MQTTClient.h:309
MQTTClient_publish
int MQTTClient_publish(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTClient_deliveryToken *dt)
MQTTClient_willOptions::data
const void * data
Definition: MQTTClient.h:632
MQTTClient_SSLOptions::trustStore
const char * trustStore
Definition: MQTTClient.h:663
MQTTClient_subscribeMany
int MQTTClient_subscribeMany(MQTTClient handle, int count, char *const *topic, int *qos)
MQTTClient_setDisconnected
int MQTTClient_setDisconnected(MQTTClient handle, void *context, MQTTClient_disconnected *co)
MQTTCLIENT_TRACE_PROTOCOL
@ MQTTCLIENT_TRACE_PROTOCOL
Definition: MQTTClient.h:1348
MQTTClient_strerror
const char * MQTTClient_strerror(int code)
MQTTClient_SSLOptions::ssl_psk_context
void * ssl_psk_context
Definition: MQTTClient.h:733
MQTTClient_connectOptions::keepAliveInterval
int keepAliveInterval
Definition: MQTTClient.h:803
MQTTClient_message::payloadlen
int payloadlen
Definition: MQTTClient.h:274
MQTTProperties
Definition: MQTTProperties.h:113
MQTTClient_connectOptions::will
MQTTClient_willOptions * will
Definition: MQTTClient.h:841
MQTTClient_connectOptions::retryInterval
int retryInterval
Definition: MQTTClient.h:865
MQTTClient_SSLOptions::ssl_error_context
void * ssl_error_context
Definition: MQTTClient.h:720
MQTTClient_setTraceCallback
void MQTTClient_setTraceCallback(MQTTClient_traceCallback *callback)
MQTTClient_createOptions
Definition: MQTTClient.h:533
MQTTClient_unsubscribe
int MQTTClient_unsubscribe(MQTTClient handle, const char *topic)
MQTTClient_willOptions::message
const char * message
Definition: MQTTClient.h:618
MQTTClient_connectOptions::httpHeaders
const MQTTClient_nameValue * httpHeaders
Definition: MQTTClient.h:922
MQTTClient_nameValue::value
const char * value
Definition: MQTTClient.h:756
MQTTClient_receive
int MQTTClient_receive(MQTTClient handle, char **topicName, int *topicLen, MQTTClient_message **message, unsigned long timeout)
MQTTClient_messageArrived
int MQTTClient_messageArrived(void *context, char *topicName, int topicLen, MQTTClient_message *message)
Definition: MQTTClient.h:359
MQTTClient_freeMessage
void MQTTClient_freeMessage(MQTTClient_message **msg)
MQTTClient_unsubscribe5
MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char *topic, MQTTProperties *props)
MQTTClient_nameValue::name
const char * name
Definition: MQTTClient.h:755
MQTTClient_willOptions::struct_version
int struct_version
Definition: MQTTClient.h:614
MQTTClient_SSLOptions::disableDefaultTrustStore
int disableDefaultTrustStore
Definition: MQTTClient.h:740
MQTTClient_publish5
MQTTResponse MQTTClient_publish5(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTProperties *properties, MQTTClient_deliveryToken *dt)
MQTTClient_connectOptions::cleanstart
int cleanstart
Definition: MQTTClient.h:918
MQTTClient_connectOptions::sessionPresent
int sessionPresent
Definition: MQTTClient.h:901
MQTTClient_message
Definition: MQTTClient.h:267
MQTTClient_connectOptions::serverURI
const char * serverURI
Definition: MQTTClient.h:899
MQTTClient_subscribe5
MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char *topic, int qos, MQTTSubscribe_options *opts, MQTTProperties *props)
MQTTClient_connectOptions::serverURIs
char *const * serverURIs
Definition: MQTTClient.h:885
MQTTClient_SSLOptions
Definition: MQTTClient.h:656
MQTTClient_message::properties
MQTTProperties properties
Definition: MQTTClient.h:324
MQTTClient_message::qos
int qos
Definition: MQTTClient.h:290
MQTTClient_yield
void MQTTClient_yield(void)
MQTTClient_createOptions::struct_version
int struct_version
Definition: MQTTClient.h:537
MQTTCLIENT_TRACE_ERROR
@ MQTTCLIENT_TRACE_ERROR
Definition: MQTTClient.h:1349
MQTTClient_connectOptions::maxInflightMessages
int maxInflightMessages
Definition: MQTTClient.h:914
MQTTClient_deliveryComplete
void MQTTClient_deliveryComplete(void *context, MQTTClient_deliveryToken dt)
Definition: MQTTClient.h:381
MQTTClient_token
int MQTTClient_token
Definition: MQTTClient.h:258
MQTTSubscribeOpts.h
MQTTClient_connectOptions::struct_version
int struct_version
Definition: MQTTClient.h:793
MQTTClient_setTraceLevel
void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level)
MQTTCLIENT_TRACE_FATAL
@ MQTTCLIENT_TRACE_FATAL
Definition: MQTTClient.h:1351
MQTTClient_traceCallback
void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char *message)
Definition: MQTTClient.h:1371
MQTTClient_connectOptions::serverURIcount
int serverURIcount
Definition: MQTTClient.h:874
MQTTClient_subscribe
int MQTTClient_subscribe(MQTTClient handle, const char *topic, int qos)
MQTTClient_deliveryToken
int MQTTClient_deliveryToken
Definition: MQTTClient.h:257
MQTTClient_waitForCompletion
int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout)
MQTTClient_setCallbacks
int MQTTClient_setCallbacks(MQTTClient handle, void *context, MQTTClient_connectionLost *cl, MQTTClient_messageArrived *ma, MQTTClient_deliveryComplete *dc)
MQTTClient_connectOptions::password
const char * password
Definition: MQTTClient.h:853
MQTTClient_willOptions
Definition: MQTTClient.h:608
MQTTClient_SSLOptions::privateKeyPassword
const char * privateKeyPassword
Definition: MQTTClient.h:675
MQTTClient_connectOptions::data
const void * data
Definition: MQTTClient.h:909
MQTTClient_global_init
void MQTTClient_global_init(MQTTClient_init_options *inits)
MQTTClient_connectionLost
void MQTTClient_connectionLost(void *context, char *cause)
Definition: MQTTClient.h:398
MQTTClient_published
void MQTTClient_published(void *context, int dt, int packet_type, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition: MQTTClient.h:481
MQTTClient_message::payload
void * payload
Definition: MQTTClient.h:276
MQTTResponse_free
void MQTTResponse_free(MQTTResponse response)
MQTTResponse
struct MQTTResponse MQTTResponse
MQTTClient_connectOptions::MQTTVersion
int MQTTVersion
Definition: MQTTClient.h:893
MQTTResponse::properties
MQTTProperties * properties
Definition: MQTTClient.h:960
MQTTReasonCodes.h
MQTTClient_SSLOptions::CApath
const char * CApath
Definition: MQTTClient.h:708
MQTTClient_message::msgid
int msgid
Definition: MQTTClient.h:320
MQTTClient_willOptions::topicName
const char * topicName
Definition: MQTTClient.h:616
MQTTClient
void * MQTTClient
Definition: MQTTClient.h:246
MQTTClient_getPendingDeliveryTokens
int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens)
MQTTResponse
Definition: MQTTClient.h:955
MQTTClient_unsubscribeMany
int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char *const *topic)
MQTTClient_SSLOptions::keyStore
const char * keyStore
Definition: MQTTClient.h:668
MQTTClient_disconnected
void MQTTClient_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition: MQTTClient.h:440
MQTTClient_message::struct_version
int struct_version
Definition: MQTTClient.h:272
MQTTClient_publishMessage5
MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
MQTTClient_SSLOptions::verify
int verify
Definition: MQTTClient.h:701
MQTTClient_connectOptions::username
const char * username
Definition: MQTTClient.h:847
MQTTCLIENT_TRACE_MAXIMUM
@ MQTTCLIENT_TRACE_MAXIMUM
Definition: MQTTClient.h:1345
MQTTCLIENT_TRACE_MINIMUM
@ MQTTCLIENT_TRACE_MINIMUM
Definition: MQTTClient.h:1347
MQTTCLIENT_TRACE_LEVELS
MQTTCLIENT_TRACE_LEVELS
Definition: MQTTClient.h:1344
MQTTSubscribe_options
Definition: MQTTSubscribeOpts.h:22
MQTTClient_getVersionInfo
MQTTClient_nameValue * MQTTClient_getVersionInfo(void)
MQTTClient_connectOptions::len
int len
Definition: MQTTClient.h:908
MQTTClient_destroy
void MQTTClient_destroy(MQTTClient *handle)
MQTTClient_connectOptions
Definition: MQTTClient.h:781
MQTTClient_publishMessage
int MQTTClient_publishMessage(MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
MQTTClient_connect
int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions *options)
MQTTClient_SSLOptions::struct_version
int struct_version
Definition: MQTTClient.h:660
MQTTClient_createWithOptions
int MQTTClient_createWithOptions(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTClient_createOptions *options)
MQTTClient_nameValue
Definition: MQTTClient.h:754
MQTTClient_setPublished
int MQTTClient_setPublished(MQTTClient handle, void *context, MQTTClient_published *co)
MQTTClient_message::dup
int dup
Definition: MQTTClient.h:316
MQTTClient_subscribeMany5
MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char *const *topic, int *qos, MQTTSubscribe_options *opts, MQTTProperties *props)
MQTTClient_init_options
Definition: MQTTClient.h:225
MQTTResponse::reasonCodes
enum MQTTReasonCodes * reasonCodes
Definition: MQTTClient.h:959
MQTTClient_SSLOptions::enableServerCertAuth
int enableServerCertAuth
Definition: MQTTClient.h:688
MQTTClient_unsubscribeMany5
MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char *const *topic, MQTTProperties *props)
MQTTClient_SSLOptions::privateKey
const char * privateKey
Definition: MQTTClient.h:673
MQTTCLIENT_TRACE_SEVERE
@ MQTTCLIENT_TRACE_SEVERE
Definition: MQTTClient.h:1350
MQTTClient_disconnect
int MQTTClient_disconnect(MQTTClient handle, int timeout)
MQTTResponse::reasonCodeCount
int reasonCodeCount
Definition: MQTTClient.h:958
MQTTClient_willOptions::retained
int retained
Definition: MQTTClient.h:622
MQTTClient_connectOptions::reliable
int reliable
Definition: MQTTClient.h:835
MQTTResponse::version
int version
Definition: MQTTClient.h:956
MQTTClient_SSLOptions::sslVersion
int sslVersion
Definition: MQTTClient.h:694
MQTTClient_connect5
MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions *options, MQTTProperties *connectProperties, MQTTProperties *willProperties)
MQTTClient_connectOptions::cleansession
int cleansession
Definition: MQTTClient.h:825
MQTTClient_createOptions::MQTTVersion
int MQTTVersion
Definition: MQTTClient.h:543
MQTTClient_SSLOptions::enabledCipherSuites
const char * enabledCipherSuites
Definition: MQTTClient.h:685
MQTTClientPersistence.h
This structure represents a persistent data store, used to store outbound and inbound messages,...
MQTTClient_disconnect5
int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties *props)
MQTTClient_connectOptions::ssl
MQTTClient_SSLOptions * ssl
Definition: MQTTClient.h:870
MQTTClient_init_options::struct_version
int struct_version
Definition: MQTTClient.h:229
MQTTClient_free
void MQTTClient_free(void *ptr)
MQTTClient_isConnected
int MQTTClient_isConnected(MQTTClient handle)
MQTTReasonCodes
MQTTReasonCodes
Definition: MQTTReasonCodes.h:23
MQTTClient_willOptions::len
int len
Definition: MQTTClient.h:631
MQTTClient_connectOptions::connectTimeout
int connectTimeout
Definition: MQTTClient.h:857
MQTTClient_create
int MQTTClient_create(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)