BSD Ports

net/libasyncns 0.8 NetBSD

C library for executing name service queries asynchronously

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
License
gnu-lgpl-v2.1
Categories
net
Package size
19.2 KiB, 77.1 KiB installed

Description

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.

Install

Binary package:

pkgin install libasyncns

From pkgsrc:

cd /usr/pkgsrc/net/libasyncns && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_640.8
NetBSD 10.1 aarch640.8
SmartOS / illumos x86_640.8
macOS 15 arm64-

Dependencies

No port depends on this one.