 |
Paho MQTT C Client Library
|
Go to the documentation of this file.
106 #if !defined(MQTTCLIENT_H)
109 #if defined(__cplusplus)
113 #if defined(WIN32) || defined(WIN64)
114 #define DLLImport __declspec(dllimport)
115 #define DLLExport __declspec(dllexport)
117 #define DLLImport extern
118 #define DLLExport __attribute__ ((visibility ("default")))
129 #if !defined(NO_PERSISTENCE)
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
189 #define MQTTCLIENT_BAD_PROTOCOL -14
193 #define MQTTCLIENT_BAD_MQTT_OPTION -15
197 #define MQTTCLIENT_WRONG_MQTT_VERSION -16
203 #define MQTTVERSION_DEFAULT 0
207 #define MQTTVERSION_3_1 3
211 #define MQTTVERSION_3_1_1 4
215 #define MQTTVERSION_5 5
219 #define MQTT_BAD_SUBSCRIBE 0x80
234 #define MQTTClient_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 }
327 #define MQTTClient_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
525 int persistence_type,
void* persistence_context);
541 #define MQTTClient_createOptions_initializer { {'M', 'Q', 'C', 'O'}, MQTTVERSION_DEFAULT }
631 #define MQTTClient_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, {0, NULL} }
633 #define MQTT_SSL_VERSION_DEFAULT 0
634 #define MQTT_SSL_VERSION_TLS_1_0 1
635 #define MQTT_SSL_VERSION_TLS_1_1 2
636 #define MQTT_SSL_VERSION_TLS_1_2 3
709 int (*ssl_error_cb) (
const char *str,
size_t len,
void *u);
719 #define MQTTClient_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 3, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL }
875 #define MQTTClient_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 6, 60, 1, 1, NULL, NULL, NULL, 30, 0, NULL, 0, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0}
877 #define MQTTClient_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 6, 60, 0, 1, NULL, NULL, NULL, 30, 0, NULL, 0, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1}
931 #define MQTTResponse_initializer {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL}
1172 unsigned long timeout);
int qos
Definition: MQTTClient.h:622
enum MQTTReasonCodes reasonCode
Definition: MQTTClient.h:925
@ MQTTCLIENT_TRACE_MEDIUM
Definition: MQTTClient.h:1209
int do_openssl_init
Definition: MQTTClient.h:231
int retained
Definition: MQTTClient.h:309
int MQTTClient_publish(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTClient_deliveryToken *dt)
const void * data
Definition: MQTTClient.h:627
const char * trustStore
Definition: MQTTClient.h:658
int MQTTClient_subscribeMany(MQTTClient handle, int count, char *const *topic, int *qos)
int MQTTClient_setDisconnected(MQTTClient handle, void *context, MQTTClient_disconnected *co)
@ MQTTCLIENT_TRACE_PROTOCOL
Definition: MQTTClient.h:1211
const char * MQTTClient_strerror(int code)
int keepAliveInterval
Definition: MQTTClient.h:757
int payloadlen
Definition: MQTTClient.h:274
Definition: MQTTProperties.h:118
MQTTClient_willOptions * will
Definition: MQTTClient.h:795
int retryInterval
Definition: MQTTClient.h:819
void * ssl_error_context
Definition: MQTTClient.h:715
void MQTTClient_setTraceCallback(MQTTClient_traceCallback *callback)
Definition: MQTTClient.h:527
int MQTTClient_unsubscribe(MQTTClient handle, const char *topic)
const char * message
Definition: MQTTClient.h:613
const char * value
Definition: MQTTClient.h:889
int MQTTClient_receive(MQTTClient handle, char **topicName, int *topicLen, MQTTClient_message **message, unsigned long timeout)
int MQTTClient_messageArrived(void *context, char *topicName, int topicLen, MQTTClient_message *message)
Definition: MQTTClient.h:355
void MQTTClient_freeMessage(MQTTClient_message **msg)
MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char *topic, MQTTProperties *props)
const char * name
Definition: MQTTClient.h:888
int struct_version
Definition: MQTTClient.h:609
MQTTResponse MQTTClient_publish5(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTProperties *properties, MQTTClient_deliveryToken *dt)
int cleanstart
Definition: MQTTClient.h:872
int sessionPresent
Definition: MQTTClient.h:855
Definition: MQTTClient.h:266
const char * serverURI
Definition: MQTTClient.h:853
MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char *topic, int qos, MQTTSubscribe_options *opts, MQTTProperties *props)
char *const * serverURIs
Definition: MQTTClient.h:839
Definition: MQTTClient.h:650
MQTTProperties properties
Definition: MQTTClient.h:324
int qos
Definition: MQTTClient.h:290
void MQTTClient_yield(void)
int struct_version
Definition: MQTTClient.h:532
@ MQTTCLIENT_TRACE_ERROR
Definition: MQTTClient.h:1212
int maxInflightMessages
Definition: MQTTClient.h:868
void MQTTClient_deliveryComplete(void *context, MQTTClient_deliveryToken dt)
Definition: MQTTClient.h:377
int MQTTClient_token
Definition: MQTTClient.h:258
int struct_version
Definition: MQTTClient.h:747
void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level)
@ MQTTCLIENT_TRACE_FATAL
Definition: MQTTClient.h:1214
void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char *message)
Definition: MQTTClient.h:1234
int serverURIcount
Definition: MQTTClient.h:828
int MQTTClient_subscribe(MQTTClient handle, const char *topic, int qos)
int MQTTClient_deliveryToken
Definition: MQTTClient.h:257
int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout)
int MQTTClient_setCallbacks(MQTTClient handle, void *context, MQTTClient_connectionLost *cl, MQTTClient_messageArrived *ma, MQTTClient_deliveryComplete *dc)
const char * password
Definition: MQTTClient.h:807
Definition: MQTTClient.h:602
const char * privateKeyPassword
Definition: MQTTClient.h:670
const void * data
Definition: MQTTClient.h:863
void MQTTClient_global_init(MQTTClient_init_options *inits)
void MQTTClient_connectionLost(void *context, char *cause)
Definition: MQTTClient.h:394
void MQTTClient_published(void *context, int dt, int packet_type, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition: MQTTClient.h:477
void * payload
Definition: MQTTClient.h:276
void MQTTResponse_free(MQTTResponse response)
struct MQTTResponse MQTTResponse
int MQTTVersion
Definition: MQTTClient.h:847
MQTTProperties * properties
Definition: MQTTClient.h:928
const char * CApath
Definition: MQTTClient.h:703
int msgid
Definition: MQTTClient.h:320
const char * topicName
Definition: MQTTClient.h:611
void * MQTTClient
Definition: MQTTClient.h:246
int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens)
Definition: MQTTClient.h:922
int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char *const *topic)
const char * keyStore
Definition: MQTTClient.h:663
void MQTTClient_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
Definition: MQTTClient.h:436
int struct_version
Definition: MQTTClient.h:272
MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
int verify
Definition: MQTTClient.h:696
const char * username
Definition: MQTTClient.h:801
@ MQTTCLIENT_TRACE_MAXIMUM
Definition: MQTTClient.h:1208
@ MQTTCLIENT_TRACE_MINIMUM
Definition: MQTTClient.h:1210
MQTTCLIENT_TRACE_LEVELS
Definition: MQTTClient.h:1206
Definition: MQTTSubscribeOpts.h:21
MQTTClient_nameValue * MQTTClient_getVersionInfo(void)
int len
Definition: MQTTClient.h:862
void MQTTClient_destroy(MQTTClient *handle)
Definition: MQTTClient.h:735
int MQTTClient_publishMessage(MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions *options)
int struct_version
Definition: MQTTClient.h:655
int MQTTClient_createWithOptions(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTClient_createOptions *options)
Definition: MQTTClient.h:886
int MQTTClient_setPublished(MQTTClient handle, void *context, MQTTClient_published *co)
int dup
Definition: MQTTClient.h:316
MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char *const *topic, int *qos, MQTTSubscribe_options *opts, MQTTProperties *props)
Definition: MQTTClient.h:224
enum MQTTReasonCodes * reasonCodes
Definition: MQTTClient.h:927
#define DLLExport
Definition: MQTTProperties.h:58
int enableServerCertAuth
Definition: MQTTClient.h:683
MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char *const *topic, MQTTProperties *props)
const char * privateKey
Definition: MQTTClient.h:668
@ MQTTCLIENT_TRACE_SEVERE
Definition: MQTTClient.h:1213
int MQTTClient_disconnect(MQTTClient handle, int timeout)
int reasonCodeCount
Definition: MQTTClient.h:926
int retained
Definition: MQTTClient.h:617
int reliable
Definition: MQTTClient.h:789
int version
Definition: MQTTClient.h:924
int sslVersion
Definition: MQTTClient.h:689
MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions *options, MQTTProperties *connectProperties, MQTTProperties *willProperties)
int cleansession
Definition: MQTTClient.h:779
int MQTTVersion
Definition: MQTTClient.h:538
const char * enabledCipherSuites
Definition: MQTTClient.h:680
This structure represents a persistent data store, used to store outbound and inbound messages,...
int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties *props)
MQTTClient_SSLOptions * ssl
Definition: MQTTClient.h:824
int struct_version
Definition: MQTTClient.h:229
void MQTTClient_free(void *ptr)
int MQTTClient_isConnected(MQTTClient handle)
MQTTReasonCodes
Definition: MQTTReasonCodes.h:21
int len
Definition: MQTTClient.h:626
int connectTimeout
Definition: MQTTClient.h:811
int MQTTClient_create(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)