/* * MQTTInterface.h * * Created on: 2020. 4. 29. * Author: https://github.com/eziya */ #ifndef __MQTT_INTERFACE_H_ #define __MQTT_INTERFACE_H_ #define MQTT_LWIP_SOCKET //Use SOCKET API //#define MQTT_LWIP_NETCONN //Use NETCONN API typedef struct Timer Timer; struct Timer { unsigned long systick_period; unsigned long end_time; }; typedef struct Network Network; struct Network { #ifdef MQTT_LWIP_SOCKET int socket; #elif defined(MQTT_LWIP_NETCONN) struct netconn *conn; struct netbuf *buf; int offset; #endif int (*mqttread) (Network*, unsigned char*, int, int); int (*mqttwrite) (Network*, unsigned char*, int, int); void (*disconnect) (Network*); }; void InitTimer(Timer*); char TimerIsExpired(Timer*); void TimerCountdownMS(Timer*, unsigned int); void TimerCountdown(Timer*, unsigned int); int TimerLeftMS(Timer*); int net_read(Network*, unsigned char*, int, int); int net_write(Network*, unsigned char*, int, int); void net_disconnect(Network*); void NewNetwork(Network*); int ConnectNetwork(Network*, char*, int); #endif