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