|
UbixOS
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