23 #ifndef _SMING_CORE_NETWORK_DNS_SERVER_H_ 24 #define _SMING_CORE_NETWORK_DNS_SERVER_H_ 26 #include "UdpConnection.h" 29 #define DNS_QR_QUERY 0 30 #define DNS_QR_RESPONSE 1 31 #define DNS_OPCODE_QUERY 0 33 enum class DNSReplyCode {
37 NonExistentDomain = 3,
68 void setErrorReplyCode(DNSReplyCode replyCode)
70 errorReplyCode = replyCode;
73 void setTTL(uint32_t ttl)
79 bool start(uint16_t port,
const String& domainName,
const IPAddress& resolvedIP);
85 void onReceive(pbuf* buf,
IPAddress remoteIP, uint16_t remotePort)
override;
91 char* buffer =
nullptr;
94 DNSReplyCode errorReplyCode = DNSReplyCode::NonExistentDomain;
96 static void downcaseAndRemoveWwwPrefix(
String& domainName);
97 String getDomainNameWithoutWwwPrefix();
98 bool requestIncludesOnlyOneQuestion();
Definition: UdpConnection.h:29
The string class.
Definition: WString.h:104
Definition: DNSServer.h:61
Definition: IPAddress.h:37