May 26, 2018

C library for executing DNS queries asynchronously (Linux CentOS ${LINUX_DIST_VER})

libasyncns is a C library for Linux/Unix for executing name service queries asynchronously. It is an asynchronous wrapper around getaddrinfo3, getnameinfo3, res_query3 and res_search3 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 libdenise, skadns, 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 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.

WWW http//