/
githubmirror
/
c-ares
Обзор
Документация
Войти
/
githubmirror
/
c-ares
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
docs/ares_getsock.3
53 строки
2 KB
David Hotham
const is fine on ares__channel_[un]lock (#758)
22 май 2024, 14:40
Не верифицирован
22 май 2024, 14:40
2f200b9
Код
Авторство
О чём код?
.\" .\" Copyright 1998 by Daniel Stenberg .\" SPDX-License-Identifier: MIT .\" .TH ARES_GETSOCK 3 "11 March 2010" .SH NAME ares_getsock \- get socket descriptors to wait on (deprecated) .SH SYNOPSIS .nf #include <ares.h> int ares_getsock(const ares_channel_t *\fIchannel\fP, ares_socket_t *\fIsocks\fP, int \fInumsocks\fP); .fi .SH DESCRIPTION The .B ares_getsock function retrieves the set of socket descriptors which the calling application should wait on for reading and/or writing for the processing of name service queries pending on the name service channel identified by .IR channel . Socket descriptors will be set in the socket descriptor array pointed to by \fIsocks\fP. \fInumsocks\fP is the size of the given array in number of ints. This function can only return information up to 16 sockets. If more are in use, they are simply not reported back. .SH RETURN VALUES \fBares_getsock\fP returns a bitmask for what actions to wait for on the different sockets. The ares.h header file provides these convenience macros to extract the information appropriately: .nf #define ARES_GETSOCK_MAXNUM 16 /* ares_getsock() can return info about this many sockets */ #define ARES_GETSOCK_READABLE(bits,num) (bits & (1<< (num))) #define ARES_GETSOCK_WRITABLE(bits,num) (bits & (1 << ((num) + \ ARES_GETSOCK_MAXNUM))) .fi .SH NOTES This function was added in c-ares 1.3.1 and deprecated in c-ares 1.20.0 due to the implementation of \fBARES_OPT_MAX_UDP_QUERIES\fP which makes it likely to exceed 16 open file descriptors. It is recommended to use \fBARES_OPT_EVENT_THREAD\fP passed to \fIares_init_options(3)\fP or to use socket state callbacks (\fBARES_OPT_SOCK_STATE_CB\fP) registered via \fBares_init_options(3)\fP. .SH SEE ALSO .BR ares_init_options (3), .BR ares_timeout (3), .BR ares_fds (3), .BR ares_process (3)