DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

ares_process(3)




ARES_PROCESS(3)        C LIBRARY FUNCTIONS        ARES_PROCESS(3)


NAME

     ares_process - Process events for name resolution


SYNOPSIS

     #include <ares.h>

     void ares_process(ares_channel channel,
                       fd_set *read_fds,
                       fd_set *write_fds)

     void ares_process_fd(ares_channel channel,
                          ares_socket_t read_fd,
                          ares_socket_t write_fd)


DESCRIPTION

     The ares_process(3) function handles input/output events and
     timeouts associated with queries pending on the name service
     channel identified by channel.   The  file  descriptor  sets
     pointed  to  by  read_fds  and  write_fds  should  have file
     descriptors set  in  them  according  to  whether  the  file
     descriptors  specified  by ares_fds(3) are ready for reading
     and writing.  (The easiest way to determine this information
     is  to  invoke  select(3) with a timeout no greater than the
     timeout given by ares_timeout(3)).

     The ares_process(3) function will invoke callbacks for pend-
     ing queries if they complete successfully or fail.

     ares_process_fd(3) works the same way but acts and  operates
     only  on the specific file descriptors (sockets) you pass in
     to the function. Use ARES_SOCKET_BAD for "no  action".  This
     function  is  provided  to  allow  users  of  c-ares to void
     select(3) in their applications and within c-ares.


EXAMPLE

     The following code fragment waits for all pending queries on
     a channel to complete:

     int nfds, count;
     fd_set readers, writers;
     struct timeval tv, *tvp;

     while (1) {
       FD_ZERO(&readers);
       FD_ZERO(&writers);
       nfds = ares_fds(channel, &readers, &writers);
       if (nfds == 0)
         break;
       tvp = ares_timeout(channel, NULL, &tv);
       count = select(nfds, &readers, &writers, NULL, tvp);
       ares_process(channel, &readers, &writers);
     }

                    Last change: 25 July 1998                   1

ARES_PROCESS(3)        C LIBRARY FUNCTIONS        ARES_PROCESS(3)


SEE ALSO

     ares_fds(3), ares_timeout(3)


AUTHOR

     Greg Hudson, MIT Information Systems
     Copyright 1998 by the Massachusetts Institute of Technology.

                    Last change: 25 July 1998                   2


Man(1) output converted with man2html