.\" .\" Copyright 1998 by the Massachusetts Institute of Technology. .\" SPDX-License-Identifier: MIT .\" .TH ARES_PROCESS 3 "25 July 1998" .SH NAME ares_process_fd, ares_process \- Process events for name resolution .SH SYNOPSIS .nf #include void ares_process_fd(ares_channel_t *\fIchannel\fP, ares_socket_t \fIread_fd\fP, ares_socket_t \fIwrite_fd\fP) void ares_process(ares_channel_t *\fIchannel\fP, fd_set *\fIread_fds\fP, fd_set *\fIwrite_fds\fP) .fi .SH DESCRIPTION The \fBares_process_fd(3)\fP function handles input/output events and timeouts associated with queries pending on the name service channel identified by \fIchannel\fP. The file descriptor passed in \fIread_fd\fP and \fIwrite_fd\fP indicate if the file descriptor has been notified of a read event or write event, respectively. If a notification has not occurred, use \fIARES_SOCKET_BAD\fP. This function is typically used with the \fIARES_OPT_SOCK_STATE_CB\fP option. \fBares_timeout(3)\fP should be used to retrieve the desired timeout, and when the timeout expires, the integrator must call \fBares_process_fd(3)\fP with both sockets set to \fIARES_SOCKET_BAD\fP. There is no need to do this if events are also delivered for any file descriptors as timeout processing will automatically be handled by any call to \fBares_process_fd(3)\fP. The \fBares_process(3)\fP function works in the same manner, except it works on \fIfd_sets\fP as is used by \fBselect(3)\fP and retrieved by \fBares_fds(3)\fP. This method is deprecated and should not be used in modern applications due to known limitations to the \fBselect(3)\fP implementation. .SH SEE ALSO .BR ares_fds (3), .BR ares_timeout (3), .BR ares_init_options (3) with \fIARES_OPT_EVENT_THREAD\fP or \fIARES_OPT_SOCK_STATE_CB\fP