WIZ820io(W5200) network interface, EthernetInterface compatible.

Dependents:   Seeed_Ethernet_Shield_V2_HelloWorld Seeed_Ethernet_Shield Cayenne-WIZ820ioInterface Seeed_Ethernet_Shield

Fork of WiflyInterface by mbed official

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers DNSClient.h Source File

DNSClient.h

00001 // DNSClient.h 2013/4/5
00002 #pragma once
00003 
00004 #include "UDPSocket.h"
00005  
00006 class DNSClient {
00007 public:
00008     DNSClient(const char* hostname = NULL);
00009     DNSClient(Endpoint* pHost);
00010     virtual ~DNSClient();
00011     bool lookup(const char* hostname = NULL);
00012     uint32_t ip;
00013 protected:
00014     void poll();
00015     void callback();
00016     int response(uint8_t buf[], int size);
00017     int query(uint8_t buf[], int size, const char* hostname);
00018     void resolve(const char* hostname);
00019     uint8_t m_id[2];
00020     Timer m_interval;
00021     int m_retry;
00022     const char* m_hostname;
00023 private:
00024     enum MyNetDnsState
00025     {
00026         MYNETDNS_START,
00027         MYNETDNS_PROCESSING, //Req has not completed
00028         MYNETDNS_NOTFOUND,
00029         MYNETDNS_ERROR,
00030         MYNETDNS_OK
00031     };
00032     MyNetDnsState m_state;
00033     UDPSocket *m_udp;
00034 };