11a32bf41SRobin Getz /* 21a32bf41SRobin Getz * (C) Masami Komiya <mkomiya@sonare.it> 2005 31a32bf41SRobin Getz * Copyright 2009, Robin Getz <rgetz@blackfin.uclinux.org> 41a32bf41SRobin Getz * 5*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 61a32bf41SRobin Getz */ 71a32bf41SRobin Getz 81a32bf41SRobin Getz #ifndef __DNS_H__ 91a32bf41SRobin Getz #define __DNS_H__ 101a32bf41SRobin Getz 111a32bf41SRobin Getz #define DNS_SERVICE_PORT 53 121a32bf41SRobin Getz #define DNS_TIMEOUT 10000UL 131a32bf41SRobin Getz 141a32bf41SRobin Getz /* http://en.wikipedia.org/wiki/List_of_DNS_record_types */ 151a32bf41SRobin Getz enum dns_query_type { 161a32bf41SRobin Getz DNS_A_RECORD = 0x01, 171a32bf41SRobin Getz DNS_CNAME_RECORD = 0x05, 181a32bf41SRobin Getz DNS_MX_RECORD = 0x0f, 191a32bf41SRobin Getz }; 201a32bf41SRobin Getz 211a32bf41SRobin Getz /* 221a32bf41SRobin Getz * DNS network packet 231a32bf41SRobin Getz */ 241a32bf41SRobin Getz struct header { 251a32bf41SRobin Getz uint16_t tid; /* Transaction ID */ 261a32bf41SRobin Getz uint16_t flags; /* Flags */ 271a32bf41SRobin Getz uint16_t nqueries; /* Questions */ 281a32bf41SRobin Getz uint16_t nanswers; /* Answers */ 291a32bf41SRobin Getz uint16_t nauth; /* Authority PRs */ 301a32bf41SRobin Getz uint16_t nother; /* Other PRs */ 311a32bf41SRobin Getz unsigned char data[1]; /* Data, variable length */ 321a32bf41SRobin Getz }; 331a32bf41SRobin Getz 341a32bf41SRobin Getz extern void DnsStart(void); /* Begin DNS */ 351a32bf41SRobin Getz 361a32bf41SRobin Getz #endif 37