WIZnetInterface using namespace
Dependents: DualNetworkInterface-Basic
Fork of WIZnetInterface by
Diff: Socket/DNSClient.hpp
- Revision:
- 20:3e61863c1f67
- Parent:
- 0:6f28332c466f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Socket/DNSClient.hpp Tue Jul 14 10:16:16 2015 +0000 @@ -0,0 +1,38 @@ +// DNSClient.h 2013/4/5 +#pragma once + +#include "UDPSocket.hpp" + +namespace wiznet_space { + +class DNSClient { +public: + DNSClient(const char* hostname = NULL); + DNSClient(Endpoint* pHost); + virtual ~DNSClient(); + bool lookup(const char* hostname = NULL); + uint32_t ip; +protected: + void poll(); + void callback(); + 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_interval; + int m_retry; + const char* m_hostname; +private: + enum MyNetDnsState + { + MYNETDNS_START, + MYNETDNS_PROCESSING, //Req has not completed + MYNETDNS_NOTFOUND, + MYNETDNS_ERROR, + MYNETDNS_OK + }; + MyNetDnsState m_state; + UDPSocket *m_udp; +}; + +}