UIPEthernet library for Arduino IDE, Eclipse with arduino plugin and MBED/SMeshStudio (AVR,STM32F,ESP8266,Intel ARC32,Nordic nRF51,Teensy boards,Realtek Ameba(RTL8195A,RTL8710)), ENC28j60 network chip. Compatible with Wiznet W5100 Ethernet library API. Compiled and tested on Nucleo-F302R8. Master repository is: https://github.com/UIPEthernet/UIPEthernet/
Dns.h@39:deeb00b81cc9, 2018-01-23 (annotated)
- Committer:
- cassyarduino
- Date:
- Tue Jan 23 15:08:43 2018 +0100
- Revision:
- 39:deeb00b81cc9
- Parent:
- 33:7ba5d53df0f2
Release: 2.0.4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cassyarduino | 0:e3fb1267e3c3 | 1 | // Arduino DNS client for Enc28J60-based Ethernet shield |
cassyarduino | 0:e3fb1267e3c3 | 2 | // (c) Copyright 2009-2010 MCQN Ltd. |
cassyarduino | 0:e3fb1267e3c3 | 3 | // Released under Apache License, version 2.0 |
cassyarduino | 0:e3fb1267e3c3 | 4 | |
cassyarduino | 0:e3fb1267e3c3 | 5 | #ifndef DNSClient_h |
cassyarduino | 0:e3fb1267e3c3 | 6 | #define DNSClient_h |
cassyarduino | 0:e3fb1267e3c3 | 7 | |
cassyarduino | 33:7ba5d53df0f2 | 8 | #include "utility/uipopt.h" |
cassyarduino | 33:7ba5d53df0f2 | 9 | #if UIP_UDP |
cassyarduino | 0:e3fb1267e3c3 | 10 | #include "UIPUdp.h" |
cassyarduino | 0:e3fb1267e3c3 | 11 | |
cassyarduino | 0:e3fb1267e3c3 | 12 | class DNSClient |
cassyarduino | 0:e3fb1267e3c3 | 13 | { |
cassyarduino | 0:e3fb1267e3c3 | 14 | public: |
cassyarduino | 0:e3fb1267e3c3 | 15 | // ctor |
cassyarduino | 0:e3fb1267e3c3 | 16 | void begin(const IPAddress& aDNSServer); |
cassyarduino | 0:e3fb1267e3c3 | 17 | |
cassyarduino | 0:e3fb1267e3c3 | 18 | /** Convert a numeric IP address string into a four-byte IP address. |
cassyarduino | 0:e3fb1267e3c3 | 19 | @param aIPAddrString IP address to convert |
cassyarduino | 0:e3fb1267e3c3 | 20 | @param aResult IPAddress structure to store the returned IP address |
cassyarduino | 0:e3fb1267e3c3 | 21 | @result 1 if aIPAddrString was successfully converted to an IP address, |
cassyarduino | 0:e3fb1267e3c3 | 22 | else error code |
cassyarduino | 0:e3fb1267e3c3 | 23 | */ |
cassyarduino | 0:e3fb1267e3c3 | 24 | int inet_aton(const char *aIPAddrString, IPAddress& aResult); |
cassyarduino | 0:e3fb1267e3c3 | 25 | |
cassyarduino | 0:e3fb1267e3c3 | 26 | /** Resolve the given hostname to an IP address. |
cassyarduino | 0:e3fb1267e3c3 | 27 | @param aHostname Name to be resolved |
cassyarduino | 0:e3fb1267e3c3 | 28 | @param aResult IPAddress structure to store the returned IP address |
cassyarduino | 0:e3fb1267e3c3 | 29 | @result 1 if aIPAddrString was successfully converted to an IP address, |
cassyarduino | 0:e3fb1267e3c3 | 30 | else error code |
cassyarduino | 0:e3fb1267e3c3 | 31 | */ |
cassyarduino | 0:e3fb1267e3c3 | 32 | int getHostByName(const char* aHostname, IPAddress& aResult); |
cassyarduino | 0:e3fb1267e3c3 | 33 | |
cassyarduino | 0:e3fb1267e3c3 | 34 | protected: |
cassyarduino | 0:e3fb1267e3c3 | 35 | uint16_t BuildRequest(const char* aName); |
cassyarduino | 9:312e0937630f | 36 | int16_t ProcessResponse(uint16_t aTimeout, IPAddress& aAddress); |
cassyarduino | 0:e3fb1267e3c3 | 37 | |
cassyarduino | 0:e3fb1267e3c3 | 38 | IPAddress iDNSServer; |
cassyarduino | 0:e3fb1267e3c3 | 39 | uint16_t iRequestId; |
cassyarduino | 0:e3fb1267e3c3 | 40 | UIPUDP iUdp; |
cassyarduino | 0:e3fb1267e3c3 | 41 | }; |
cassyarduino | 33:7ba5d53df0f2 | 42 | #endif |
cassyarduino | 0:e3fb1267e3c3 | 43 | |
cassyarduino | 0:e3fb1267e3c3 | 44 | #endif |