\hypertarget{dns__compat_8h}{\section{opal/mca/event/libevent2013/libevent/include/event2/dns\+\_\+compat.h File Reference}
\label{dns__compat_8h}\index{opal/mca/event/libevent2013/libevent/include/event2/dns\+\_\+compat.\+h@{opal/mca/event/libevent2013/libevent/include/event2/dns\+\_\+compat.\+h}}
}


Potentially non-\/threadsafe versions of the functions in \hyperlink{dns_8h}{dns.\+h}\+: provided only for backwards compatibility.  


{\ttfamily \#include $<$event2/event-\/config.\+h$>$}\\*
{\ttfamily \#include $<$event2/util.\+h$>$}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{dns__compat_8h_afce412359a059f87cba10658dbd16b53}{evdns\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Initialize the asynchronous D\+N\+S library. \end{DoxyCompactList}\item 
struct \hyperlink{structevdns__base}{evdns\+\_\+base} $\ast$ \hyperlink{dns__compat_8h_aa742958b366b3acf147487732b275436}{evdns\+\_\+get\+\_\+global\+\_\+base} (void)
\begin{DoxyCompactList}\small\item\em Return the global \hyperlink{structevdns__base}{evdns\+\_\+base} created by \hyperlink{event__compat_8h_a1bf74386dd3725e1538fed2d70c1c113}{event\+\_\+init()} and used by the other deprecated functions. \end{DoxyCompactList}\item 
void \hyperlink{dns__compat_8h_a4dc777ee490a8039c2b990487ae18af8}{evdns\+\_\+shutdown} (int fail\+\_\+requests)
\begin{DoxyCompactList}\small\item\em Shut down the asynchronous D\+N\+S resolver and terminate all active requests. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a0ba5d16d88f50668ef2a9ec8d08dc113}{evdns\+\_\+nameserver\+\_\+add} (unsigned long int address)
\begin{DoxyCompactList}\small\item\em Add a nameserver. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_aefea2452917461e8eae9887069f76a23}{evdns\+\_\+count\+\_\+nameservers} (void)
\begin{DoxyCompactList}\small\item\em Get the number of configured nameservers. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a6131a72d3aa3d311666d7b0d1b51451c}{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend} (void)
\begin{DoxyCompactList}\small\item\em Remove all configured nameservers, and suspend all pending resolves. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a27bf24a40c3d278373490421ed5ccf77}{evdns\+\_\+resume} (void)
\begin{DoxyCompactList}\small\item\em Resume normal operation and continue any suspended resolve requests. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_ab0b1ee113de5daac378625021aae0276}{evdns\+\_\+nameserver\+\_\+ip\+\_\+add} (const char $\ast$ip\+\_\+as\+\_\+string)
\begin{DoxyCompactList}\small\item\em Add a nameserver. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a68e22e497f71fc97e7b85512319867ee}{evdns\+\_\+resolve\+\_\+ipv4} (const char $\ast$name, int flags, \hyperlink{dns_8h_a18a12eac065ff44a30f69c94a6e28c9a}{evdns\+\_\+callback\+\_\+type} callback, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Lookup an A record for a given name. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_ab3f98800b12f4a7e839088c95adc2c3a}{evdns\+\_\+resolve\+\_\+ipv6} (const char $\ast$name, int flags, \hyperlink{dns_8h_a18a12eac065ff44a30f69c94a6e28c9a}{evdns\+\_\+callback\+\_\+type} callback, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Lookup an A\+A\+A\+A record for a given name. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a8b2c2c8984d5596ab12dc6fdc0fb2018}{evdns\+\_\+resolve\+\_\+reverse} (const struct in\+\_\+addr $\ast$in, int flags, \hyperlink{dns_8h_a18a12eac065ff44a30f69c94a6e28c9a}{evdns\+\_\+callback\+\_\+type} callback, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Lookup a P\+T\+R record for a given I\+P address. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6} (const struct \hyperlink{structin6__addr}{in6\+\_\+addr} $\ast$in, int flags, \hyperlink{dns_8h_a18a12eac065ff44a30f69c94a6e28c9a}{evdns\+\_\+callback\+\_\+type} callback, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Lookup a P\+T\+R record for a given I\+Pv6 address. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_aad9d40ceab56f58f546076439a3ee2eb}{evdns\+\_\+set\+\_\+option} (const char $\ast$option, const char $\ast$val, int flags)
\begin{DoxyCompactList}\small\item\em Set the value of a configuration option. \end{DoxyCompactList}\item 
int \hyperlink{dns__compat_8h_a1a04688076484579b5dd1ce07b584d42}{evdns\+\_\+resolv\+\_\+conf\+\_\+parse} (int flags, const char $\ast$const filename)
\begin{DoxyCompactList}\small\item\em Parse a resolv.\+conf file. \end{DoxyCompactList}\item 
void \hyperlink{dns__compat_8h_a61b92557ca2f3de783041b087c04690a}{evdns\+\_\+search\+\_\+clear} (void)
\begin{DoxyCompactList}\small\item\em Clear the list of search domains. \end{DoxyCompactList}\item 
void \hyperlink{dns__compat_8h_ae7a63c39b7eb75bf97555ab265a84858}{evdns\+\_\+search\+\_\+add} (const char $\ast$domain)
\begin{DoxyCompactList}\small\item\em Add a domain to the list of search domains. \end{DoxyCompactList}\item 
void \hyperlink{dns__compat_8h_a06910efcf0ead0173affeb50851e149d}{evdns\+\_\+search\+\_\+ndots\+\_\+set} (const int ndots)
\begin{DoxyCompactList}\small\item\em Set the 'ndots' parameter for searches. \end{DoxyCompactList}\item 
struct \hyperlink{structevdns__server__port}{evdns\+\_\+server\+\_\+port} $\ast$ \hyperlink{dns__compat_8h_aaa1aa021d9a842e02366e36df2ebbb71}{evdns\+\_\+add\+\_\+server\+\_\+port} (\hyperlink{opal_2mca_2event_2libevent2013_2libevent_2include_2event2_2util_8h_a7ef0023565082a65020f6e56be59fd0b}{evutil\+\_\+socket\+\_\+t} socket, int flags, \hyperlink{dns_8h_a4e2f9666b02a06c9b8807d5d6e722787}{evdns\+\_\+request\+\_\+callback\+\_\+fn\+\_\+type} callback, void $\ast$\hyperlink{structuser__data}{user\+\_\+data})
\begin{DoxyCompactList}\small\item\em As evdns\+\_\+server\+\_\+new\+\_\+with\+\_\+base. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Potentially non-\/threadsafe versions of the functions in \hyperlink{dns_8h}{dns.\+h}\+: provided only for backwards compatibility. 



