other versions
- wheezy 0.98-4
other sections
GETSOCKOPT(2) | Руководство программиста Linux | GETSOCKOPT(2) |
ИМЯ¶
getsockopt, setsockopt - получить или установить флаги на сокетеОБЗОР¶
#include <sys/types.h>ОПИСАНИЕ¶
getsockopt и setsockopt манипулируют флагами, установленными на сокете. Флаги могут существовать на нескольких уровнях протоколов; они всегда присутствуют на самом верхнем из них.ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
В случае успеха возвращается ноль. При ошибке возвращается -1, а значение errno устанавливается должным образом.ОШИБКИ¶
- EBADF
- Неверный файловый дескриптор s.
- ENOTSOCK
- Аргумент s -- это файл, а не сокет.
- ENOPROTOOPT
- Неизвестный на данном уровне флаг.
- EFAULT
- Адрес, на который указывает параметр optval не находится в разрешенной части адресного пространства процесса. Для getsockopt, эта ошибка может также появиться, если optlen также выходит за пределы адресного пространства процесса.
- EINVAL
- Неправильное значение optlen в setsockopt
СООТВЕТСТВИЕ СТАНДАРТАМ¶
SVr4, 4.4BSD (эти системные вызовы впервые появились в 4.2BSD). SVr4 документирует дополнительные коды ошибок ENOMEM и ENOSR, но не документирует флаги SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO, SO_RCVTIMEO.ЗАМЕЧАНИЕ¶
Третий аргумент вызова bind в действительности имеет тип int (это именно так в BSD 4.*, libc4 и libc5). При разработке стандарта POSIX случилось некоторое недопонимание, и появился тип socklen_t. Рабочая версия стандарта ещё не содержит этого типа, но glibc2 уже следует ему и имеет тип socklen_t. Смотри также accept(2).ОШИБКИ В РЕАЛИЗАЦИИ¶
Некоторые флаги сокетов должны обрабатываться на более низких уровнях системы.СМОТРИ ТАКЖЕ¶
ioctl(2), socket(2), getprotoent(3), protocols(5)ПЕРЕВОД¶
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999, Виктор Вислобоков <corochoone@perm.ru> 20031999-05-24 | Страница руководства Linux |