msg_queue.h 605 B

123456789101112131415161718192021222324252627282930
  1. #ifndef _MSG_QUEUE_H
  2. #define _MSG_QUEUE_H 1
  3. #include "mqtt_msg.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. struct msg_queue_t;
  8. typedef struct msg_queue_t {
  9. struct msg_queue_t *next;
  10. mqtt_message_t msg;
  11. uint16_t msg_id;
  12. int msg_type;
  13. int publish_qos;
  14. bool sent;
  15. } msg_queue_t;
  16. msg_queue_t * msg_enqueue(msg_queue_t **head, mqtt_message_t *msg, uint16_t msg_id, int msg_type, int publish_qos);
  17. void msg_destroy(msg_queue_t *node);
  18. msg_queue_t * msg_dequeue(msg_queue_t **head);
  19. msg_queue_t * msg_peek(msg_queue_t **head);
  20. int msg_size(msg_queue_t **head);
  21. #ifdef __cplusplus
  22. }
  23. #endif
  24. #endif