                                 libasyncns 0.8

   Copyright 2005-2009 Lennart Poettering <mznflapaf (at) 0pointer (dot)
   de>
     * [1]License
     * [2]News
     * [3]Overview
     * [4]Current Status
     * [5]Documentation
     * [6]Requirements
     * [7]Installation
     * [8]Acknowledgements
     * [9]Download

License

   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published
   by the Free Software Foundation, either version 2.1 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
   General Public License for more details.

News

   Thu 15 Oct 2009:

   [10]Version 0.8 released; changes include: various smaller fixes.

   Tue 28 Oct 2008:

   [11]Version 0.7 released; changes include: rework thread shutdown
   logic.

   Fri 24 Oct 2008:

   [12]Version 0.6 released; changes include: save and restore h_errno in
   addition to errno; drop usage of pthread's cancelling since it is
   problematic on some platforms.

   Sun 17 Aug 2008:

   [13]Version 0.5 released; changes include: fix getaddrinfo()
   serialization.

   Sun 27 Jul 2008:

   [14]Version 0.4 released; changes include: rework error handling logic,
   add asyncns_freeanswer(), a lot of fixes

   Wed 23 May 2007:

   [15]Version 0.3 released; changes include: build fixes: properly detect
   res_query() on Linux/AMD64, support older autoconf versions

   Fri 16 Feb 2007:

   [16]Version 0.2 released; changes include: res_query() support; minor
   bug fixes; doc updates

   Sat 8 Jan 2005:

   [17]Version 0.1 released

Overview

   libasyncns is a C library for Linux/Unix for executing name service
   queries asynchronously. It is an asynchronous wrapper around
   getaddrinfo(3), getnameinfo(3), res_query(3) and res_search(3) from
   libc and libresolv.

   In contrast to GNU's asynchronous name resolving API getaddrinfo_a(),
   libasyncns does not make use of UNIX signals for reporting completion
   of name queries. Instead, the API exports a standard UNIX file
   descriptor which may be integerated cleanly into custom main loops.

   In contrast to asynchronous DNS resolving libraries like [18]libdenise,
   [19]skadns, [20]adns, libasyncns is just an asynchronous wrapper around
   the libc's synchronous getaddrinfo() API, which has the advantage of
   allowing name resolution using techniques like [21]Multicast DNS, LDAP
   or NIS using standard libc NSS (Name Service Switch) modules.
   libasyncns is compatible with IPv6 if the underlying libc is.

   libasyncns is very tiny, consisting of just one header and one source
   file. It has no dependencies besides libc.

   By default libasyncns spawns a number of worker threads (LWPs) to
   process name queries. Alternatively or when POSIX Threads are not
   supported, libasyncns can fork() off worker processes instead.

Current Status

   Version 0.8 is quite stable and feature complete.

   Damien Thébault has written a Python module [22]libasyncns-python that
   wraps the libasyncns C API.

Documentation

   You may browse the [23]Doxygen generated [24]programing documentation
   the API. (Run make doxygen to generate this documentation from the
   source tree)

Requirements

   Currently, libasyncns is tested on Linux and Solaris
   (sparc-sun-solaris2.8) only.

   libasyncns was developed and tested on Debian GNU/Linux "testing" from
   January 2005, it should work on most other Linux distributions (and
   maybe Unix versions) since it uses GNU autoconf and GNU libtool for
   source code configuration and shared library management.

   libasyncns has no dependencies besides a libc that supports
   getaddrinfo() and res_query().

Installation

   As this package is made with the GNU autotools you should run
   ./configure inside the distribution directory for configuring the
   source tree. After that you should run make for compilation and make
   install (as root) for installation of libasyncns.

Acknowledgements

   Sjoerd Simons for the res_query() support.

Download

   The newest release is always available from
   [25]http://0pointer.de/lennart/projects/libasyncns/

   The current release is [26]0.8

   Get libasyncns's development sources from the [27]GIT [28]repository
   ([29]gitweb):
git clone git://git.0pointer.de/libasyncns

   You may find an up to date Debian package of libasyncns on the
   [30]Debian package repository.

   If you want to be notified whenever I release a new version of this
   software use the subscription feature of [31]Freshmeat.
     __________________________________________________________________


    Lennart Poettering <mznflapaf (at) 0pointer (dot) de>, October 2009

References

   1. README#license
   2. README#news
   3. README#overview
   4. README#status
   5. README#documentation
   6. README#requirements
   7. README#installation
   8. README#acks
   9. README#download
  10. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.8.tar.gz
  11. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.7.tar.gz
  12. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.6.tar.gz
  13. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.5.tar.gz
  14. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.4.tar.gz
  15. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.3.tar.gz
  16. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.2.tar.gz
  17. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.1.tar.gz
  18. http://libdenise.sourceforge.net/
  19. http://www.skarnet.org/software/skadns/
  20. http://www.chiark.greenend.org.uk/~ian/adns/
  21. http://0pointer.de/lennart/projects/nss-mdns/
  22. https://launchpad.net/libasyncns-python
  23. http://www.doxygen.org/
  24. http://0pointer.de/lennart/projects/libasyncns/doxygen/
  25. http://0pointer.de/lennart/projects/libasyncns/
  26. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.8.tar.gz
  27. http://git.or.cz/
  28. git://git.0pointer.de/libasyncns
  29. http://git.0pointer.de/?p=libasyncns.git
  30. http://packages.debian.org/libasyncns0
  31. http://freshmeat.net/projects/libasyncns/
