diff options
author | Daniel Stenberg <daniel@haxx.se> | 2003-10-07 21:54:04 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2003-10-07 21:54:04 +0000 |
commit | 5e847a14bd65383ce65f143c578e120899981fd9 (patch) | |
tree | 0072e647fe22e05aee94cf4e4bf101209e30626c /README | |
download | c-ares-5e847a14bd65383ce65f143c578e120899981fd9.tar.gz c-ares-5e847a14bd65383ce65f143c578e120899981fd9.tar.bz2 c-ares-5e847a14bd65383ce65f143c578e120899981fd9.zip |
ares 1.1.1 with collected applied patches
Diffstat (limited to 'README')
-rw-r--r-- | README | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +This is ares, an asynchronous resolver library. It is intended for +applications which need to perform DNS queries without blocking, or +need to perform multiple DNS queries in parallel. The primary +examples of such applications are servers which communicate with +multiple clients and programs with graphical user interfaces. + +This library implementation is not especially portable to crufty old +systems like SunOS 4. It assumes a compiler which can handle ANSI C +syntax, a system malloc which properly handles realloc(NULL, foo) and +free(NULL), and a reasonably up-to-date <arpa/nameser.h>. + +I have attempted to preserve the externally visible behavior of the +BIND resolver in nearly all respects. The API of the library is, of +course, very different from the synchronous BIND API; instead of +invoking a function like res_send() and getting a return value back +indicating the number of bytes in the response, you invoke a function +like ares_send() and give it a callback function to invoke when the +response arrives. You then have to select() on the file descriptors +indicated by ares_fds(), with a timeout given by ares_timeout(). You +call ares_process() when select() returns. + +Some features are missing from the current version of ares, relative +to the BIND resolver: + + * There is no IPV6 support. + * There is no hostname verification. + * There is no logging of unexpected events. + * There is no debugging-oriented logging. + * There is no YP support. + +libares requires an ANSI compiler to compile and use. To build the +library, just run "./configure" and "make". To install it, run "make +install". Run "./configure --help" to see a list of options you can +provide to configure to change how the library builds. libares has no +data files, so you can move the include file and library around freely +without leaving behind any dependencies on old paths. Building the +library will also build the "adig" program, a little toy for trying +out the library. It doesn't get installed. + +libares is distributed at athena-dist.mit.edu:pub/ATHENA/ares. Please +send bug reports and comments to ghudson@mit.edu. |