A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

udp/dns/dns.h

Committer:
andrewboyson
Date:
2017-08-23
Revision:
33:714a0345e59b
Parent:
32:679654f2d023
Child:
35:93c39d260a83

File content as of revision 33:714a0345e59b:

#include "mbed.h"

extern void DnsProtocolToString  (uint8_t protocol,   int size, char* text);
extern void DnsRecordTypeToString(uint8_t recordtype, int size, char* text);
extern int  DnsGetNextProtocol(int protocol);
extern bool DnsHostNamesEquate(char* pA, char* pB);
extern int  DnsMakeFullNameFromName (int protocol, char* name, int size, char* fqdn);
extern int  DnsStripNameFromFullName(int protocol, char* fqdn, int size, char* name);

extern void DnsTick();
extern int  DnsHandlePacketReceived(int dnsProtocol, int* pSize, void* pPacket);
extern int  DnsPollForPacketToSend(void* pPacket, int* pSize);

#define DNS_UNICAST_SERVER_PORT     53
#define DNS_UNICAST_CLIENT_PORT  53053

#define DNS_MDNS_PORT             5353

#define DNS_LLMNR_SERVER_PORT     5355
#define DNS_LLMNR_CLIENT_PORT    53055

#define DNS_PROTOCOL_NONE   0
#define DNS_PROTOCOL_UDNS   1
#define DNS_PROTOCOL_MDNS   2
#define DNS_PROTOCOL_LLMNR  3

#define DNS_RECORD_NONE  0
#define DNS_RECORD_A     1
#define DNS_RECORD_PTR  12
#define DNS_RECORD_AAAA 28
#define DNS_RECORD_TXT  16
#define DNS_RECORD_SRV  33