\subsection{Function Documentation}
\hypertarget{dns__compat_8h_aaa1aa021d9a842e02366e36df2ebbb71}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+add\+\_\+server\+\_\+port@{evdns\+\_\+add\+\_\+server\+\_\+port}}
\index{evdns\+\_\+add\+\_\+server\+\_\+port@{evdns\+\_\+add\+\_\+server\+\_\+port}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+add\+\_\+server\+\_\+port}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf evdns\+\_\+server\+\_\+port}$\ast$ evdns\+\_\+add\+\_\+server\+\_\+port (
\begin{DoxyParamCaption}
\item[{{\bf evutil\+\_\+socket\+\_\+t}}]{socket, }
\item[{int}]{flags, }
\item[{{\bf evdns\+\_\+request\+\_\+callback\+\_\+fn\+\_\+type}}]{callback, }
\item[{void $\ast$}]{user\+\_\+data}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_aaa1aa021d9a842e02366e36df2ebbb71}


As evdns\+\_\+server\+\_\+new\+\_\+with\+\_\+base. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000024}{Deprecated}]This function is deprecated because it does not allow the caller to specify which even\+\_\+base it uses. The recommended function is \hyperlink{dns_8h_ae85fd5477f58f798c15a5d31fe4405ec}{evdns\+\_\+add\+\_\+server\+\_\+port\+\_\+with\+\_\+base()}.\end{DoxyRefDesc}


