Установить параметры сокета
#include <sys/types.h>
#include <sys/socket.h>
int setsockopt( int s,
int level,
int optname,
const void *optval,
socklen_t optlen );
- s
- Файловый дескриптор сокета, возвращаемый функцией socket(), к которому должен быть применен параметр.
- level
- Уровень протокола, к которому должна применяться опция. В большинстве случаев это параметр на уровне сокета и обозначается
SOL_SOCKET.
- optname
- Параметр для дескриптора файла сокета.
- optval
- Указатель на значение параметра (в большинстве случаев независимо от того, должен ли параметр быть включен или выключен). Если значение параметра не должно возвращаться, optval может иметь значение
NULL. Большинство параметров уровня сокета используют параметр int для optval. Другие, такие как параметры SO_LINGER, SO_SNDTIMEO и SO_RCVTIMEO, используют структуры, которые также позволяют получать данные, связанные с параметром.
- optlen
- Указатель на длину значения параметра. Этот аргумент является параметром "значение-результат"; необходимо инициализировать его, чтобы указать размер буфера, на который указывает optval.
libsocket
Функция setsockopt() устанавливает параметры сокета.
См. getsockopt() для получения более подробной информации.
- 0
- Успешное завершение.
- -1
- Возникла ошибка. Код ошибки записан в errno.
- EBADF
- Некорректный файловый дескриптор s.
- EDOM
- Значение вне допустимого диапазона.
- EFAULT
- Адрес, на который указывает optval находится вне допустимого адресного прострнаства процесса.
- EINVAL
- optval не был указан.
- ENOPROTOOPT
- Параметр недоступен на указанном уровне.
POSIX 1003.1
- Да
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Да
ICMP, IP, TCP, и UDP протоколы
getsockopt(), socket()
Предыдущий раздел: Описание API сетевой библиотеки