mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-08 11:52:55 -04:00
24 lines
1.2 KiB
Plaintext
24 lines
1.2 KiB
Plaintext
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 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.
|
|
|
|
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.
|