References evdns\+\_\+add\+\_\+server\+\_\+port\+\_\+with\+\_\+base().

\hypertarget{dns__compat_8h_a6131a72d3aa3d311666d7b0d1b51451c}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend@{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend}}
\index{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend@{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a6131a72d3aa3d311666d7b0d1b51451c}


Remove all configured nameservers, and suspend all pending resolves. 

Resolves will not necessarily be re-\/attempted until \hyperlink{dns__compat_8h_a27bf24a40c3d278373490421ed5ccf77}{evdns\+\_\+resume()} is called.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000013}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a6905231913b16b4be9b49739597be64e}{evdns\+\_\+base\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend()}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a27bf24a40c3d278373490421ed5ccf77}{evdns\+\_\+resume()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend().

\hypertarget{dns__compat_8h_aefea2452917461e8eae9887069f76a23}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+count\+\_\+nameservers@{evdns\+\_\+count\+\_\+nameservers}}
\index{evdns\+\_\+count\+\_\+nameservers@{evdns\+\_\+count\+\_\+nameservers}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+count\+\_\+nameservers}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+count\+\_\+nameservers (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_aefea2452917461e8eae9887069f76a23}


Get the number of configured nameservers. 

This returns the number of configured nameservers (not necessarily the number of running nameservers). This is useful for double-\/checking whether our calls to the various nameserver configuration functions have been successful.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000012}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_abf5ce2fb1c199f87d256d8dc929586d4}{evdns\+\_\+base\+\_\+count\+\_\+nameservers()}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
the number of configured nameservers 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a0ba5d16d88f50668ef2a9ec8d08dc113}{evdns\+\_\+nameserver\+\_\+add()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+count\+\_\+nameservers().

\hypertarget{dns__compat_8h_aa742958b366b3acf147487732b275436}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+get\+\_\+global\+\_\+base@{evdns\+\_\+get\+\_\+global\+\_\+base}}
\index{evdns\+\_\+get\+\_\+global\+\_\+base@{evdns\+\_\+get\+\_\+global\+\_\+base}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+get\+\_\+global\+\_\+base}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf evdns\+\_\+base}$\ast$ evdns\+\_\+get\+\_\+global\+\_\+base (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_aa742958b366b3acf147487732b275436}


Return the global \hyperlink{structevdns__base}{evdns\+\_\+base} created by \hyperlink{event__compat_8h_a1bf74386dd3725e1538fed2d70c1c113}{event\+\_\+init()} and used by the other deprecated functions. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000009}{Deprecated}]This function is deprecated because use of the global \hyperlink{structevdns__base}{evdns\+\_\+base} is error-\/prone. \end{DoxyRefDesc}
\hypertarget{dns__compat_8h_afce412359a059f87cba10658dbd16b53}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+init@{evdns\+\_\+init}}
\index{evdns\+\_\+init@{evdns\+\_\+init}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+init}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+init (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_afce412359a059f87cba10658dbd16b53}


Initialize the asynchronous D\+N\+S library. 

This function initializes support for non-\/blocking name resolution by calling \hyperlink{dns__compat_8h_a1a04688076484579b5dd1ce07b584d42}{evdns\+\_\+resolv\+\_\+conf\+\_\+parse()} on U\+N\+I\+X and evdns\+\_\+config\+\_\+windows\+\_\+nameservers() on Windows.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000008}{Deprecated}]This function is deprecated because it always uses the current event base, and is easily confused by multiple calls to \hyperlink{event__compat_8h_a1bf74386dd3725e1538fed2d70c1c113}{event\+\_\+init()}, and so is not safe for multithreaded use. Additionally, it allocates a global structure that only one thread can use. The replacement is \hyperlink{dns_8h_a01e7ab67e97b46dc4962bbc29d0d0604}{evdns\+\_\+base\+\_\+new()}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a4dc777ee490a8039c2b990487ae18af8}{evdns\+\_\+shutdown()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+new().

\hypertarget{dns__compat_8h_a0ba5d16d88f50668ef2a9ec8d08dc113}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+nameserver\+\_\+add@{evdns\+\_\+nameserver\+\_\+add}}
\index{evdns\+\_\+nameserver\+\_\+add@{evdns\+\_\+nameserver\+\_\+add}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+nameserver\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+nameserver\+\_\+add (
\begin{DoxyParamCaption}
\item[{unsigned long int}]{address}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a0ba5d16d88f50668ef2a9ec8d08dc113}


Add a nameserver. 

The address should be an I\+Pv4 address in network byte order. The type of address is chosen so that it matches in\+\_\+addr.\+s\+\_\+addr.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000011}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a187db99dc5996a2b7aa672321d50d5d8}{evdns\+\_\+base\+\_\+nameserver\+\_\+add()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em address} & an I\+P address in network byte order \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_ab0b1ee113de5daac378625021aae0276}{evdns\+\_\+nameserver\+\_\+ip\+\_\+add()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+nameserver\+\_\+add(), and evdns\+\_\+base\+\_\+new().

\hypertarget{dns__compat_8h_ab0b1ee113de5daac378625021aae0276}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+nameserver\+\_\+ip\+\_\+add@{evdns\+\_\+nameserver\+\_\+ip\+\_\+add}}
\index{evdns\+\_\+nameserver\+\_\+ip\+\_\+add@{evdns\+\_\+nameserver\+\_\+ip\+\_\+add}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+nameserver\+\_\+ip\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+nameserver\+\_\+ip\+\_\+add (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip\+\_\+as\+\_\+string}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_ab0b1ee113de5daac378625021aae0276}


Add a nameserver. 

This wraps the \hyperlink{dns__compat_8h_a0ba5d16d88f50668ef2a9ec8d08dc113}{evdns\+\_\+nameserver\+\_\+add()} function by parsing a string as an I\+P address and adds it as a nameserver.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000015}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a5d90b3ed3156d5c1884a651e87e66e17}{evdns\+\_\+base\+\_\+nameserver\+\_\+ip\+\_\+add()}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a0ba5d16d88f50668ef2a9ec8d08dc113}{evdns\+\_\+nameserver\+\_\+add()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+nameserver\+\_\+ip\+\_\+add(), and evdns\+\_\+base\+\_\+new().

\hypertarget{dns__compat_8h_a1a04688076484579b5dd1ce07b584d42}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+resolv\+\_\+conf\+\_\+parse@{evdns\+\_\+resolv\+\_\+conf\+\_\+parse}}
\index{evdns\+\_\+resolv\+\_\+conf\+\_\+parse@{evdns\+\_\+resolv\+\_\+conf\+\_\+parse}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+resolv\+\_\+conf\+\_\+parse}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+resolv\+\_\+conf\+\_\+parse (
\begin{DoxyParamCaption}
\item[{int}]{flags, }
\item[{const char $\ast$const}]{filename}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a1a04688076484579b5dd1ce07b584d42}


Parse a resolv.\+conf file. 

The 'flags' parameter determines what information is parsed from the resolv.\+conf file. See the man page for resolv.\+conf for the format of this file.

The following directives are not parsed from the file\+: sortlist, rotate, no-\/check-\/names, inet6, debug.

If this function encounters an error, the possible return values are\+: 1 = failed to open file, 2 = failed to stat file, 3 = file too large, 4 = out of memory, 5 = short read from file, 6 = no nameservers listed in the file

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000020}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_ad4b52689e65d384c37693b080d9eef21}{evdns\+\_\+base\+\_\+resolv\+\_\+conf\+\_\+parse()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em flags} & any of D\+N\+S\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+N\+A\+M\+E\+S\+E\+R\+V\+E\+R\+S$\vert$\+D\+N\+S\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+S\+E\+A\+R\+C\+H$\vert$\+D\+N\+S\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+M\+I\+S\+C$\vert$ D\+N\+S\+\_\+\+O\+P\+T\+I\+O\+N\+S\+\_\+\+A\+L\+L \\
\hline
{\em filename} & the path to the resolv.\+conf file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or various positive error codes if an error occurred (see above) 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
resolv.\+conf(3), evdns\+\_\+config\+\_\+windows\+\_\+nameservers() 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+new(), and evdns\+\_\+base\+\_\+resolv\+\_\+conf\+\_\+parse().

