A small footprint MQTT library
Dependents: STM32F746_iothub_client_sample_mqtt FXOS8700CQ_To_Azure_IoT f767zi_mqtt FXOS8700CQ_To_Azure_IoT ... more
azure_umqtt_c/mqttconst.h
- Committer:
- AzureIoTClient
- Date:
- 2016-05-09
- Revision:
- 2:f3140ae5c35c
- Parent:
- 0:ef4901974abc
- Child:
- 5:34779607059c
File content as of revision 2:f3140ae5c35c:
// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. #ifndef MQTTCONST_H #define MQTTCONST_H #ifdef __cplusplus #include <cstddef> #include <cstdint> extern "C" { #else #include <stddef.h> #include <stdint.h> #endif /* __cplusplus */ #include "azure_c_shared_utility/crt_abstractions.h" #define CONTROL_PACKET_TYPE_VALUES \ CONNECT_TYPE = 0x10, \ CONNACK_TYPE = 0x20, \ PUBLISH_TYPE = 0x30, \ PUBACK_TYPE = 0x40, \ PUBREC_TYPE = 0x50, \ PUBREL_TYPE = 0x60, \ PUBCOMP_TYPE = 0x70, \ SUBSCRIBE_TYPE = 0x80, \ SUBACK_TYPE = 0x90, \ UNSUBSCRIBE_TYPE = 0xA0, \ UNSUBACK_TYPE = 0xB0, \ PINGREQ_TYPE = 0xC0, \ PINGRESP_TYPE = 0xD0, \ DISCONNECT_TYPE = 0xE0, \ PACKET_TYPE_ERROR, \ UNKNOWN_TYPE DEFINE_ENUM(CONTROL_PACKET_TYPE, CONTROL_PACKET_TYPE_VALUES) #define QOS_VALUE_VALUES \ DELIVER_AT_MOST_ONCE = 0x00, \ DELIVER_AT_LEAST_ONCE = 0x01, \ DELIVER_EXACTLY_ONCE = 0x02, \ DELIVER_FAILURE = 0x80 DEFINE_ENUM(QOS_VALUE, QOS_VALUE_VALUES) typedef struct APP_PAYLOAD_TAG { uint8_t* message; size_t length; } APP_PAYLOAD; typedef struct MQTT_CLIENT_OPTIONS_TAG { char* clientId; char* willTopic; char* willMessage; char* username; char* password; int keepAliveInterval; bool messageRetain; bool useCleanSession; QOS_VALUE qualityOfServiceValue; bool log_trace; } MQTT_CLIENT_OPTIONS; typedef enum CONNECT_RETURN_CODE_TAG { CONNECTION_ACCEPTED = 0x00, CONN_REFUSED_UNACCEPTABLE_VERSION = 0x01, CONN_REFUSED_ID_REJECTED = 0x02, CONN_REFUSED_SERVER_UNAVAIL = 0x03, CONN_REFUSED_BAD_USERNAME_PASSWORD = 0x04, CONN_REFUSED_NOT_AUTHORIZED = 0x05, CONN_REFUSED_UNKNOWN } CONNECT_RETURN_CODE; typedef struct CONNECT_ACK_TAG { bool isSessionPresent; CONNECT_RETURN_CODE returnCode; } CONNECT_ACK; typedef struct SUBSCRIBE_PAYLOAD_TAG { const char* subscribeTopic; QOS_VALUE qosReturn; } SUBSCRIBE_PAYLOAD; typedef struct SUBSCRIBE_ACK_TAG { uint16_t packetId; QOS_VALUE* qosReturn; size_t qosCount; } SUBSCRIBE_ACK; typedef struct UNSUBSCRIBE_ACK_TAG { uint16_t packetId; } UNSUBSCRIBE_ACK; typedef struct PUBLISH_ACK_TAG { uint16_t packetId; } PUBLISH_ACK; #ifdef __cplusplus } #endif /* __cplusplus */ #endif // MQTTCONST_H