W5200(WIZ820io) network interface

Committer:
va009039
Date:
Thu Apr 19 11:14:43 2012 +0000
Revision:
2:a8df39b4f3aa

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 2:a8df39b4f3aa 1 // W5200NetIf.h 2012/4/19
va009039 2:a8df39b4f3aa 2 /** \file
va009039 2:a8df39b4f3aa 3 W5200 network interface header file
va009039 2:a8df39b4f3aa 4 */
va009039 2:a8df39b4f3aa 5 #ifndef W5200_NETIF_H
va009039 2:a8df39b4f3aa 6 #define W5200_NETIF_H
va009039 2:a8df39b4f3aa 7 #include "MyNetIf.h"
va009039 2:a8df39b4f3aa 8
va009039 2:a8df39b4f3aa 9 ///W5200 network interface return codes
va009039 2:a8df39b4f3aa 10 enum W5200Err
va009039 2:a8df39b4f3aa 11 {
va009039 2:a8df39b4f3aa 12 __W5200_MIN = -0xFFFF,
va009039 2:a8df39b4f3aa 13 W5200_TIMEOUT, ///<Timeout during setup
va009039 2:a8df39b4f3aa 14 W5200_OK = 0 ///<Success
va009039 2:a8df39b4f3aa 15 };
va009039 2:a8df39b4f3aa 16
va009039 2:a8df39b4f3aa 17 ///W5200 network interface
va009039 2:a8df39b4f3aa 18 class W5200NetIf : public MyNetIf {
va009039 2:a8df39b4f3aa 19 public:
va009039 2:a8df39b4f3aa 20 ///Instantiates the Interface and register it against the stack, DHCP will be used
va009039 2:a8df39b4f3aa 21 W5200NetIf(); //W/ DHCP
va009039 2:a8df39b4f3aa 22 ///Instantiates the Interface and register it against the stack, DHCP will not be used
va009039 2:a8df39b4f3aa 23 /**
va009039 2:a8df39b4f3aa 24 IpAddr is a container class that can be constructed with either 4 bytes or no parameters for a null IP address.
va009039 2:a8df39b4f3aa 25 */
va009039 2:a8df39b4f3aa 26 W5200NetIf(IpAddr ip, IpAddr netmask, IpAddr gateway, IpAddr dns); //W/o DHCP
va009039 2:a8df39b4f3aa 27 W5200Err IPrenew(int timeout_ms = 15000);
va009039 2:a8df39b4f3aa 28 W5200Err IPrelease(int timeout_ms = 15000);
va009039 2:a8df39b4f3aa 29 ///Brings the interface up
va009039 2:a8df39b4f3aa 30 /**
va009039 2:a8df39b4f3aa 31 Uses DHCP if necessary
va009039 2:a8df39b4f3aa 32 @param timeout_ms : You can set the timeout parameter in milliseconds, if not it defaults to 15s
va009039 2:a8df39b4f3aa 33 @return : W5200_OK on success or W5200_TIMEOUT on timeout
va009039 2:a8df39b4f3aa 34 */
va009039 2:a8df39b4f3aa 35 W5200Err setup(int timeout_ms = 15000);
va009039 2:a8df39b4f3aa 36 IpAddr m_dns;
va009039 2:a8df39b4f3aa 37 private:
va009039 2:a8df39b4f3aa 38 bool m_useDhcp;
va009039 2:a8df39b4f3aa 39 IpAddr m_netmask;
va009039 2:a8df39b4f3aa 40 IpAddr m_gateway;
va009039 2:a8df39b4f3aa 41 const char* m_hostname;
va009039 2:a8df39b4f3aa 42 };
va009039 2:a8df39b4f3aa 43 #endif //W5200_NETIF_H