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:
Sat Dec 12 20:10:02 2020 +0000
Revision:
171:f708d6776752
Parent:
170:96c637dc3f52
Child:
172:9bc3c7b2cca1
Modified NR to accept both IPV6 and IPV4 addresses instead of having two modules with diffrent address lengths. Encapsulated 32but address into lsb 128 bit address

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 61:aad055f1b0d1 1 #include <stdint.h>
andrewboyson 61:aad055f1b0d1 2 #include <stdbool.h>
andrewboyson 13:9cd54f7db57a 3
andrewboyson 83:08c983006a6e 4 extern bool DnsSendRequestsViaIp4;
andrewboyson 83:08c983006a6e 5
andrewboyson 47:73af5c0b0dc2 6 extern void DnsProtocolString (uint8_t protocol, int size, char* text);
andrewboyson 47:73af5c0b0dc2 7 extern void DnsRecordTypeString(uint8_t recordtype, int size, char* text);
andrewboyson 47:73af5c0b0dc2 8 extern void DnsProtocolLog (uint8_t protocol);
andrewboyson 47:73af5c0b0dc2 9 extern void DnsRecordTypeLog (uint8_t recordtype);
andrewboyson 47:73af5c0b0dc2 10
andrewboyson 170:96c637dc3f52 11 extern int DnsGetNextProtocol(int protocol);
andrewboyson 32:679654f2d023 12
andrewboyson 61:aad055f1b0d1 13 extern void DnsMain(void);
andrewboyson 59:e0e556c8bd46 14 extern int DnsHandlePacketReceived(void (*traceback)(void), int dnsProtocol, int sizeRx, void* pPacketRx, int* pSizeTx, void* pPacketTx);
andrewboyson 171:f708d6776752 15 extern int DnsPollForPacketToSend(int ipType, void* pPacket, int* pSize);
andrewboyson 13:9cd54f7db57a 16
andrewboyson 13:9cd54f7db57a 17 #define DNS_UNICAST_SERVER_PORT 53
andrewboyson 14:e75a59c1123d 18 #define DNS_UNICAST_CLIENT_PORT 53053
andrewboyson 14:e75a59c1123d 19
andrewboyson 14:e75a59c1123d 20 #define DNS_MDNS_PORT 5353
andrewboyson 14:e75a59c1123d 21
andrewboyson 13:9cd54f7db57a 22 #define DNS_LLMNR_SERVER_PORT 5355
andrewboyson 14:e75a59c1123d 23 #define DNS_LLMNR_CLIENT_PORT 53055
andrewboyson 13:9cd54f7db57a 24
andrewboyson 13:9cd54f7db57a 25 #define DNS_PROTOCOL_NONE 0
andrewboyson 13:9cd54f7db57a 26 #define DNS_PROTOCOL_UDNS 1
andrewboyson 13:9cd54f7db57a 27 #define DNS_PROTOCOL_MDNS 2
andrewboyson 13:9cd54f7db57a 28 #define DNS_PROTOCOL_LLMNR 3
andrewboyson 13:9cd54f7db57a 29
andrewboyson 30:e34173b7585c 30 #define DNS_RECORD_NONE 0
andrewboyson 13:9cd54f7db57a 31 #define DNS_RECORD_A 1
andrewboyson 13:9cd54f7db57a 32 #define DNS_RECORD_PTR 12
andrewboyson 13:9cd54f7db57a 33 #define DNS_RECORD_AAAA 28
andrewboyson 15:6ca6778168b1 34 #define DNS_RECORD_TXT 16
andrewboyson 15:6ca6778168b1 35 #define DNS_RECORD_SRV 33
andrewboyson 35:93c39d260a83 36