mbed OS5

Fork of UIPEthernet by Zoltan Hudak

Revision:
0:5350a66d5279
Child:
4:d774541a34da
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dns.h	Mon Sep 15 11:12:30 2014 +0000
@@ -0,0 +1,39 @@
+// mbed DNS client for Enc28J60-based Ethernet shield
+// (c) Copyright 2009-2010 MCQN Ltd.
+// Released under Apache License, version 2.0
+#ifndef DNSClient_h
+    #define DNSClient_h
+
+    #include <UIPUdp.h>
+
+class   DNSClient
+{
+public:
+    // ctor
+    void    begin(const IPAddress& aDNSServer);
+
+    /** Convert a numeric IP address string into a four-byte IP address.
+        @param aIPAddrString IP address to convert
+        @param aResult IPAddress structure to store the returned IP address
+        @result 1 if aIPAddrString was successfully converted to an IP address,
+                else error code
+    */
+    int     inet_aton(const char* aIPAddrString, IPAddress& aResult);
+
+    /** Resolve the given hostname to an IP address.
+        @param aHostname Name to be resolved
+        @param aResult IPAddress structure to store the returned IP address
+        @result 1 if aIPAddrString was successfully converted to an IP address,
+                else error code
+    */
+    int     getHostByName(const char* aHostname, IPAddress& aResult);
+protected:
+    uint16_t    BuildRequest(const char* aName);
+    uint16_t    ProcessResponse(uint16_t aTimeout, IPAddress& aAddress);
+
+    IPAddress   iDNSServer;
+    uint16_t    iRequestId;
+    UIPUDP      iUdp;
+};
+#endif
+