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:
Thu Jan 11 17:38:21 2018 +0000
Revision:
61:aad055f1b0d1
Parent:
59:e0e556c8bd46
Child:
83:08c983006a6e
Removed dependence on Mbed OS

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 47:73af5c0b0dc2 4 extern void DnsProtocolString (uint8_t protocol, int size, char* text);
andrewboyson 47:73af5c0b0dc2 5 extern void DnsRecordTypeString(uint8_t recordtype, int size, char* text);
andrewboyson 47:73af5c0b0dc2 6 extern void DnsProtocolLog (uint8_t protocol);
andrewboyson 47:73af5c0b0dc2 7 extern void DnsRecordTypeLog (uint8_t recordtype);
andrewboyson 47:73af5c0b0dc2 8
andrewboyson 41:db727df5f98b 9 extern int DnsGetNextProtocol4(int protocol);
andrewboyson 41:db727df5f98b 10 extern int DnsGetNextProtocol6(int protocol);
andrewboyson 33:714a0345e59b 11 extern bool DnsHostNamesEquate(char* pA, char* pB);
andrewboyson 59:e0e556c8bd46 12 extern int DnsMakeFullNameFromName (int protocol, const char* name, int size, char* fqdn);
andrewboyson 32:679654f2d023 13 extern int DnsStripNameFromFullName(int protocol, char* fqdn, int size, char* name);
andrewboyson 32:679654f2d023 14
andrewboyson 61:aad055f1b0d1 15 extern void DnsMain(void);
andrewboyson 59:e0e556c8bd46 16 extern int DnsHandlePacketReceived(void (*traceback)(void), int dnsProtocol, int sizeRx, void* pPacketRx, int* pSizeTx, void* pPacketTx);
andrewboyson 13:9cd54f7db57a 17 extern int DnsPollForPacketToSend(void* pPacket, int* pSize);
andrewboyson 13:9cd54f7db57a 18
andrewboyson 13:9cd54f7db57a 19 #define DNS_UNICAST_SERVER_PORT 53
andrewboyson 14:e75a59c1123d 20 #define DNS_UNICAST_CLIENT_PORT 53053
andrewboyson 14:e75a59c1123d 21
andrewboyson 14:e75a59c1123d 22 #define DNS_MDNS_PORT 5353
andrewboyson 14:e75a59c1123d 23
andrewboyson 13:9cd54f7db57a 24 #define DNS_LLMNR_SERVER_PORT 5355
andrewboyson 14:e75a59c1123d 25 #define DNS_LLMNR_CLIENT_PORT 53055
andrewboyson 13:9cd54f7db57a 26
andrewboyson 13:9cd54f7db57a 27 #define DNS_PROTOCOL_NONE 0
andrewboyson 13:9cd54f7db57a 28 #define DNS_PROTOCOL_UDNS 1
andrewboyson 13:9cd54f7db57a 29 #define DNS_PROTOCOL_MDNS 2
andrewboyson 13:9cd54f7db57a 30 #define DNS_PROTOCOL_LLMNR 3
andrewboyson 13:9cd54f7db57a 31
andrewboyson 30:e34173b7585c 32 #define DNS_RECORD_NONE 0
andrewboyson 13:9cd54f7db57a 33 #define DNS_RECORD_A 1
andrewboyson 13:9cd54f7db57a 34 #define DNS_RECORD_PTR 12
andrewboyson 13:9cd54f7db57a 35 #define DNS_RECORD_AAAA 28
andrewboyson 15:6ca6778168b1 36 #define DNS_RECORD_TXT 16
andrewboyson 15:6ca6778168b1 37 #define DNS_RECORD_SRV 33
andrewboyson 35:93c39d260a83 38
andrewboyson 35:93c39d260a83 39 #define DNS_MAX_LABEL_LENGTH 63