UbixOS V2
2.0
|
#include "lwip/apps/mqtt_opts.h"
#include "lwip/err.h"
#include "lwip/ip_addr.h"
Go to the source code of this file.
Data Structures | |
struct | mqtt_client_t |
struct | mqtt_connect_client_info_t |
struct | mqtt_request_t |
struct | mqtt_ringbuf_t |
Macros | |
#define | MQTT_PORT 1883 |
#define | mqtt_subscribe(client, topic, qos, cb, arg) mqtt_sub_unsub(client, topic, qos, cb, arg, 1) |
#define | mqtt_unsubscribe(client, topic, cb, arg) mqtt_sub_unsub(client, topic, 0, cb, arg, 0) |
Typedefs | |
typedef struct mqtt_client_t | mqtt_client_t |
typedef void(* | mqtt_connection_cb_t) (mqtt_client_t *client, void *arg, mqtt_connection_status_t status) |
typedef void(* | mqtt_incoming_data_cb_t) (void *arg, const u8_t *data, u16_t len, u8_t flags) |
typedef void(* | mqtt_incoming_publish_cb_t) (void *arg, const char *topic, u32_t tot_len) |
typedef void(* | mqtt_request_cb_t) (void *arg, err_t err) |
Enumerations | |
enum | { MQTT_DATA_FLAG_LAST = 1 } |
enum | mqtt_connection_status_t { MQTT_CONNECT_ACCEPTED = 0, MQTT_CONNECT_REFUSED_PROTOCOL_VERSION = 1, MQTT_CONNECT_REFUSED_IDENTIFIER = 2, MQTT_CONNECT_REFUSED_SERVER = 3, MQTT_CONNECT_REFUSED_USERNAME_PASS = 4, MQTT_CONNECT_REFUSED_NOT_AUTHORIZED_ = 5, MQTT_CONNECT_DISCONNECTED = 256, MQTT_CONNECT_TIMEOUT = 257 } |
Functions | |
err_t | mqtt_client_connect (mqtt_client_t *client, const ip_addr_t *ipaddr, u16_t port, mqtt_connection_cb_t cb, void *arg, const struct mqtt_connect_client_info_t *client_info) |
u8_t | mqtt_client_is_connected (mqtt_client_t *client) |
mqtt_client_t * | mqtt_client_new (void) |
void | mqtt_disconnect (mqtt_client_t *client) |
err_t | mqtt_publish (mqtt_client_t *client, const char *topic, const void *payload, u16_t payload_length, u8_t qos, u8_t retain, mqtt_request_cb_t cb, void *arg) |
void | mqtt_set_inpub_callback (mqtt_client_t *client, mqtt_incoming_publish_cb_t, mqtt_incoming_data_cb_t data_cb, void *arg) |
err_t | mqtt_sub_unsub (mqtt_client_t *client, const char *topic, u8_t qos, mqtt_request_cb_t cb, void *arg, u8_t sub) |
MQTT client
Definition in file mqtt.h.
#define mqtt_subscribe | ( | client, | |
topic, | |||
qos, | |||
cb, | |||
arg | |||
) | mqtt_sub_unsub(client, topic, qos, cb, arg, 1) |
#define mqtt_unsubscribe | ( | client, | |
topic, | |||
cb, | |||
arg | |||
) | mqtt_sub_unsub(client, topic, 0, cb, arg, 0) |
typedef struct mqtt_client_t mqtt_client_t |
typedef void(* mqtt_connection_cb_t) (mqtt_client_t *client, void *arg, mqtt_connection_status_t status) |
Function prototype for mqtt connection status callback. Called when client has connected to the server after initiating a mqtt connection attempt by calling mqtt_connect() or when connection is closed by server or an error
client | MQTT client itself |
arg | Additional argument to pass to the callback function |
status | Connect result code or disconnection notification |
Function prototype for MQTT incoming publish data callback function. Called when data arrives to a subscribed topic
arg | Additional argument to pass to the callback function |
data | User data, pointed object, data may not be referenced after callback return, NULL is passed when all publish data are delivered |
len | Length of publish data fragment |
flags | MQTT_DATA_FLAG_LAST set when this call contains the last part of data from publish message |
Function prototype for MQTT incoming publish function. Called when an incoming publish arrives to a subscribed topic
arg | Additional argument to pass to the callback function |
topic | Zero terminated Topic text string, topic may not be referenced after callback return |
tot_len | Total length of publish data, if set to 0 (no publish payload) data callback will not be invoked |
typedef void(* mqtt_request_cb_t) (void *arg, err_t err) |
Function prototype for mqtt request callback. Called when a subscribe, unsubscribe or publish request has completed
arg | Pointer to user data supplied when invoking request |
err | ERR_OK on success ERR_TIMEOUT if no response was received within timeout, ERR_ABRT if (un)subscribe was denied |
anonymous enum |
err_t mqtt_client_connect | ( | mqtt_client_t * | client, |
const ip_addr_t * | ipaddr, | ||
u16_t | port, | ||
mqtt_connection_cb_t | cb, | ||
void * | arg, | ||
const struct mqtt_connect_client_info_t * | client_info | ||
) |
Connect to server
u8_t mqtt_client_is_connected | ( | mqtt_client_t * | client | ) |
Check connection status
mqtt_client_t* mqtt_client_new | ( | void | ) |
Create new client
void mqtt_disconnect | ( | mqtt_client_t * | client | ) |
Disconnect from server
err_t mqtt_publish | ( | mqtt_client_t * | client, |
const char * | topic, | ||
const void * | payload, | ||
u16_t | payload_length, | ||
u8_t | qos, | ||
u8_t | retain, | ||
mqtt_request_cb_t | cb, | ||
void * | arg | ||
) |
Publish data to topic
void mqtt_set_inpub_callback | ( | mqtt_client_t * | client, |
mqtt_incoming_publish_cb_t | , | ||
mqtt_incoming_data_cb_t | data_cb, | ||
void * | arg | ||
) |
Set callback to call for incoming publish
err_t mqtt_sub_unsub | ( | mqtt_client_t * | client, |
const char * | topic, | ||
u8_t | qos, | ||
mqtt_request_cb_t | cb, | ||
void * | arg, | ||
u8_t | sub | ||
) |
Common function for subscribe and unsubscribe