dns.h File Reference

DNS protocol. More...

#include <stdint.h>
#include <gpxe/in.h>

Go to the source code of this file.

Data Structures

struct  dns_header
struct  dns_query_info
struct  dns_query
struct  dns_rr_info_common
struct  dns_rr_info_a
struct  dns_rr_info_cname
union  dns_rr_info

Defines

#define DNS_TYPE_A   1
#define DNS_TYPE_CNAME   5
#define DNS_TYPE_ANY   255
#define DNS_CLASS_IN   1
#define DNS_CLASS_CS   2
#define DNS_CLASS_CH   3
#define DNS_CLASS_HS   4
#define DNS_FLAG_QUERY   ( 0x00 << 15 )
#define DNS_FLAG_RESPONSE   ( 0x01 << 15 )
#define DNS_FLAG_QR(flags)   ( (flags) & ( 0x01 << 15 ) )
#define DNS_FLAG_OPCODE_QUERY   ( 0x00 << 11 )
#define DNS_FLAG_OPCODE_IQUERY   ( 0x01 << 11 )
#define DNS_FLAG_OPCODE_STATUS   ( 0x02 << 11 )
#define DNS_FLAG_OPCODE(flags)   ( (flags) & ( 0x0f << 11 ) )
#define DNS_FLAG_RD   ( 0x01 << 8 )
#define DNS_FLAG_RA   ( 0x01 << 7 )
#define DNS_FLAG_RCODE_OK   ( 0x00 << 0 )
#define DNS_FLAG_RCODE_NX   ( 0x03 << 0 )
#define DNS_FLAG_RCODE(flags)   ( (flags) & ( 0x0f << 0 ) )
#define DNS_PORT   53
#define DNS_MAX_RETRIES   3
#define DNS_MAX_CNAME_RECURSION   0x30

Functions

 FILE_LICENCE (GPL2_OR_LATER)

Variables

struct dns_header packed


Detailed Description

DNS protocol.

Definition in file dns.h.


Define Documentation

#define DNS_TYPE_A   1

Definition at line 20 of file dns.h.

Referenced by dns_resolv(), and dns_xfer_deliver_raw().

#define DNS_TYPE_CNAME   5

Definition at line 21 of file dns.h.

Referenced by dns_xfer_deliver_raw().

#define DNS_TYPE_ANY   255

Definition at line 22 of file dns.h.

#define DNS_CLASS_IN   1

Definition at line 24 of file dns.h.

Referenced by dns_resolv(), and dns_xfer_deliver_raw().

#define DNS_CLASS_CS   2

Definition at line 25 of file dns.h.

#define DNS_CLASS_CH   3

Definition at line 26 of file dns.h.

#define DNS_CLASS_HS   4

Definition at line 27 of file dns.h.

#define DNS_FLAG_QUERY   ( 0x00 << 15 )

Definition at line 29 of file dns.h.

Referenced by dns_resolv().

#define DNS_FLAG_RESPONSE   ( 0x01 << 15 )

Definition at line 30 of file dns.h.

#define DNS_FLAG_QR ( flags   )     ( (flags) & ( 0x01 << 15 ) )

Definition at line 31 of file dns.h.

#define DNS_FLAG_OPCODE_QUERY   ( 0x00 << 11 )

Definition at line 32 of file dns.h.

Referenced by dns_resolv().

#define DNS_FLAG_OPCODE_IQUERY   ( 0x01 << 11 )

Definition at line 33 of file dns.h.

#define DNS_FLAG_OPCODE_STATUS   ( 0x02 << 11 )

Definition at line 34 of file dns.h.

#define DNS_FLAG_OPCODE ( flags   )     ( (flags) & ( 0x0f << 11 ) )

Definition at line 35 of file dns.h.

#define DNS_FLAG_RD   ( 0x01 << 8 )

Definition at line 36 of file dns.h.

Referenced by dns_resolv().

#define DNS_FLAG_RA   ( 0x01 << 7 )

Definition at line 37 of file dns.h.

#define DNS_FLAG_RCODE_OK   ( 0x00 << 0 )

Definition at line 38 of file dns.h.

#define DNS_FLAG_RCODE_NX   ( 0x03 << 0 )

Definition at line 39 of file dns.h.

#define DNS_FLAG_RCODE ( flags   )     ( (flags) & ( 0x0f << 0 ) )

Definition at line 40 of file dns.h.

#define DNS_PORT   53

Definition at line 42 of file dns.h.

#define DNS_MAX_RETRIES   3

Definition at line 43 of file dns.h.

#define DNS_MAX_CNAME_RECURSION   0x30

Definition at line 44 of file dns.h.

Referenced by dns_xfer_deliver_raw().


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER   ) 


Variable Documentation


Generated on Tue Apr 6 20:01:48 2010 for gPXE by  doxygen 1.5.7.1