Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

poslib/dnsmessage.h File Reference

DNS message functions. More...

Go to the source code of this file.


Classes

class   message_buff
  message buffer More...

class   DnsQuestion
  DNS question object. More...

class   DnsRR
  resource record More...

class   DnsMessage
  DNS message. More...

class   a_record
  ipv4 address More...

class   aaaa_record
  ipv6 address More...

class   mx_record
  mx record More...

class   rrdat

Enumerations

enum   _answer_type {
  A_ERROR, A_CNAME, A_NXDOMAIN, A_ANSWER,
  A_REFERRAL, A_NODATA
}
  Enumeration of different possible answer types. More...


Functions

u_int16  uint16_value (char *buff)
u_int32  uint32_value (char *buff)
char *  uint16_buff (uint16_t val)
char *  uint32_buff (uint32_t val)
DnsMessage create_query (domainname QNAME, uint16_t QTYPE=DNS_TYPE_A, bool RD=true, uint16_t QCLASS=CLASS_IN)
  create a query message

a_record  get_a_record (DnsMessage *a)
  Gets the first address in the answer to an address query.

  stl_list (a_record) get_a_records(DnsMessage *a
  Gets a list of addresses in the answer to an address query.

aaaa_record  get_aaaa_record (DnsMessage *a)
  Gets the first IPv6 address in the answer to an IPv6 address query.

  stl_list (aaaa_record) get_aaaa_records(DnsMessage *a
  Gets a list of addresses in the answer to an IPv6 address query.

mx_record  get_mx_record (DnsMessage *a)
  Gets the first MX record in te answer to a MX query.

  stl_list (mx_record) get_mx_records(DnsMessage *a
  Gets a list of MX records in te answer to a MX query.

domainname  get_ns_record (DnsMessage *a)
  Gets the first NS record in te answer to a NS query.

  stl_list (domainname) get_ns_records(DnsMessage *a
  Gets the list of NS records in te answer to a NS query.

domainname  get_ptr_record (DnsMessage *a)
  Gets the first PTR record in te answer to a PTR query.

  stl_list (rrdat) get_records(DnsMessage *a
  Gets a list of all RRs in the answer section answering the DNS query. May follow CNAMEs. */.

_answer_type  check_answer_type (DnsMessage *msg, domainname &qname, uint16_t qtype)
  Returns the answer type of an answer message for a given query.

bool  has_rrset (stl_list(DnsRR)&rrlist, domainname &QNAME, uint16_t QTYPE=QTYPE_ANY)
  Returns true if the given RRset is present in the DNS message section.


Variables

bool  fail_if_none = false)

Detailed Description

DNS message functions.

This file contains functions and classes for dealing with DNS messages. The DnsMessage class is used to represent a DNS message, and some functions for reading numbers from binary DNS data are also included.

Definition in file dnsmessage.h.


Enumeration Type Documentation

enum _answer_type
 

Enumeration of different possible answer types.

Enumeration values:
A_CNAME  Error.
A_NXDOMAIN  Alias.
A_ANSWER  Domain doesn't exist.
A_REFERRAL  Answer.
A_NODATA  No such data.

Definition at line 567 of file dnsmessage.h.


Function Documentation

DnsMessage* create_query domainname  QNAME,
uint16_t  QTYPE = DNS_TYPE_A,
bool  RD = true,
uint16_t  QCLASS = CLASS_IN
 

create a query message

Creates a Dns question message which can be used to query a DNS server. This message is dynamically allocated, so you'll have to delete it yourself.

Parameters:
QNAME  Domain name to query. See DnsQuestion::QNAME.
QTYPE  Type of RR to query. See DnsQuestion::QTYPE for more information. Defaults to DNS_TYPE_A .
RD  whether we want the server to do recursion. See DnsMessage::RD. Defaults to true .
QCLASS  The class to query in. See DnsQuestion::QCLASS. Defaults to CLASS_IN .
Returns:
DNS message containing the query.

Generated on Fri Dec 24 19:55:15 2004 for Poslib by doxygen 1.3.7