# The EventDnsBase class

(PECL event >= 1.2.6-beta)

## Introduction

Represents Libevent's DNS base structure. Used to resolve DNS asyncronously, parse configuration files like resolv.conf etc.

## Class synopsis

final EventDnsBase {
/* Constants */
const int OPTION_SEARCH = 1 ;
const int OPTION_NAMESERVERS = 2 ;
const int OPTION_MISC = 4 ;
const int OPTION_HOSTSFILE = 8 ;
const int OPTIONS_ALL = 15 ;
/* Methods */
public addNameserverIp ( string `$ip` ) : bool
public addSearch ( string `$domain` ) : void
public clearSearch ( ) : void
public __construct ( EventBase `$base` , bool `$initialize` )
public countNameservers ( ) : int
public loadHosts ( string `$hosts` ) : bool
public parseResolvConf ( int `$flags` , string `$filename` ) : bool
public setOption ( string `$option` , string `$value` ) : bool
public setSearchNdots ( int `$ndots` ) : bool
}

## Predefined Constants

`EventDnsBase::OPTION_SEARCH`

  Tells to read the domain and search fields from the `resolv.conf` file and the `ndots` option, and use them to decide which domains(if any) to search for hostnames that aren’t fully-qualified.

`EventDnsBase::OPTION_NAMESERVERS`

  Tells to learn the nameservers from the `resolv.conf` file.

`EventDnsBase::OPTION_MISC`

`EventDnsBase::OPTION_HOSTSFILE`

  Tells to read a list of hosts from `/etc/hosts` as part of loading the `resolv.conf` file.

`EventDnsBase::OPTIONS_ALL`

  Tells to learn as much as it can from the `resolv.conf` file.

## Table of Contents

- EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
- EventDnsBase::addSearch — Adds a domain to the list of search domains
- EventDnsBase::clearSearch — Removes all current search suffixes
- EventDnsBase::__construct — Constructs EventDnsBase object
- EventDnsBase::countNameservers — Gets the number of configured nameservers
- EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
- EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
- EventDnsBase::setOption — Set the value of a configuration option
- EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches