Главная » 2017 » Ноябрь » 24 » man 2 shutdown
05:25
man 2 shutdown

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


shutdown - закрывает часть полнодуплексного соединения



ОБЗОР


#include <sys/socket.h>

int shutdown(int sockfd, int how);



ОПИСАНИЕ


Вызов shutdown() приводит к закрытию всего полнодуплексного соединения или его части в
сокете, связанном с sockfd. Если значение how равно SHUT_RD, то дальнейший приём данных
будет запрещён. Если значение how равно SHUT_WR, то дальнейшая передача данных будет
запрещена. Если значение how равно SHUT_RDWR, то дальнейший приём и передача данных будут
запрещены.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno
устанавливается в соответствующее значение.



ОШИБКИ


EBADF Значение sockfd не является правильным файловым дескриптором.

EINVAL Указано неверное значение в how (но смотрите ДЕФЕКТЫ).

ENOTCONN
Указанный сокет не подключён.

ENOTSOCK
Файловый дескриптор sockfd указывает не на каталог.



СООТВЕТСТВИЕ СТАНДАРТАМ


POSIX.1-2001, POSIX.1-2008, 4.4BSD, (shutdown() впервые появился в 4.2BSD).



ЗАМЕЧАНИЯ


Константы SHUT_RD, SHUT_WR, SHUT_RDWR имеют значения 0, 1, 2, соответственно, и определены в
<sys/socket.h> начиная с glibc-2.1.91.



ДЕФЕКТЫ


Проверки применимости how выполняются в коде, относящемся к домену, и до Linux 3.7 проверки
были не во всех доменах. В первую очередь, это были доменные сокеты UNIX, которые просто
игнорировали некорректные значения. Данная проблема была устранена для доменных сокетов UNIX
в Linux 3.7.



СМОТРИТЕ ТАКЖЕ


connect(2), socket(2), socket(7)



Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 386 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar