Rselect()

Проверить наличие дескрипторов, готовых к чтению или записи (при помощи SOCKS сервера)

Прототип:

int Rselect( int width,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptionfds,
struct timeval *timeout );

Аргументы:

width
Количество дескрипторов для проверки в данных наборах. Только дескрипторы от 0 до (width - 1) в наборе дескрипторов подлежат проверке. Тем не менее, значение width должно быть как минимум: (файловый дескриптор с самым большим значением в наборах) + 1
readfds
NULL, или указатель на объект fd_set , определяющий дескрипторы для проверки файлов, готовых к чтению. Функция заменяет набор теми файловыми дескрипторами, которые фактически готовы к чтению.
writefds
NULL, или указатель на объект fd_set , определяющий дескрипторы для проверки файлов, готовых к записи. Функция заменяет набор теми файловыми дескрипторами, которые фактически готовы к записи.
exceptionfds
NULL, или указатель на объект fd_set, определяющий дескрипторы для проверки файлов, которые имеют ожидающее исключительное состояние. Функция заменяет набор теми файловыми дескрипторами, которые действительно имеют ожидающее исключительное состояние.
timeout
NULL, или указатель на struct timeval, описывающую время ожидания завершения выбора.

Библиотека:

libsocks

Описание:

Функция Rselect() представляет собой обёртку над функцией select() — разница между ними в том, что Rselect() работает через SOCKS сервер.

Для более детальной информации о SOCKS и ее библиотеках, см. Обзор библиотеки проксирования.

Возвращаемое значение:

Число готовых к операции дескрипторов для данного множества. Если истек временной интервал timeout функция возвращает 0. Если возникла ошибка функция возвращает -1, код ошибки записывается в errno.

Классификация:

SOCKS

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

struct timeval, select()

Обзор библиотеки проксирования




Предыдущий раздел: Описание API библиотеки socks