MQTTInterface.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * MQTTInterface.h
  3. *
  4. * Created on: 2020. 4. 29.
  5. * Author: https://github.com/eziya
  6. */
  7. #ifndef __MQTT_INTERFACE_H_
  8. #define __MQTT_INTERFACE_H_
  9. #define MQTT_LWIP_SOCKET //Use SOCKET API
  10. //#define MQTT_LWIP_NETCONN //Use NETCONN API
  11. typedef struct Timer Timer;
  12. struct Timer {
  13. unsigned long systick_period;
  14. unsigned long end_time;
  15. };
  16. typedef struct Network Network;
  17. struct Network
  18. {
  19. #ifdef MQTT_LWIP_SOCKET
  20. int socket;
  21. #elif defined(MQTT_LWIP_NETCONN)
  22. struct netconn *conn;
  23. struct netbuf *buf;
  24. int offset;
  25. #endif
  26. int (*mqttread) (Network*, unsigned char*, int, int);
  27. int (*mqttwrite) (Network*, unsigned char*, int, int);
  28. void (*disconnect) (Network*);
  29. };
  30. void InitTimer(Timer*);
  31. char TimerIsExpired(Timer*);
  32. void TimerCountdownMS(Timer*, unsigned int);
  33. void TimerCountdown(Timer*, unsigned int);
  34. int TimerLeftMS(Timer*);
  35. int net_read(Network*, unsigned char*, int, int);
  36. int net_write(Network*, unsigned char*, int, int);
  37. void net_disconnect(Network*);
  38. void NewNetwork(Network*);
  39. int ConnectNetwork(Network*, char*, int);
  40. #endif