WL865E4-P  36.07.001
m2mb_mqtt.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
26 #ifndef M2MB_MQTT_API_H
27 #define M2MB_MQTT_API_H
28 
38 /*-----------------------------------------------------------------------------------------------*/
39 
44 #define M2MB_MQTT_MAX_SUBSCRIBE_HANDLERS 16
48 typedef VOID * M2MB_MQTT_CTXT_HANDLE;
49 
53 
65 typedef VOID (*M2MB_MQTT_MSG_HNDLR_CB_T) (M2MB_MQTT_CTXT_HANDLE handle, void* arg,
66 INT32 reason, const char* topic, UINT16 topic_Length, const char* msg, UINT32 msg_Length, UINT32 QOS );
67 
68 /*---------------------------------------------------------------------------*/
154  const char *client_id, const char *host, long port, unsigned short keepalive_in_sec);
155 /*---------------------------------------------------------------------------*/
236  const char *username, const char *password);
237 /*---------------------------------------------------------------------------*/
315  unsigned short timeout_in_sec);
316 /*---------------------------------------------------------------------------*/
393  void* ssl_cfg) ;
394 /*---------------------------------------------------------------------------*/
475  void *callback, void *callback_args);
476 
477 /*---------------------------------------------------------------------------*/
557 M2MB_STATUS_T m2mb_mqtt_conn_params_use_ssl(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params, char*ca_file, char* cert_file);
558 
559 /*---------------------------------------------------------------------------*/
631 /*---------------------------------------------------------------------------*/
707 /*---------------------------------------------------------------------------*/
785 /*-----------------------------------------------------------------------------------------------*/
885 int m2mb_mqtt_publish(M2MB_MQTT_CTXT_HANDLE mqtt_handle, int qos, int retain, unsigned short message_id, const char *topic, const char *data, int data_len);
996 int m2mb_mqtt_subscribe(M2MB_MQTT_CTXT_HANDLE mqtt_handle, unsigned short msg_id, const char *topic, int qos);
1083 int m2mb_mqtt_unsubscribe(M2MB_MQTT_CTXT_HANDLE mqtt_handle, unsigned short msg_id, const char *topic);
1194 INT32
1196  const char* topic,
1198  VOID *arg);
1202 /*-----------------------------------------------------------------------------------------------*/
1203 #endif /*M2MB_MQTT_API_H*/
int m2mb_mqtt_publish(M2MB_MQTT_CTXT_HANDLE mqtt_handle, int qos, int retain, unsigned short message_id, const char *topic, const char *data, int data_len)
m2mb_mqtt_publish is called to Publishes a message.
INT32 m2mb_mqtt_connect(M2MB_MQTT_CTXT_HANDLE *mqtt_handle, M2MB_MQTT_CONN_PARAMS_HANDLE connect_params)
m2mb_mqtt_connect is called to connect to the server.
M2MB_STATUS_T m2mb_mqtt_conn_params_set_connectCallback(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params, void *callback, void *callback_args)
m2mb_mqtt_conn_params_set_connectCallback is called to to set call back API.
M2MB_STATUS_T m2mb_mqtt_conn_params_set_timeout_in_sec(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params, unsigned short timeout_in_sec)
m2mb_mqtt_conn_params_set_timeout_in_sec is called to set timeout.
int m2mb_mqtt_subscribe(M2MB_MQTT_CTXT_HANDLE mqtt_handle, unsigned short msg_id, const char *topic, int qos)
m2mb_mqtt_subscribe is called to Subscribe.
INT32 M2MB_STATUS_T
Definition: m2mb_status.h:95
M2MB_STATUS_T m2mb_mqtt_conn_params_use_ssl(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params, char *ca_file, char *cert_file)
m2mb_mqtt_con_params_create is called to create the connection parameters.
VOID * M2MB_MQTT_CTXT_HANDLE
MQTT context handle. This is obtained from m2mb_mqtt_connect API and then used in subsequent MQTT A...
Definition: m2mb_mqtt.h:48
INT32 m2mb_mqtt_conn_params_set_username(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params, const char *username, const char *password)
m2mb_mqtt_conn_params_set_username is called to set the username.
HANDLE M2MB_MQTT_CONN_PARAMS_HANDLE
MQTT connection parameters handle. This is obtained from m2mb_mqtt_con_params_create API and then u...
Definition: m2mb_mqtt.h:52
int m2mb_mqtt_unsubscribe(M2MB_MQTT_CTXT_HANDLE mqtt_handle, unsigned short msg_id, const char *topic)
m2mb_mqtt_unsubscribe is called to unsubscribe.
unsigned short UINT16
Definition: m2mb_types.h:84
unsigned long int UINT32
Definition: m2mb_types.h:85
VOID(* M2MB_MQTT_CONNECT_CB_T)(M2MB_MQTT_CTXT_HANDLE handle, INT32 status)
MQTT connect call back prototype.
Definition: m2mb_mqtt.h:59
void VOID
Definition: m2mb_types.h:72
VOID(* M2MB_MQTT_MSG_HNDLR_CB_T)(M2MB_MQTT_CTXT_HANDLE handle, void *arg, INT32 reason, const char *topic, UINT16 topic_Length, const char *msg, UINT32 msg_Length, UINT32 QOS)
MQTT message handler call back prototype.
Definition: m2mb_mqtt.h:65
int m2mb_mqtt_disconnect(M2MB_MQTT_CTXT_HANDLE mqtt_handle)
m2mb_mqtt_disconnect is called to disconnect to the server.
void * HANDLE
Definition: m2mb_types.h:95
signed int INT32
Definition: m2mb_types.h:80
INT32 m2mb_mqtt_conn_params_delete(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params)
m2mb_mqtt_conn_params_delete is called to delete all configured parameters.
INT32 m2mb_mqtt_con_params_create(M2MB_MQTT_CONN_PARAMS_HANDLE *connect_params, const char *client_id, const char *host, long port, unsigned short keepalive_in_sec)
m2mb_mqtt_con_params_create is called to create the connection parameters.
M2MB_STATUS_T m2mb_mqtt_conn_params_set_ssl_cfg(M2MB_MQTT_CONN_PARAMS_HANDLE connect_params, void *ssl_cfg)
m2mb_mqtt_conn_params_set_ssl_cfg is called to set ssl config.
INT32 m2mb_mqtt_subscribe_handler_register(M2MB_MQTT_CTXT_HANDLE mqtt_handle, const char *topic, M2MB_MQTT_MSG_HNDLR_CB_T cbk, VOID *arg)
m2mb_mqtt_subscribe_handler_register is called to unsubscribe.