9 #include "RtosInclude.hpp"
11 #include "LibDmem.hpp"
20 friend class NetUdpSocket;
22 friend class NetTcpSocket;
23 friend class NetClientDhcp;
26 friend class NetRemoteConfiguration;
27 friend class RtosInterrupt;
29 static void init(
Rtos::PRIORITY priority,
size_t stackSize, NetMac* mac, LibDmem* mem);
30 static NetDefs::NET_CONFIG& getConfig();
31 static size_t getTotalMemory();
32 static size_t getFreeMemory();
33 static unsigned int getBlockCount();
41 static NetDefs::MAC_ADDR sMacAddr;
42 static NetDefs::NET_CONFIG sConfig;
47 static void loadMac(NetDefs::MAC_ADDR& macAddr);
48 static void storeMac(NetDefs::MAC_ADDR& macAddr);
49 static void loadConfig(NetDefs::NET_CONFIG& config);
50 static void storeConfig(NetDefs::NET_CONFIG& config);
54 static NetDefs::FRAME* allocFrame(
size_t size);
55 static void freeFrame(NetDefs::FRAME& frame);
56 static void* resizeFrame(NetDefs::FRAME& frame,
size_t size);
57 static void* resizeFrameLeft(NetDefs::FRAME& frame,
size_t left);
59 static void putHeader(NetDefs::FRAME& frame,
const NetDefs::MAC_ADDR& dst, NetDefs::MAC_TYPE type);
60 static void flush(NetDefs::FRAME& frame,
size_t len,
bool discardable);
62 static bool onMacEventInterrupt();