msg_queue.h 591 B

12345678910111213141516171819202122232425262728
  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. } msg_queue_t;
  15. msg_queue_t * msg_enqueue(msg_queue_t **head, mqtt_message_t *msg, uint16_t msg_id, int msg_type, int publish_qos);
  16. void msg_destroy(msg_queue_t *node);
  17. msg_queue_t * msg_dequeue(msg_queue_t **head);
  18. msg_queue_t * msg_peek(msg_queue_t **head);
  19. int msg_size(msg_queue_t **head);
  20. #ifdef __cplusplus
  21. }
  22. #endif
  23. #endif