\hypertarget{dns__compat_8h_a68e22e497f71fc97e7b85512319867ee}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+resolve\+\_\+ipv4@{evdns\+\_\+resolve\+\_\+ipv4}}
\index{evdns\+\_\+resolve\+\_\+ipv4@{evdns\+\_\+resolve\+\_\+ipv4}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+resolve\+\_\+ipv4}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+resolve\+\_\+ipv4 (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name, }
\item[{int}]{flags, }
\item[{{\bf evdns\+\_\+callback\+\_\+type}}]{callback, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a68e22e497f71fc97e7b85512319867ee}


Lookup an A record for a given name. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000016}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_ac646ab50f11433ca375ce0be66be7efa}{evdns\+\_\+base\+\_\+resolve\+\_\+ipv4()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em name} & a D\+N\+S hostname \\
\hline
{\em flags} & either 0, or D\+N\+S\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+N\+O\+\_\+\+S\+E\+A\+R\+C\+H to disable searching for this query. \\
\hline
{\em callback} & a callback function to invoke when the request is completed \\
\hline
{\em ptr} & an argument to pass to the callback function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_ab3f98800b12f4a7e839088c95adc2c3a}{evdns\+\_\+resolve\+\_\+ipv6()}, \hyperlink{dns__compat_8h_a8b2c2c8984d5596ab12dc6fdc0fb2018}{evdns\+\_\+resolve\+\_\+reverse()}, \hyperlink{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+resolve\+\_\+ipv4().

\hypertarget{dns__compat_8h_ab3f98800b12f4a7e839088c95adc2c3a}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+resolve\+\_\+ipv6@{evdns\+\_\+resolve\+\_\+ipv6}}
\index{evdns\+\_\+resolve\+\_\+ipv6@{evdns\+\_\+resolve\+\_\+ipv6}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+resolve\+\_\+ipv6}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+resolve\+\_\+ipv6 (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name, }
\item[{int}]{flags, }
\item[{{\bf evdns\+\_\+callback\+\_\+type}}]{callback, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_ab3f98800b12f4a7e839088c95adc2c3a}


Lookup an A\+A\+A\+A record for a given name. 


\begin{DoxyParams}{Parameters}
{\em name} & a D\+N\+S hostname \\
\hline
{\em flags} & either 0, or D\+N\+S\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+N\+O\+\_\+\+S\+E\+A\+R\+C\+H to disable searching for this query. \\
\hline
{\em callback} & a callback function to invoke when the request is completed \\
\hline
{\em ptr} & an argument to pass to the callback function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a68e22e497f71fc97e7b85512319867ee}{evdns\+\_\+resolve\+\_\+ipv4()}, \hyperlink{dns__compat_8h_a8b2c2c8984d5596ab12dc6fdc0fb2018}{evdns\+\_\+resolve\+\_\+reverse()}, \hyperlink{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+resolve\+\_\+ipv6().

\hypertarget{dns__compat_8h_a8b2c2c8984d5596ab12dc6fdc0fb2018}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+resolve\+\_\+reverse@{evdns\+\_\+resolve\+\_\+reverse}}
\index{evdns\+\_\+resolve\+\_\+reverse@{evdns\+\_\+resolve\+\_\+reverse}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+resolve\+\_\+reverse}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+resolve\+\_\+reverse (
\begin{DoxyParamCaption}
\item[{const struct in\+\_\+addr $\ast$}]{in, }
\item[{int}]{flags, }
\item[{{\bf evdns\+\_\+callback\+\_\+type}}]{callback, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a8b2c2c8984d5596ab12dc6fdc0fb2018}


Lookup a P\+T\+R record for a given I\+P address. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000017}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a5044832b0101814228934cc3fd2a83c8}{evdns\+\_\+base\+\_\+resolve\+\_\+reverse()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em in} & an I\+Pv4 address \\
\hline
{\em flags} & either 0, or D\+N\+S\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+N\+O\+\_\+\+S\+E\+A\+R\+C\+H to disable searching for this query. \\
\hline
{\em callback} & a callback function to invoke when the request is completed \\
\hline
{\em ptr} & an argument to pass to the callback function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+resolve\+\_\+reverse().

