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

Committer:
andrewboyson
Date:
Fri Oct 06 10:18:01 2017 +0000
Revision:
41:db727df5f98b
Parent:
37:793b39683406
Child:
43:bc028d5a6424
Changed DNS order between IPv4 and IPv6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 13:9cd54f7db57a 1 #include "mbed.h"
andrewboyson 13:9cd54f7db57a 2
andrewboyson 13:9cd54f7db57a 3 extern void DnsProtocolToString (uint8_t protocol, int size, char* text);
andrewboyson 13:9cd54f7db57a 4 extern void DnsRecordTypeToString(uint8_t recordtype, int size, char* text);
andrewboyson 41:db727df5f98b 5 extern int DnsGetNextProtocol4(int protocol);
andrewboyson 41:db727df5f98b 6 extern int DnsGetNextProtocol6(int protocol);
andrewboyson 33:714a0345e59b 7 extern bool DnsHostNamesEquate(char* pA, char* pB);
andrewboyson 32:679654f2d023 8 extern int DnsMakeFullNameFromName (int protocol, char* name, int size, char* fqdn);
andrewboyson 32:679654f2d023 9 extern int DnsStripNameFromFullName(int protocol, char* fqdn, int size, char* name);
andrewboyson 32:679654f2d023 10
andrewboyson 13:9cd54f7db57a 11 extern void DnsTick();
andrewboyson 37:793b39683406 12 extern int DnsHandlePacketReceived(void (*traceback)(void), int dnsProtocol, int* pSize, void* pPacket);
andrewboyson 13:9cd54f7db57a 13 extern int DnsPollForPacketToSend(void* pPacket, int* pSize);
andrewboyson 13:9cd54f7db57a 14
andrewboyson 13:9cd54f7db57a 15 #define DNS_UNICAST_SERVER_PORT 53
andrewboyson 14:e75a59c1123d 16 #define DNS_UNICAST_CLIENT_PORT 53053
andrewboyson 14:e75a59c1123d 17
andrewboyson 14:e75a59c1123d 18 #define DNS_MDNS_PORT 5353
andrewboyson 14:e75a59c1123d 19
andrewboyson 13:9cd54f7db57a 20 #define DNS_LLMNR_SERVER_PORT 5355
andrewboyson 14:e75a59c1123d 21 #define DNS_LLMNR_CLIENT_PORT 53055
andrewboyson 13:9cd54f7db57a 22
andrewboyson 13:9cd54f7db57a 23 #define DNS_PROTOCOL_NONE 0
andrewboyson 13:9cd54f7db57a 24 #define DNS_PROTOCOL_UDNS 1
andrewboyson 13:9cd54f7db57a 25 #define DNS_PROTOCOL_MDNS 2
andrewboyson 13:9cd54f7db57a 26 #define DNS_PROTOCOL_LLMNR 3
andrewboyson 13:9cd54f7db57a 27
andrewboyson 30:e34173b7585c 28 #define DNS_RECORD_NONE 0
andrewboyson 13:9cd54f7db57a 29 #define DNS_RECORD_A 1
andrewboyson 13:9cd54f7db57a 30 #define DNS_RECORD_PTR 12
andrewboyson 13:9cd54f7db57a 31 #define DNS_RECORD_AAAA 28
andrewboyson 15:6ca6778168b1 32 #define DNS_RECORD_TXT 16
andrewboyson 15:6ca6778168b1 33 #define DNS_RECORD_SRV 33
andrewboyson 35:93c39d260a83 34
andrewboyson 35:93c39d260a83 35 #define DNS_MAX_LABEL_LENGTH 63