summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPatrick McCarty <patrick.mccarty@linux.intel.com>2013-02-07 13:13:52 -0800
committerPatrick McCarty <patrick.mccarty@linux.intel.com>2013-02-07 13:13:52 -0800
commit218d368fde033409a605095676e2629add9e8b24 (patch)
tree0c7e4a1591eef31ecab6c7cf9ad710a96d83b96b /doc
downloadlibasyncns-218d368fde033409a605095676e2629add9e8b24.tar.gz
libasyncns-218d368fde033409a605095676e2629add9e8b24.tar.bz2
libasyncns-218d368fde033409a605095676e2629add9e8b24.zip
Imported Upstream version 0.8upstream/0.8upstream
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am36
-rw-r--r--doc/Makefile.in473
-rw-r--r--doc/README184
-rw-r--r--doc/README.html165
-rw-r--r--doc/README.html.in165
-rw-r--r--doc/style.css25
6 files changed, 1048 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..d850412
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,36 @@
+# This file is part of libasyncns.
+#
+# Copyright 2005-2008 Lennart Poettering
+#
+# libasyncns 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.
+#
+# libasyncns 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with libasyncns. If not, see
+# <http://www.gnu.org/licenses/>.
+
+dist_html_DATA = README.html style.css
+dist_doc_DATA = README
+EXTRA_DIST = README.html.in
+
+MAINTAINERCLEANFILES = README.html
+CLEANFILES =
+
+if USE_LYNX
+README: README.html
+ lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
+
+CLEANFILES += README
+endif
+
+tidy: README.html
+ tidy -qe < README.html ; true
+
+.PHONY: tidy
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000..43aebd4
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,473 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# This file is part of libasyncns.
+#
+# Copyright 2005-2008 Lennart Poettering
+#
+# libasyncns 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.
+#
+# libasyncns 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with libasyncns. If not, see
+# <http://www.gnu.org/licenses/>.
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@USE_LYNX_TRUE@am__append_1 = README
+subdir = doc
+DIST_COMMON = README $(dist_doc_DATA) $(dist_html_DATA) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/README.html.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
+ $(top_srcdir)/m4/attributes.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/search_function.m4 \
+ $(top_srcdir)/m4/zp_lynx_doc.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = README.html
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldir)"
+DATA = $(dist_doc_DATA) $(dist_html_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_NOUNDEFINED = @LDFLAGS_NOUNDEFINED@
+LIBASYNCNS_VERSION_INFO = @LIBASYNCNS_VERSION_INFO@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+acx_pthread_config = @acx_pthread_config@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+have_lynx = @have_lynx@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_html_DATA = README.html style.css
+dist_doc_DATA = README
+EXTRA_DIST = README.html.in
+MAINTAINERCLEANFILES = README.html
+CLEANFILES = $(am__append_1)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+README.html: $(top_builddir)/config.status $(srcdir)/README.html.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_docDATA: $(dist_doc_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
+ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
+ done
+
+uninstall-dist_docDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(docdir)" && rm -f $$files
+install-dist_htmlDATA: $(dist_html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(dist_html_DATA)'; test -n "$(htmldir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+ done
+
+uninstall-dist_htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_html_DATA)'; test -n "$(htmldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(htmldir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(htmldir)" && rm -f $$files
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_docDATA install-dist_htmlDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_docDATA uninstall-dist_htmlDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dist_docDATA \
+ install-dist_htmlDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_docDATA uninstall-dist_htmlDATA
+
+
+@USE_LYNX_TRUE@README: README.html
+@USE_LYNX_TRUE@ lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
+
+tidy: README.html
+ tidy -qe < README.html ; true
+
+.PHONY: tidy
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/README b/doc/README
new file mode 100644
index 0000000..36b5b08
--- /dev/null
+++ b/doc/README
@@ -0,0 +1,184 @@
+ 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/
diff --git a/doc/README.html b/doc/README.html
new file mode 100644
index 0000000..46c71eb
--- /dev/null
+++ b/doc/README.html
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>libasyncns 0.8</title>
+<link rel="stylesheet" type="text/css" href="style.css" />
+</head>
+
+<body>
+<h1><a name="top">libasyncns 0.8</a></h1>
+
+<p><i>Copyright 2005-2009 Lennart Poettering &lt;mznflapaf (at) 0pointer (dot) de&gt;</i></p>
+
+<ul class="toc">
+ <li><a href="#license">License</a></li>
+ <li><a href="#news">News</a></li>
+ <li><a href="#overview">Overview</a></li>
+ <li><a href="#status">Current Status</a></li>
+ <li><a href="#documentation">Documentation</a></li>
+ <li><a href="#requirements">Requirements</a></li>
+ <li><a href="#installation">Installation</a></li>
+ <li><a href="#acks">Acknowledgements</a></li>
+ <li><a href="#download">Download</a></li>
+</ul>
+
+<h2><a name="license">License</a></h2>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<h2><a name="news">News</a></h2>
+
+<div class="news-date">Thu 15 Oct
+2009: </div> <p class="news-text"><a href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.8.tar.gz">Version
+0.8</a> released; changes include: various smaller fixes.</p>
+
+<div class="news-date">Tue 28 Oct
+2008: </div> <p class="news-text"><a href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.7.tar.gz">Version
+0.7</a> released; changes include: rework thread shutdown logic.</p>
+
+<div class="news-date">Fri 24 Oct
+2008: </div> <p class="news-text"><a href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.6.tar.gz">Version
+0.6</a> released; changes include: save and restore <tt>h_errno</tt>
+in addition to <tt>errno</tt>; drop usage of pthread's cancelling
+since it is problematic on some platforms.</p>
+
+<div class="news-date">Sun 17 Aug
+2008: </div> <p class="news-text"><a href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.5.tar.gz">Version
+0.5</a> released; changes include: fix getaddrinfo() serialization.</p>
+
+<div class="news-date">Sun 27 Jul
+2008: </div> <p class="news-text"><a href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.4.tar.gz">Version
+0.4</a> released; changes include: rework error handling logic,
+add <tt>asyncns_freeanswer()</tt>, a lot of fixes</p>
+
+<div class="news-date">Wed 23 May 2007: </div> <p class="news-text"><a
+href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.3.tar.gz">Version 0.3</a> released;
+changes include: build fixes: properly detect <tt>res_query()</tt> on
+Linux/AMD64, support older autoconf versions</p>
+
+<div class="news-date">Fri 16 Feb 2007: </div> <p class="news-text"><a
+href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.2.tar.gz">Version 0.2</a> released;
+changes include: <tt>res_query()</tt> support; minor bug fixes; doc updates</p>
+
+<div class="news-date">Sat 8 Jan 2005: </div> <p class="news-text"><a
+href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.1.tar.gz">Version 0.1</a> released</p>
+
+<h2><a name="overview">Overview</a></h2>
+
+<p><tt>libasyncns</tt> is a C library for Linux/Unix for executing name
+service queries asynchronously. It is an asynchronous wrapper around
+<tt>getaddrinfo(3)</tt>, <tt>getnameinfo(3)</tt>, <tt>res_query(3)</tt> and
+<tt>res_search(3)</tt> from <tt>libc</tt> and <tt>libresolv</tt>.</p>
+
+<p>In contrast to GNU's asynchronous name resolving API
+<tt>getaddrinfo_a()</tt>, <tt>libasyncns</tt> 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.</p>
+
+<p>In contrast to asynchronous DNS resolving libraries like <tt><a
+href="http://libdenise.sourceforge.net/">libdenise</a></tt>, <tt><a
+href="http://www.skarnet.org/software/skadns/">skadns</a></tt>, <tt><a
+href="http://www.chiark.greenend.org.uk/~ian/adns/">adns</a></tt>,
+<tt>libasyncns</tt> is just an asynchronous wrapper around the libc's
+synchronous <tt>getaddrinfo()</tt> API, which has the advantage of
+allowing name resolution using techniques like <a
+href="http://0pointer.de/lennart/projects/nss-mdns/">Multicast
+DNS</a>, LDAP or NIS using standard <tt>libc</tt> NSS (Name Service
+Switch) modules. <tt>libasyncns</tt> is compatible with IPv6 if the
+underlying <tt>libc</tt> is.</p>
+
+<p><tt>libasyncns</tt> is very tiny, consisting of just one header and
+one source file. It has no dependencies besides <tt>libc</tt>.</p>
+
+<p>By default <tt>libasyncns</tt> spawns a number of worker threads
+(LWPs) to process name queries. Alternatively or when POSIX Threads
+are not supported, <tt>libasyncns</tt> can <tt>fork()</tt> off worker
+processes instead.</p>
+
+<h2><a name="status">Current Status</a></h2>
+
+<p>Version 0.8 is quite stable and feature complete.</p>
+
+<p>Damien Th&#233;bault has written a Python module <a href="https://launchpad.net/libasyncns-python">libasyncns-python</a> that wraps the libasyncns C API.</p>
+
+<h2><a name="documentation">Documentation</a></h2>
+
+<p>You may browse the <a href="http://www.doxygen.org/">Doxygen</a>
+generated <a
+href="http://0pointer.de/lennart/projects/libasyncns/doxygen/">programing
+documentation</a> the API. (Run <tt>make doxygen</tt> to generate this
+documentation from the source tree)</p>
+
+<h2><a name="requirements">Requirements</a></h2>
+
+<p>Currently, <tt>libasyncns</tt> is tested on Linux and Solaris (<tt>sparc-sun-solaris2.8</tt>) only.</p>
+
+<p><tt>libasyncns</tt> 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.</p>
+
+<p><tt>libasyncns</tt> has no dependencies besides a <tt>libc</tt> that supports <tt>getaddrinfo()</tt> and <tt>res_query()</tt>.</p>
+
+<h2><a name="installation">Installation</a></h2>
+
+<p>As this package is made with the GNU autotools you should run
+<tt>./configure</tt> inside the distribution directory for configuring
+the source tree. After that you should run <tt>make</tt> for
+compilation and <tt>make install</tt> (as root) for installation of
+<tt>libasyncns</tt>.</p>
+
+<h2><a name="acks">Acknowledgements</a></h2>
+
+<p>Sjoerd Simons for the <tt>res_query()</tt> support.</p>
+
+<h2><a name="download">Download</a></h2>
+
+<p>The newest release is always available from <a href="http://0pointer.de/lennart/projects/libasyncns/">http://0pointer.de/lennart/projects/libasyncns/</a></p>
+
+<p>The current release is <a href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.8.tar.gz">0.8</a></p>
+
+<p>Get <tt>libasyncns</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/libasyncns">repository</a> (<a href="http://git.0pointer.de/?p=libasyncns.git">gitweb</a>): </p>
+
+<pre>git clone git://git.0pointer.de/libasyncns</pre>
+
+<p>You may find an up to date Debian package of <tt>libasyncns</tt> on the <a href="http://packages.debian.org/libasyncns0">Debian package repository</a>.</p>
+
+<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/libasyncns/">Freshmeat</a>.</p>
+
+<hr/>
+<address class="grey">Lennart Poettering &lt;mznflapaf (at) 0pointer (dot) de&gt;, October 2009</address>
+
+</body>
+</html>
diff --git a/doc/README.html.in b/doc/README.html.in
new file mode 100644
index 0000000..2ce7bb2
--- /dev/null
+++ b/doc/README.html.in
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>libasyncns @PACKAGE_VERSION@</title>
+<link rel="stylesheet" type="text/css" href="style.css" />
+</head>
+
+<body>
+<h1><a name="top">libasyncns @PACKAGE_VERSION@</a></h1>
+
+<p><i>Copyright 2005-2009 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</i></p>
+
+<ul class="toc">
+ <li><a href="#license">License</a></li>
+ <li><a href="#news">News</a></li>
+ <li><a href="#overview">Overview</a></li>
+ <li><a href="#status">Current Status</a></li>
+ <li><a href="#documentation">Documentation</a></li>
+ <li><a href="#requirements">Requirements</a></li>
+ <li><a href="#installation">Installation</a></li>
+ <li><a href="#acks">Acknowledgements</a></li>
+ <li><a href="#download">Download</a></li>
+</ul>
+
+<h2><a name="license">License</a></h2>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<h2><a name="news">News</a></h2>
+
+<div class="news-date">Thu 15 Oct
+2009: </div> <p class="news-text"><a href="@PACKAGE_URL@libasyncns-0.8.tar.gz">Version
+0.8</a> released; changes include: various smaller fixes.</p>
+
+<div class="news-date">Tue 28 Oct
+2008: </div> <p class="news-text"><a href="@PACKAGE_URL@libasyncns-0.7.tar.gz">Version
+0.7</a> released; changes include: rework thread shutdown logic.</p>
+
+<div class="news-date">Fri 24 Oct
+2008: </div> <p class="news-text"><a href="@PACKAGE_URL@libasyncns-0.6.tar.gz">Version
+0.6</a> released; changes include: save and restore <tt>h_errno</tt>
+in addition to <tt>errno</tt>; drop usage of pthread's cancelling
+since it is problematic on some platforms.</p>
+
+<div class="news-date">Sun 17 Aug
+2008: </div> <p class="news-text"><a href="@PACKAGE_URL@libasyncns-0.5.tar.gz">Version
+0.5</a> released; changes include: fix getaddrinfo() serialization.</p>
+
+<div class="news-date">Sun 27 Jul
+2008: </div> <p class="news-text"><a href="@PACKAGE_URL@libasyncns-0.4.tar.gz">Version
+0.4</a> released; changes include: rework error handling logic,
+add <tt>asyncns_freeanswer()</tt>, a lot of fixes</p>
+
+<div class="news-date">Wed 23 May 2007: </div> <p class="news-text"><a
+href="@PACKAGE_URL@libasyncns-0.3.tar.gz">Version 0.3</a> released;
+changes include: build fixes: properly detect <tt>res_query()</tt> on
+Linux/AMD64, support older autoconf versions</p>
+
+<div class="news-date">Fri 16 Feb 2007: </div> <p class="news-text"><a
+href="@PACKAGE_URL@libasyncns-0.2.tar.gz">Version 0.2</a> released;
+changes include: <tt>res_query()</tt> support; minor bug fixes; doc updates</p>
+
+<div class="news-date">Sat 8 Jan 2005: </div> <p class="news-text"><a
+href="@PACKAGE_URL@libasyncns-0.1.tar.gz">Version 0.1</a> released</p>
+
+<h2><a name="overview">Overview</a></h2>
+
+<p><tt>libasyncns</tt> is a C library for Linux/Unix for executing name
+service queries asynchronously. It is an asynchronous wrapper around
+<tt>getaddrinfo(3)</tt>, <tt>getnameinfo(3)</tt>, <tt>res_query(3)</tt> and
+<tt>res_search(3)</tt> from <tt>libc</tt> and <tt>libresolv</tt>.</p>
+
+<p>In contrast to GNU's asynchronous name resolving API
+<tt>getaddrinfo_a()</tt>, <tt>libasyncns</tt> 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.</p>
+
+<p>In contrast to asynchronous DNS resolving libraries like <tt><a
+href="http://libdenise.sourceforge.net/">libdenise</a></tt>, <tt><a
+href="http://www.skarnet.org/software/skadns/">skadns</a></tt>, <tt><a
+href="http://www.chiark.greenend.org.uk/~ian/adns/">adns</a></tt>,
+<tt>libasyncns</tt> is just an asynchronous wrapper around the libc's
+synchronous <tt>getaddrinfo()</tt> API, which has the advantage of
+allowing name resolution using techniques like <a
+href="http://0pointer.de/lennart/projects/nss-mdns/">Multicast
+DNS</a>, LDAP or NIS using standard <tt>libc</tt> NSS (Name Service
+Switch) modules. <tt>libasyncns</tt> is compatible with IPv6 if the
+underlying <tt>libc</tt> is.</p>
+
+<p><tt>libasyncns</tt> is very tiny, consisting of just one header and
+one source file. It has no dependencies besides <tt>libc</tt>.</p>
+
+<p>By default <tt>libasyncns</tt> spawns a number of worker threads
+(LWPs) to process name queries. Alternatively or when POSIX Threads
+are not supported, <tt>libasyncns</tt> can <tt>fork()</tt> off worker
+processes instead.</p>
+
+<h2><a name="status">Current Status</a></h2>
+
+<p>Version @PACKAGE_VERSION@ is quite stable and feature complete.</p>
+
+<p>Damien Th&#233;bault has written a Python module <a href="https://launchpad.net/libasyncns-python">libasyncns-python</a> that wraps the libasyncns C API.</p>
+
+<h2><a name="documentation">Documentation</a></h2>
+
+<p>You may browse the <a href="http://www.doxygen.org/">Doxygen</a>
+generated <a
+href="http://0pointer.de/lennart/projects/libasyncns/doxygen/">programing
+documentation</a> the API. (Run <tt>make doxygen</tt> to generate this
+documentation from the source tree)</p>
+
+<h2><a name="requirements">Requirements</a></h2>
+
+<p>Currently, <tt>libasyncns</tt> is tested on Linux and Solaris (<tt>sparc-sun-solaris2.8</tt>) only.</p>
+
+<p><tt>libasyncns</tt> 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.</p>
+
+<p><tt>libasyncns</tt> has no dependencies besides a <tt>libc</tt> that supports <tt>getaddrinfo()</tt> and <tt>res_query()</tt>.</p>
+
+<h2><a name="installation">Installation</a></h2>
+
+<p>As this package is made with the GNU autotools you should run
+<tt>./configure</tt> inside the distribution directory for configuring
+the source tree. After that you should run <tt>make</tt> for
+compilation and <tt>make install</tt> (as root) for installation of
+<tt>libasyncns</tt>.</p>
+
+<h2><a name="acks">Acknowledgements</a></h2>
+
+<p>Sjoerd Simons for the <tt>res_query()</tt> support.</p>
+
+<h2><a name="download">Download</a></h2>
+
+<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p>
+
+<p>The current release is <a href="@PACKAGE_URL@libasyncns-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p>
+
+<p>Get <tt>libasyncns</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/libasyncns">repository</a> (<a href="http://git.0pointer.de/?p=libasyncns.git">gitweb</a>): </p>
+
+<pre>git clone git://git.0pointer.de/libasyncns</pre>
+
+<p>You may find an up to date Debian package of <tt>libasyncns</tt> on the <a href="http://packages.debian.org/libasyncns0">Debian package repository</a>.</p>
+
+<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/libasyncns/">Freshmeat</a>.</p>
+
+<hr/>
+<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, October 2009</address>
+
+</body>
+</html>
diff --git a/doc/style.css b/doc/style.css
new file mode 100644
index 0000000..319d59c
--- /dev/null
+++ b/doc/style.css
@@ -0,0 +1,25 @@
+/***
+ This file is part of libasyncns.
+
+ Copyright 2005-2008 Lennart Poettering
+
+ libasyncns 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.
+
+ libasyncns 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.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with libasyncns. If not, see
+ <http://www.gnu.org/licenses/>.
+***/
+
+body { color: black; background-color: white; }
+a:link, a:visited { color: #900000; }
+div.news-date { font-size: 80%; font-style: italic; }
+pre { background-color: #f0f0f0; padding: 0.4cm; }
+.grey { color: #8f8f8f; font-size: 80%; }