\hypertarget{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6@{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6}}
\index{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6@{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6 (
\begin{DoxyParamCaption}
\item[{const struct {\bf in6\+\_\+addr} $\ast$}]{in, }
\item[{int}]{flags, }
\item[{{\bf evdns\+\_\+callback\+\_\+type}}]{callback, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}


Lookup a P\+T\+R record for a given I\+Pv6 address. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000018}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_ac2ae80af5bff5627f59a6ce8ff5eeea8}{evdns\+\_\+base\+\_\+resolve\+\_\+reverse\+\_\+ipv6()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em in} & an I\+Pv6 address \\
\hline
{\em flags} & either 0, or D\+N\+S\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+N\+O\+\_\+\+S\+E\+A\+R\+C\+H to disable searching for this query. \\
\hline
{\em callback} & a callback function to invoke when the request is completed \\
\hline
{\em ptr} & an argument to pass to the callback function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a7f34271326be1fa9d85050e79e979f00}{evdns\+\_\+resolve\+\_\+reverse\+\_\+ipv6()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+resolve\+\_\+reverse\+\_\+ipv6().

\hypertarget{dns__compat_8h_a27bf24a40c3d278373490421ed5ccf77}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+resume@{evdns\+\_\+resume}}
\index{evdns\+\_\+resume@{evdns\+\_\+resume}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+resume}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+resume (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a27bf24a40c3d278373490421ed5ccf77}


Resume normal operation and continue any suspended resolve requests. 

Re-\/attempt resolves left in limbo after an earlier call to \hyperlink{dns__compat_8h_a6131a72d3aa3d311666d7b0d1b51451c}{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend()}.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000014}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a2a70398d61d38e13f559cf135abb8406}{evdns\+\_\+base\+\_\+resume()}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_a6131a72d3aa3d311666d7b0d1b51451c}{evdns\+\_\+clear\+\_\+nameservers\+\_\+and\+\_\+suspend()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+resume().

\hypertarget{dns__compat_8h_ae7a63c39b7eb75bf97555ab265a84858}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+search\+\_\+add@{evdns\+\_\+search\+\_\+add}}
\index{evdns\+\_\+search\+\_\+add@{evdns\+\_\+search\+\_\+add}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+search\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}void evdns\+\_\+search\+\_\+add (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{domain}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_ae7a63c39b7eb75bf97555ab265a84858}


Add a domain to the list of search domains. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000022}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_addf2cfb1c1a237d68409fc1464b26b00}{evdns\+\_\+base\+\_\+search\+\_\+add()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em domain} & the domain to be added to the search list \\
\hline
\end{DoxyParams}


References evdns\+\_\+base\+\_\+search\+\_\+add().

\hypertarget{dns__compat_8h_a61b92557ca2f3de783041b087c04690a}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+search\+\_\+clear@{evdns\+\_\+search\+\_\+clear}}
\index{evdns\+\_\+search\+\_\+clear@{evdns\+\_\+search\+\_\+clear}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+search\+\_\+clear}]{\setlength{\rightskip}{0pt plus 5cm}void evdns\+\_\+search\+\_\+clear (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a61b92557ca2f3de783041b087c04690a}


Clear the list of search domains. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000021}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a0ba91c6fda38169eeed7040c9721ed2b}{evdns\+\_\+base\+\_\+search\+\_\+clear()}. \end{DoxyRefDesc}


References evdns\+\_\+base\+\_\+search\+\_\+clear().

