aboutsummaryrefslogtreecommitdiff
path: root/libraries/Ethernet/Ethernet.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Ethernet/Ethernet.h')
-rw-r--r--libraries/Ethernet/Ethernet.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/libraries/Ethernet/Ethernet.h b/libraries/Ethernet/Ethernet.h
new file mode 100644
index 0000000..2a07ff3
--- /dev/null
+++ b/libraries/Ethernet/Ethernet.h
@@ -0,0 +1,41 @@
+#ifndef ethernet_h
+#define ethernet_h
+
+#include <inttypes.h>
+//#include "w5100.h"
+#include "IPAddress.h"
+#include "EthernetClient.h"
+#include "EthernetServer.h"
+#include "Dhcp.h"
+
+#define MAX_SOCK_NUM 4
+
+class EthernetClass {
+private:
+ IPAddress _dnsServerAddress;
+ DhcpClass* _dhcp;
+public:
+ static uint8_t _state[MAX_SOCK_NUM];
+ static uint16_t _server_port[MAX_SOCK_NUM];
+ // Initialise the Ethernet shield to use the provided MAC address and gain the rest of the
+ // configuration through DHCP.
+ // Returns 0 if the DHCP configuration failed, and 1 if it succeeded
+ int begin(uint8_t *mac_address);
+ void begin(uint8_t *mac_address, IPAddress local_ip);
+ void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server);
+ void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway);
+ void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet);
+ int maintain();
+
+ IPAddress localIP();
+ IPAddress subnetMask();
+ IPAddress gatewayIP();
+ IPAddress dnsServerIP();
+
+ friend class EthernetClient;
+ friend class EthernetServer;
+};
+
+extern EthernetClass Ethernet;
+
+#endif