Poslib consists of two parts: a client part,
libposlib, and a server part,
libposserver. The client library offers functionality for resolving (see pos_cliresolver), domain-name manupulation (the domainname class), and DNS message creation (the DnsMessage class). Also, it provices a system-independent abstaction layer for socket functionality (socket.h). The functions of the client library can be accessed by #including <poslib/poslib.h>.
The server library, based on the client core, can be used to develop Domain Name System servers. By implementing a query entry-point function using the Poslib library of functions, you can easily create DNS servers, without worrying about low-level details such as DNS message compilation, domain-name compression and UDP/TCP transmission. It also contains a generic logging mechanism, as well as a threading system based on pthreads. The poslib server functionality is in <poslib/server/server.h>.