#include #include "msgq.h" #define EOS_NET_MTU 1500 #define EOS_NET_MTYPE_BRIDGE 0 /* handler only */ #define EOS_NET_MTYPE_WIFI 1 #define EOS_NET_MTYPE_CELL 2 #define EOS_NET_MTYPE_SOCK 3 #define EOS_NET_MTYPE_RNG 4 #define EOS_NET_MAX_MTYPE 5 #define EOS_NET_MTYPE_SLEEP 0x20 /* does not have net handler */ #define EOS_NET_MTYPE_FLAG_ONEW 0x80 #define EOS_NET_MTYPE_FLAG_REPL 0x40 #define EOS_NET_MTYPE_FLAG_BRIDGE 0x08 #define EOS_NET_MTYPE_MASK 0x0F typedef void (*eos_net_handler_t) (unsigned char, EOSMessage *msg, uint16_t); void eos_net_xchg_task(void *param); void eos_net_init(void); void eos_net_run(void); void eos_net_alloc(EOSMessage *msg); void eos_net_free(EOSMessage *msg); int eos_net_send(unsigned char mtype, EOSMessage *msg, uint16_t len); void eos_net_reply(unsigned char mtype, EOSMessage *msg, uint16_t len); void eos_net_sleep_req(void); void eos_net_wake(void); void eos_net_deep_sleep(void); void eos_net_deep_wake(void); void eos_net_set_handler(unsigned char mtype, eos_net_handler_t handler);