\hypertarget{dns__compat_8h_a06910efcf0ead0173affeb50851e149d}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+search\+\_\+ndots\+\_\+set@{evdns\+\_\+search\+\_\+ndots\+\_\+set}}
\index{evdns\+\_\+search\+\_\+ndots\+\_\+set@{evdns\+\_\+search\+\_\+ndots\+\_\+set}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+search\+\_\+ndots\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void evdns\+\_\+search\+\_\+ndots\+\_\+set (
\begin{DoxyParamCaption}
\item[{const int}]{ndots}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a06910efcf0ead0173affeb50851e149d}


Set the 'ndots' parameter for searches. 

Sets the number of dots which, when found in a name, causes the first query to be without any search domain.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000023}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_aaac85133f8d6288055093c99120bdd82}{evdns\+\_\+base\+\_\+search\+\_\+ndots\+\_\+set()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em ndots} & the new ndots parameter \\
\hline
\end{DoxyParams}


References evdns\+\_\+base\+\_\+search\+\_\+ndots\+\_\+set().

\hypertarget{dns__compat_8h_aad9d40ceab56f58f546076439a3ee2eb}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+set\+\_\+option@{evdns\+\_\+set\+\_\+option}}
\index{evdns\+\_\+set\+\_\+option@{evdns\+\_\+set\+\_\+option}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+set\+\_\+option}]{\setlength{\rightskip}{0pt plus 5cm}int evdns\+\_\+set\+\_\+option (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{option, }
\item[{const char $\ast$}]{val, }
\item[{int}]{flags}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_aad9d40ceab56f58f546076439a3ee2eb}


Set the value of a configuration option. 

The currently available configuration options are\+:

ndots, timeout, max-\/timeouts, max-\/inflight, and attempts

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000019}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is \hyperlink{dns_8h_a3308067aed25c60a2ddeee83e5dd84d9}{evdns\+\_\+base\+\_\+set\+\_\+option()}.\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em option} & the name of the configuration option to be modified \\
\hline
{\em val} & the value to be set \\
\hline
{\em flags} & Ignored. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if successful, or -\/1 if an error occurred 
\end{DoxyReturn}


References evdns\+\_\+base\+\_\+new(), and evdns\+\_\+base\+\_\+set\+\_\+option().

\hypertarget{dns__compat_8h_a4dc777ee490a8039c2b990487ae18af8}{\index{dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}!evdns\+\_\+shutdown@{evdns\+\_\+shutdown}}
\index{evdns\+\_\+shutdown@{evdns\+\_\+shutdown}!dns\+\_\+compat.\+h@{dns\+\_\+compat.\+h}}
\subsubsection[{evdns\+\_\+shutdown}]{\setlength{\rightskip}{0pt plus 5cm}void evdns\+\_\+shutdown (
\begin{DoxyParamCaption}
\item[{int}]{fail\+\_\+requests}
\end{DoxyParamCaption}
)}}\label{dns__compat_8h_a4dc777ee490a8039c2b990487ae18af8}


Shut down the asynchronous D\+N\+S resolver and terminate all active requests. 

If the 'fail\+\_\+requests' option is enabled, all active requests will return an empty result with the error flag set to D\+N\+S\+\_\+\+E\+R\+R\+\_\+\+S\+H\+U\+T\+D\+O\+W\+N. Otherwise, the requests will be silently discarded.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000010}{Deprecated}]This function is deprecated because it does not allow the caller to specify which \hyperlink{structevdns__base}{evdns\+\_\+base} it applies to. The recommended function is evdns\+\_\+base\+\_\+shutdown().\end{DoxyRefDesc}



\begin{DoxyParams}{Parameters}
{\em fail\+\_\+requests} & if zero, active requests will be aborted; if non-\/zero, active requests will return D\+N\+S\+\_\+\+E\+R\+R\+\_\+\+S\+H\+U\+T\+D\+O\+W\+N. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{dns__compat_8h_afce412359a059f87cba10658dbd16b53}{evdns\+\_\+init()} 
\end{DoxySeeAlso}


References evdns\+\_\+base\+\_\+free().

