Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ARES_PROCESS(3)		   Library Functions Manual	       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 with a timeout no	greater	than the timeout given	by  ares_time-
       out(3) ).

       The  ares_process function will invoke callbacks	for pending 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 of course provided to
       allow users of c-ares to	void select() 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);
		}

SEE ALSO
       ares_fds(3), ares_timeout(3)

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

				 25 July 1998		       ARES_PROCESS(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ares_process&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help