|
Zephyr API Documentation 4.3.0-rc1
A Scalable Open Source RTOS
|
MQTT-SN Client Implementation. More...
Go to the source code of this file.
Data Structures | |
| struct | mqtt_sn_data |
| Abstracts memory buffers. More... | |
| union | mqtt_sn_evt_param |
| Event metadata. More... | |
| struct | mqtt_sn_evt |
| MQTT-SN event structure to be handled by the event callback. More... | |
| struct | mqtt_sn_transport |
| Structure to describe an MQTT-SN transport. More... | |
| struct | mqtt_sn_will_update |
| Structure for storing will update state. More... | |
| struct | mqtt_sn_client |
| Structure describing an MQTT-SN client. More... | |
Macros | |
| #define | MQTT_SN_DATA_STRING_LITERAL(literal) |
| Initialize memory buffer from C literal string. | |
| #define | MQTT_SN_DATA_BYTES(...) |
| Initialize memory buffer from single bytes. | |
Typedefs | |
| typedef void(* | mqtt_sn_evt_cb_t) (struct mqtt_sn_client *client, const struct mqtt_sn_evt *evt) |
| Asynchronous event notification callback registered by the application. | |
Enumerations | |
| enum | mqtt_sn_qos { MQTT_SN_QOS_0 , MQTT_SN_QOS_1 , MQTT_SN_QOS_2 , MQTT_SN_QOS_M1 } |
| Quality of Service. More... | |
| enum | mqtt_sn_topic_type { MQTT_SN_TOPIC_TYPE_NORMAL , MQTT_SN_TOPIC_TYPE_PREDEF , MQTT_SN_TOPIC_TYPE_SHORT } |
| MQTT-SN topic types. More... | |
| enum | mqtt_sn_return_code { MQTT_SN_CODE_ACCEPTED = 0x00 , MQTT_SN_CODE_REJECTED_CONGESTION = 0x01 , MQTT_SN_CODE_REJECTED_TOPIC_ID = 0x02 , MQTT_SN_CODE_REJECTED_NOTSUP = 0x03 } |
| MQTT-SN return codes. More... | |
| enum | mqtt_sn_evt_type { MQTT_SN_EVT_CONNECTED , MQTT_SN_EVT_DISCONNECTED , MQTT_SN_EVT_ASLEEP , MQTT_SN_EVT_AWAKE , MQTT_SN_EVT_PUBLISH , MQTT_SN_EVT_PINGRESP , MQTT_SN_EVT_ADVERTISE , MQTT_SN_EVT_GWINFO , MQTT_SN_EVT_SEARCHGW } |
| Event types that can be emitted by the library. More... | |
Functions | |
| int | mqtt_sn_client_init (struct mqtt_sn_client *client, const struct mqtt_sn_data *client_id, struct mqtt_sn_transport *transport, mqtt_sn_evt_cb_t evt_cb, void *tx, size_t txsz, void *rx, size_t rxsz) |
| Initialize a client. | |
| void | mqtt_sn_client_deinit (struct mqtt_sn_client *client) |
| Deinitialize the client. | |
| int | mqtt_sn_add_gw (struct mqtt_sn_client *client, uint8_t gw_id, struct mqtt_sn_data gw_addr) |
| Manually add a Gateway, bypasing the normal search process. | |
| int | mqtt_sn_search (struct mqtt_sn_client *client, uint8_t radius) |
| Initiate the MQTT-SN GW Search process. | |
| int | mqtt_sn_connect (struct mqtt_sn_client *client, bool will, bool clean_session) |
| Connect the client. | |
| int | mqtt_sn_disconnect (struct mqtt_sn_client *client) |
| Disconnect the client. | |
| int | mqtt_sn_sleep (struct mqtt_sn_client *client, uint16_t duration) |
| Set the client into sleep state. | |
| int | mqtt_sn_subscribe (struct mqtt_sn_client *client, enum mqtt_sn_qos qos, struct mqtt_sn_data *topic_name) |
| Subscribe to a given topic. | |
| int | mqtt_sn_unsubscribe (struct mqtt_sn_client *client, enum mqtt_sn_qos qos, struct mqtt_sn_data *topic_name) |
| Unsubscribe from a topic. | |
| int | mqtt_sn_publish (struct mqtt_sn_client *client, enum mqtt_sn_qos qos, struct mqtt_sn_data *topic_name, bool retain, struct mqtt_sn_data *data) |
| Publish a value. | |
| int | mqtt_sn_input (struct mqtt_sn_client *client) |
| Check the transport for new incoming data. | |
| int | mqtt_sn_get_topic_name (struct mqtt_sn_client *client, uint16_t id, struct mqtt_sn_data *topic_name) |
| Get topic name by topic ID. | |
| int | mqtt_sn_predefine_topic (struct mqtt_sn_client *client, uint16_t topic_id, struct mqtt_sn_data *topic_name) |
| Predefine topic. | |
| int | mqtt_sn_define_short_topic (struct mqtt_sn_client *client, struct mqtt_sn_data *topic_name) |
| Define a short topic. | |
| int | mqtt_sn_update_will_topic (struct mqtt_sn_client *client) |
| Send a will topic update to the server. | |
| int | mqtt_sn_update_will_message (struct mqtt_sn_client *client) |
| Send a will message update to the server. | |
MQTT-SN Client Implementation.
MQTT-SN Client's Application interface is defined in this header. Targets protocol version 1.2.