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@83:08c983006a6e, 2018-11-17 (annotated)
- Committer:
- andrewboyson
- Date:
- Sat Nov 17 15:49:03 2018 +0000
- Revision:
- 83:08c983006a6e
- Parent:
- 61:aad055f1b0d1
- Child:
- 128:79052cb4a41c
Added "send requests via IPv4" toggles for DNS, NTP and TFTP.
Who changed what in which revision?
User | Revision | Line number | New 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 | 41:db727df5f98b | 11 | extern int DnsGetNextProtocol4(int protocol); |
andrewboyson | 41:db727df5f98b | 12 | extern int DnsGetNextProtocol6(int protocol); |
andrewboyson | 33:714a0345e59b | 13 | extern bool DnsHostNamesEquate(char* pA, char* pB); |
andrewboyson | 59:e0e556c8bd46 | 14 | extern int DnsMakeFullNameFromName (int protocol, const char* name, int size, char* fqdn); |
andrewboyson | 32:679654f2d023 | 15 | extern int DnsStripNameFromFullName(int protocol, char* fqdn, int size, char* name); |
andrewboyson | 32:679654f2d023 | 16 | |
andrewboyson | 61:aad055f1b0d1 | 17 | extern void DnsMain(void); |
andrewboyson | 59:e0e556c8bd46 | 18 | extern int DnsHandlePacketReceived(void (*traceback)(void), int dnsProtocol, int sizeRx, void* pPacketRx, int* pSizeTx, void* pPacketTx); |
andrewboyson | 13:9cd54f7db57a | 19 | extern int DnsPollForPacketToSend(void* pPacket, int* pSize); |
andrewboyson | 13:9cd54f7db57a | 20 | |
andrewboyson | 13:9cd54f7db57a | 21 | #define DNS_UNICAST_SERVER_PORT 53 |
andrewboyson | 14:e75a59c1123d | 22 | #define DNS_UNICAST_CLIENT_PORT 53053 |
andrewboyson | 14:e75a59c1123d | 23 | |
andrewboyson | 14:e75a59c1123d | 24 | #define DNS_MDNS_PORT 5353 |
andrewboyson | 14:e75a59c1123d | 25 | |
andrewboyson | 13:9cd54f7db57a | 26 | #define DNS_LLMNR_SERVER_PORT 5355 |
andrewboyson | 14:e75a59c1123d | 27 | #define DNS_LLMNR_CLIENT_PORT 53055 |
andrewboyson | 13:9cd54f7db57a | 28 | |
andrewboyson | 13:9cd54f7db57a | 29 | #define DNS_PROTOCOL_NONE 0 |
andrewboyson | 13:9cd54f7db57a | 30 | #define DNS_PROTOCOL_UDNS 1 |
andrewboyson | 13:9cd54f7db57a | 31 | #define DNS_PROTOCOL_MDNS 2 |
andrewboyson | 13:9cd54f7db57a | 32 | #define DNS_PROTOCOL_LLMNR 3 |
andrewboyson | 13:9cd54f7db57a | 33 | |
andrewboyson | 30:e34173b7585c | 34 | #define DNS_RECORD_NONE 0 |
andrewboyson | 13:9cd54f7db57a | 35 | #define DNS_RECORD_A 1 |
andrewboyson | 13:9cd54f7db57a | 36 | #define DNS_RECORD_PTR 12 |
andrewboyson | 13:9cd54f7db57a | 37 | #define DNS_RECORD_AAAA 28 |
andrewboyson | 15:6ca6778168b1 | 38 | #define DNS_RECORD_TXT 16 |
andrewboyson | 15:6ca6778168b1 | 39 | #define DNS_RECORD_SRV 33 |
andrewboyson | 35:93c39d260a83 | 40 | |
andrewboyson | 35:93c39d260a83 | 41 | #define DNS_MAX_LABEL_LENGTH 63 |