OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bind_util.h File Reference
#include <iostream>
#include <stdint.h>
#include <vector>
#include <boost/asio.hpp>
#include "sandesh/sandesh_trace.h"
#include "bind/bind_types.h"
#include "bind/xmpp_dns_agent.h"
#include "base/address.h"
#include "base/address_util.h"
Include dependency graph for bind_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  dns_flags
 
struct  dnshdr
 
struct  DnsSOAData
 
struct  DnsSRVData
 
struct  DnsItem
 
struct  DnsUpdateData
 
struct  DnsUpdateData::Compare
 
struct  Subnet
 
class  BindUtil
 
class  DnsNameEncoder
 
struct  DnsNameEncoder::Name
 

Macros

#define DNS_BIND_TRACE(obj, arg)
 
#define DNS_SERVER_PORT   53
 
#define DNS_CLASS_IN   1
 
#define DNS_CLASS_ANY   0x00ff
 
#define DNS_CLASS_NONE   0x00fe
 
#define DNS_A_RECORD   1
 
#define DNS_NS_RECORD   2
 
#define DNS_CNAME_RECORD   5
 
#define DNS_TYPE_SOA   6
 
#define DNS_PTR_RECORD   0x0C
 
#define DNS_MX_RECORD   0x0F
 
#define DNS_TXT_RECORD   0x10
 
#define DNS_AAAA_RECORD   0x1C
 
#define DNS_SRV_RECORD   0x21
 
#define DNS_TYPE_ANY   0x00ff
 
#define DNS_ERR_NO_ERROR   0
 
#define DNS_ERR_FORMAT_ERROR   1
 
#define DNS_ERR_SERVER_FAIL   2
 
#define DNS_ERR_NO_SUCH_NAME   3
 
#define DNS_ERR_NO_IMPLEMENT   4
 
#define DNS_ERR_NOT_AUTH   9
 

Typedefs

typedef std::map< std::string,
uint16_t > 
DnsTypeMap
 
typedef std::map< std::string,
uint16_t >::const_iterator 
DnsTypeIter
 
typedef std::map< uint16_t,
std::string > 
DnsTypeNumMap
 
typedef std::map< uint16_t,
std::string >::const_iterator 
DnsTypeNumIter
 
typedef std::map< uint16_t,
std::string > 
DnsResponseMap
 
typedef std::map< uint16_t,
std::string >::const_iterator 
DnsResponseIter
 
typedef std::list< DnsItemDnsItems
 
typedef std::vector< std::string > ZoneList
 
typedef std::vector< SubnetSubnets
 

Enumerations

enum  DnsReq { DNS_QUERY_REQUEST = 0x0, DNS_QUERY_RESPONSE = 0x1 }
 
enum  DnsOpcode { DNS_OPCODE_QUERY = 0x0, DNS_OPCODE_STATUS = 0x2, DNS_OPCODE_NOTIFY = 0x04, DNS_OPCODE_UPDATE = 0x05 }
 

Functions

static std::string DnsItemsToString (DnsItems &items)
 

Variables

SandeshTraceBufferPtr DnsBindTraceBuf
 

Macro Definition Documentation

#define DNS_A_RECORD   1

Definition at line 36 of file bind_util.h.

#define DNS_AAAA_RECORD   0x1C

Definition at line 43 of file bind_util.h.

#define DNS_BIND_TRACE (   obj,
  arg 
)
Value:
do { \
std::ostringstream _str; \
_str << arg; \
obj::TraceMsg(DnsBindTraceBuf, __FILE__, __LINE__, _str.str()); \
} while (false) \
SandeshTraceBufferPtr DnsBindTraceBuf

Definition at line 21 of file bind_util.h.

#define DNS_CLASS_ANY   0x00ff

Definition at line 32 of file bind_util.h.

#define DNS_CLASS_IN   1

Definition at line 31 of file bind_util.h.

#define DNS_CLASS_NONE   0x00fe

Definition at line 33 of file bind_util.h.

#define DNS_CNAME_RECORD   5

Definition at line 38 of file bind_util.h.

#define DNS_ERR_FORMAT_ERROR   1

Definition at line 49 of file bind_util.h.

#define DNS_ERR_NO_ERROR   0

Definition at line 48 of file bind_util.h.

#define DNS_ERR_NO_IMPLEMENT   4

Definition at line 52 of file bind_util.h.

#define DNS_ERR_NO_SUCH_NAME   3

Definition at line 51 of file bind_util.h.

#define DNS_ERR_NOT_AUTH   9

Definition at line 53 of file bind_util.h.

#define DNS_ERR_SERVER_FAIL   2

Definition at line 50 of file bind_util.h.

#define DNS_MX_RECORD   0x0F

Definition at line 41 of file bind_util.h.

#define DNS_NS_RECORD   2

Definition at line 37 of file bind_util.h.

#define DNS_PTR_RECORD   0x0C

Definition at line 40 of file bind_util.h.

#define DNS_SERVER_PORT   53

Definition at line 28 of file bind_util.h.

#define DNS_SRV_RECORD   0x21

Definition at line 44 of file bind_util.h.

#define DNS_TXT_RECORD   0x10

Definition at line 42 of file bind_util.h.

#define DNS_TYPE_ANY   0x00ff

Definition at line 45 of file bind_util.h.

#define DNS_TYPE_SOA   6

Definition at line 39 of file bind_util.h.

Typedef Documentation

typedef std::list<DnsItem> DnsItems

Definition at line 193 of file bind_util.h.

typedef std::map<uint16_t, std::string>::const_iterator DnsResponseIter

Definition at line 72 of file bind_util.h.

typedef std::map<uint16_t, std::string> DnsResponseMap

Definition at line 71 of file bind_util.h.

typedef std::map<std::string, uint16_t>::const_iterator DnsTypeIter

Definition at line 68 of file bind_util.h.

typedef std::map<std::string, uint16_t> DnsTypeMap

Definition at line 67 of file bind_util.h.

typedef std::map<uint16_t, std::string>::const_iterator DnsTypeNumIter

Definition at line 70 of file bind_util.h.

typedef std::map<uint16_t, std::string> DnsTypeNumMap

Definition at line 69 of file bind_util.h.

typedef std::vector<Subnet> Subnets

Definition at line 278 of file bind_util.h.

typedef std::vector<std::string> ZoneList

Definition at line 250 of file bind_util.h.

Enumeration Type Documentation

enum DnsOpcode
Enumerator
DNS_OPCODE_QUERY 
DNS_OPCODE_STATUS 
DNS_OPCODE_NOTIFY 
DNS_OPCODE_UPDATE 

Definition at line 60 of file bind_util.h.

enum DnsReq
Enumerator
DNS_QUERY_REQUEST 
DNS_QUERY_RESPONSE 

Definition at line 55 of file bind_util.h.

Function Documentation

static std::string DnsItemsToString ( DnsItems items)
inlinestatic

Definition at line 194 of file bind_util.h.

Variable Documentation

SandeshTraceBufferPtr DnsBindTraceBuf