From e9f1c6b518a62e3b173c8dfa396bbf18b5dc7cde Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Tue, 28 Apr 2020 01:57:14 +0300 Subject: It's alive --- dns.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 dns.h (limited to 'dns.h') diff --git a/dns.h b/dns.h new file mode 100644 index 0000000..788618d --- /dev/null +++ b/dns.h @@ -0,0 +1,34 @@ +#ifndef DNS_INCLUDED +#define DNS_INCLUDED + + +enum { /* Some of DNS types: */ + dns_type_a = 1, + dns_type_cname = 5, + dns_type_mx = 15, + dns_type_txt = 16 +}; + +struct dns_answers { + struct dns_answers *next; + char *host; + int type; + unsigned int size; + void *data; +}; + +/* For CNAME & TXT data is just 'char *', + * For A data is 'unsigned char *' of size 4. */ + +int dns_mx_preference(void *data); +char *dns_mx_server(void *data); + + +/* In case of error result is 0. + * It's not the-best-effort attempt to get answer, just simple working one. */ +struct dns_answers *dns_get(const char *server, const char *host, int query); + +void dns_free(struct dns_answers *answers); + + +#endif -- cgit v1.2.3