diff options
Diffstat (limited to 'src/message.h')
| -rw-r--r-- | src/message.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/message.h b/src/message.h new file mode 100644 index 0000000..04a3d61 --- /dev/null +++ b/src/message.h @@ -0,0 +1,40 @@ +#ifndef MESSAGE_H +#define MESSAGE_H + +#include <stdint.h> + +#include "queue.h" +#include <bstrlib/bstrlib.h> + +enum MqttMessageState +{ + MqttMessageStateQueued, + MqttMessageStatePublish, + MqttMessageStateWaitPubAck, + MqttMessageStateWaitPubRec, + MqttMessageStateWaitPubComp, + MqttMessageStateWaitPubRel +}; + +typedef struct MqttMessage MqttMessage; + +struct MqttMessage +{ + int state; + int qos; + int retain; + int dup; + int padding; + uint16_t id; + int64_t timestamp; + bstring topic; + bstring payload; + TAILQ_ENTRY(MqttMessage) chain; +}; + +typedef struct MqttMessageList MqttMessageList; +TAILQ_HEAD(MqttMessageList, MqttMessage); + +void MqttMessageFree(MqttMessage *msg); + +#endif |
