W5200(WIZ820io) network interface

Revision:
0:61831b843b44
Child:
2:a8df39b4f3aa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MyNetDnsRequest.h	Sat Apr 14 17:21:11 2012 +0000
@@ -0,0 +1,35 @@
+// MyNetDnsRequest.h 2012/4/13
+#ifndef MYNETDNSREQUEST_H
+#define MYNETDNSREQUEST_H
+#include "if/net/netdnsrequest.h"
+#include "UDPSocket.h"
+ 
+class MyNetDnsRequest : public NetDnsRequest {
+public:
+    MyNetDnsRequest(const char* hostname);
+    MyNetDnsRequest(Host* pHost);
+    virtual ~MyNetDnsRequest();
+    virtual void poll();
+    virtual void close();
+protected:
+    void callback(UDPSocketEvent e);
+    int response(uint8_t buf[], int size);
+    int query(uint8_t buf[], int size, const char* hostname);
+    void resolve(const char* hostname);
+    uint8_t m_id[2];
+    Timer m_timer;
+private:
+    enum MyNetDnsState
+    {
+        MYNETDNS_START,
+        MYNETDNS_PROCESSING, //Req has not completed
+        MYNETDNS_NOTFOUND,
+        MYNETDNS_ERROR,
+        MYNETDNS_OK
+    };
+    MyNetDnsState m_state;
+    bool m_cbFired;
+    bool m_closing;
+    UDPSocket *m_udp;
+};
+#endif //MYNETDNSREQUEST_H