mbed IP library over Ethernet
Dependencies: Socket lwip-eth lwip-sys lwip
Dependents: Example-client-tls
Fork of EthernetInterface by
Diff: EthernetInterface.h
- Revision:
- 14:cec293071eed
- Parent:
- 4:9a52c802be61
- Child:
- 15:fd9597f1b81b
--- a/EthernetInterface.h Mon Jul 16 14:47:36 2012 +0000 +++ b/EthernetInterface.h Mon Jul 23 11:53:01 2012 +0000 @@ -20,62 +20,42 @@ #ifndef ETHERNETINTERFACE_H_ #define ETHERNETINTERFACE_H_ -#include "core/fwk.h" - #include "rtos.h" - -#include "LwIPInterface.h" - #include "lwip/netif.h" /** Interface using Ethernet to connect to an IP-based network * */ -class EthernetInterface : public LwIPInterface -{ +class EthernetInterface { public: - /** Instantiate the Ethernet interface. - * - */ - EthernetInterface(); - /** Initialize the interface with DHCP. * Initialize the interface and configure it to use DHCP (no connection at this point). * \return 0 on success, a negative number on failure */ - int init(); //With DHCP + static int init(); //With DHCP /** Initialize the interface with a static IP address. * Initialize the interface and configure it with the following static configuration (no connection at this point). * \param ip the IP address to use * \param mask the IP address mask * \param gateway the gateway to use - * \param dns1 the primary DNS server - * \param dns2 the secondary DNS server * \return 0 on success, a negative number on failure */ - int init(const char* ip, const char* mask, const char* gateway, const char* dns1, const char* dns2); //No DHCP + static int init(const char* ip, const char* mask, const char* gateway); /** Connect * Bring the interface up, start DHCP if needed. * \return 0 on success, a negative number on failure */ - virtual int connect(); + static int connect(); /** Disconnect * Bring the interface down * \return 0 on success, a negative number on failure */ - virtual int disconnect(); - -private: - static void netifStatusCb(struct netif *netif); + static int disconnect(); - static int32_t s_lpcNetifOff; //Offset between m_lpcNetif and this ... this might be quite kludgy but should work! - - struct netif m_lpcNetif; - Semaphore m_netifStatusSphre; - bool m_useDHCP; + static char* getIPAddress(); }; //As a helper, include TCPSocket.h & UDPSocket.h here