1

Dependents:   internet_radio_leo

Fork of WIZnetInterface by WIZnet

Committer:
WizLeo
Date:
Wed Jun 29 04:41:34 2016 +0000
Revision:
28:0baaa2970201
Parent:
0:6f28332c466f
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Soohwan Kim 0:6f28332c466f 1 // DNSClient.h 2013/4/5
Soohwan Kim 0:6f28332c466f 2 #pragma once
Soohwan Kim 0:6f28332c466f 3
Soohwan Kim 0:6f28332c466f 4 #include "UDPSocket.h"
Soohwan Kim 0:6f28332c466f 5
Soohwan Kim 0:6f28332c466f 6 class DNSClient {
Soohwan Kim 0:6f28332c466f 7 public:
Soohwan Kim 0:6f28332c466f 8 DNSClient(const char* hostname = NULL);
Soohwan Kim 0:6f28332c466f 9 DNSClient(Endpoint* pHost);
Soohwan Kim 0:6f28332c466f 10 virtual ~DNSClient();
Soohwan Kim 0:6f28332c466f 11 bool lookup(const char* hostname = NULL);
Soohwan Kim 0:6f28332c466f 12 uint32_t ip;
Soohwan Kim 0:6f28332c466f 13 protected:
Soohwan Kim 0:6f28332c466f 14 void poll();
Soohwan Kim 0:6f28332c466f 15 void callback();
Soohwan Kim 0:6f28332c466f 16 int response(uint8_t buf[], int size);
Soohwan Kim 0:6f28332c466f 17 int query(uint8_t buf[], int size, const char* hostname);
Soohwan Kim 0:6f28332c466f 18 void resolve(const char* hostname);
Soohwan Kim 0:6f28332c466f 19 uint8_t m_id[2];
Soohwan Kim 0:6f28332c466f 20 Timer m_interval;
Soohwan Kim 0:6f28332c466f 21 int m_retry;
Soohwan Kim 0:6f28332c466f 22 const char* m_hostname;
Soohwan Kim 0:6f28332c466f 23 private:
Soohwan Kim 0:6f28332c466f 24 enum MyNetDnsState
Soohwan Kim 0:6f28332c466f 25 {
Soohwan Kim 0:6f28332c466f 26 MYNETDNS_START,
Soohwan Kim 0:6f28332c466f 27 MYNETDNS_PROCESSING, //Req has not completed
Soohwan Kim 0:6f28332c466f 28 MYNETDNS_NOTFOUND,
Soohwan Kim 0:6f28332c466f 29 MYNETDNS_ERROR,
Soohwan Kim 0:6f28332c466f 30 MYNETDNS_OK
Soohwan Kim 0:6f28332c466f 31 };
Soohwan Kim 0:6f28332c466f 32 MyNetDnsState m_state;
Soohwan Kim 0:6f28332c466f 33 UDPSocket *m_udp;
Soohwan Kim 0:6f28332c466f 34 };
Soohwan Kim 0:6f28332c466f 35