xref: /openbmc/u-boot/net/dns.h (revision 1a32bf41)
1*1a32bf41SRobin Getz /*
2*1a32bf41SRobin Getz  * (C) Masami Komiya <mkomiya@sonare.it> 2005
3*1a32bf41SRobin Getz  *  Copyright 2009, Robin Getz <rgetz@blackfin.uclinux.org>
4*1a32bf41SRobin Getz  *
5*1a32bf41SRobin Getz  * This program is free software; you can redistribute it and/or
6*1a32bf41SRobin Getz  * modify it under the terms of the GNU General Public License as
7*1a32bf41SRobin Getz  * published by the Free Software Foundation; either version 2, or (at
8*1a32bf41SRobin Getz  * your option) any later version.
9*1a32bf41SRobin Getz  */
10*1a32bf41SRobin Getz 
11*1a32bf41SRobin Getz #ifndef __DNS_H__
12*1a32bf41SRobin Getz #define __DNS_H__
13*1a32bf41SRobin Getz 
14*1a32bf41SRobin Getz #define DNS_SERVICE_PORT 53
15*1a32bf41SRobin Getz #define DNS_TIMEOUT      10000UL
16*1a32bf41SRobin Getz 
17*1a32bf41SRobin Getz /* http://en.wikipedia.org/wiki/List_of_DNS_record_types */
18*1a32bf41SRobin Getz enum dns_query_type {
19*1a32bf41SRobin Getz 	DNS_A_RECORD = 0x01,
20*1a32bf41SRobin Getz 	DNS_CNAME_RECORD = 0x05,
21*1a32bf41SRobin Getz 	DNS_MX_RECORD = 0x0f,
22*1a32bf41SRobin Getz };
23*1a32bf41SRobin Getz 
24*1a32bf41SRobin Getz /*
25*1a32bf41SRobin Getz  * DNS network packet
26*1a32bf41SRobin Getz  */
27*1a32bf41SRobin Getz struct header {
28*1a32bf41SRobin Getz 	uint16_t	tid;		/* Transaction ID */
29*1a32bf41SRobin Getz 	uint16_t	flags;		/* Flags */
30*1a32bf41SRobin Getz 	uint16_t	nqueries;	/* Questions */
31*1a32bf41SRobin Getz 	uint16_t	nanswers;	/* Answers */
32*1a32bf41SRobin Getz 	uint16_t	nauth;		/* Authority PRs */
33*1a32bf41SRobin Getz 	uint16_t	nother;		/* Other PRs */
34*1a32bf41SRobin Getz 	unsigned char	data[1];	/* Data, variable length */
35*1a32bf41SRobin Getz };
36*1a32bf41SRobin Getz 
37*1a32bf41SRobin Getz extern void DnsStart(void);		/* Begin DNS */
38*1a32bf41SRobin Getz 
39*1a32bf41SRobin Getz #endif
40