To use libasyncns allocate an asyncns_t object with asyncns_new(). This will spawn a number of worker threads (or processes, depending on what is available) which are subsequently used to process the queries the controlling program issues via asyncns_getaddrinfo() and asyncns_getnameinfo(). Use asyncns_free() to shut down the worker threads/processes.
Since libasyncns may fork off new processes you have to make sure that your program is not irritated by spurious SIGCHLD signals.