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@47:73af5c0b0dc2, 2017-10-26 (annotated)
- Committer:
- andrewboyson
- Date:
- Thu Oct 26 14:50:24 2017 +0000
- Revision:
- 47:73af5c0b0dc2
- Parent:
- 43:bc028d5a6424
- Child:
- 59:e0e556c8bd46
Replaced a number of temporary buffers with direct writes to the Log or HTTP.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andrewboyson | 13:9cd54f7db57a | 1 | #include "mbed.h" |
andrewboyson | 13:9cd54f7db57a | 2 | |
andrewboyson | 47:73af5c0b0dc2 | 3 | extern void DnsProtocolString (uint8_t protocol, int size, char* text); |
andrewboyson | 47:73af5c0b0dc2 | 4 | extern void DnsRecordTypeString(uint8_t recordtype, int size, char* text); |
andrewboyson | 47:73af5c0b0dc2 | 5 | extern void DnsProtocolLog (uint8_t protocol); |
andrewboyson | 47:73af5c0b0dc2 | 6 | extern void DnsRecordTypeLog (uint8_t recordtype); |
andrewboyson | 47:73af5c0b0dc2 | 7 | |
andrewboyson | 41:db727df5f98b | 8 | extern int DnsGetNextProtocol4(int protocol); |
andrewboyson | 41:db727df5f98b | 9 | extern int DnsGetNextProtocol6(int protocol); |
andrewboyson | 33:714a0345e59b | 10 | extern bool DnsHostNamesEquate(char* pA, char* pB); |
andrewboyson | 32:679654f2d023 | 11 | extern int DnsMakeFullNameFromName (int protocol, char* name, int size, char* fqdn); |
andrewboyson | 32:679654f2d023 | 12 | extern int DnsStripNameFromFullName(int protocol, char* fqdn, int size, char* name); |
andrewboyson | 32:679654f2d023 | 13 | |
andrewboyson | 43:bc028d5a6424 | 14 | extern void DnsMain(); |
andrewboyson | 37:793b39683406 | 15 | extern int DnsHandlePacketReceived(void (*traceback)(void), int dnsProtocol, int* pSize, void* pPacket); |
andrewboyson | 13:9cd54f7db57a | 16 | extern int DnsPollForPacketToSend(void* pPacket, int* pSize); |
andrewboyson | 13:9cd54f7db57a | 17 | |
andrewboyson | 13:9cd54f7db57a | 18 | #define DNS_UNICAST_SERVER_PORT 53 |
andrewboyson | 14:e75a59c1123d | 19 | #define DNS_UNICAST_CLIENT_PORT 53053 |
andrewboyson | 14:e75a59c1123d | 20 | |
andrewboyson | 14:e75a59c1123d | 21 | #define DNS_MDNS_PORT 5353 |
andrewboyson | 14:e75a59c1123d | 22 | |
andrewboyson | 13:9cd54f7db57a | 23 | #define DNS_LLMNR_SERVER_PORT 5355 |
andrewboyson | 14:e75a59c1123d | 24 | #define DNS_LLMNR_CLIENT_PORT 53055 |
andrewboyson | 13:9cd54f7db57a | 25 | |
andrewboyson | 13:9cd54f7db57a | 26 | #define DNS_PROTOCOL_NONE 0 |
andrewboyson | 13:9cd54f7db57a | 27 | #define DNS_PROTOCOL_UDNS 1 |
andrewboyson | 13:9cd54f7db57a | 28 | #define DNS_PROTOCOL_MDNS 2 |
andrewboyson | 13:9cd54f7db57a | 29 | #define DNS_PROTOCOL_LLMNR 3 |
andrewboyson | 13:9cd54f7db57a | 30 | |
andrewboyson | 30:e34173b7585c | 31 | #define DNS_RECORD_NONE 0 |
andrewboyson | 13:9cd54f7db57a | 32 | #define DNS_RECORD_A 1 |
andrewboyson | 13:9cd54f7db57a | 33 | #define DNS_RECORD_PTR 12 |
andrewboyson | 13:9cd54f7db57a | 34 | #define DNS_RECORD_AAAA 28 |
andrewboyson | 15:6ca6778168b1 | 35 | #define DNS_RECORD_TXT 16 |
andrewboyson | 15:6ca6778168b1 | 36 | #define DNS_RECORD_SRV 33 |
andrewboyson | 35:93c39d260a83 | 37 | |
andrewboyson | 35:93c39d260a83 | 38 | #define DNS_MAX_LABEL_LENGTH 63 |