1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Masami Komiya <mkomiya@sonare.it> 2005 4 * Copyright 2009, Robin Getz <rgetz@blackfin.uclinux.org> 5 */ 6 7 #ifndef __DNS_H__ 8 #define __DNS_H__ 9 10 #define DNS_SERVICE_PORT 53 11 #define DNS_TIMEOUT 10000UL 12 13 /* http://en.wikipedia.org/wiki/List_of_DNS_record_types */ 14 enum dns_query_type { 15 DNS_A_RECORD = 0x01, 16 DNS_CNAME_RECORD = 0x05, 17 DNS_MX_RECORD = 0x0f, 18 }; 19 20 /* 21 * DNS network packet 22 */ 23 struct header { 24 uint16_t tid; /* Transaction ID */ 25 uint16_t flags; /* Flags */ 26 uint16_t nqueries; /* Questions */ 27 uint16_t nanswers; /* Answers */ 28 uint16_t nauth; /* Authority PRs */ 29 uint16_t nother; /* Other PRs */ 30 unsigned char data[1]; /* Data, variable length */ 31 } __attribute__((packed)); 32 33 void dns_start(void); /* Begin DNS */ 34 35 #endif 36