Книга: UNIX: разработка сетевых приложений

17.4. Операции с файлами

17.4. Операции с файлами

Следующая группа вызовов начинается с FIO и может применяться к определенным типам файлов в дополнение к сокетам. Мы рассматриваем только вызовы, применимые к сокетам [128, с. 553].

Следующие пять вызовов требуют, чтобы третий аргумент функции ioctl указывал на целое число.

FIONBIO. Флаг отключения блокировки при выполнении операций ввода-вывода сбрасывается или устанавливается в зависимости от третьего аргумента функции ioctl. Если этот аргумент является пустым указателем, то флаг сбрасывается (блокировка разрешена). Если же третий аргумент является указателем на единицу, то включается неблокируемый ввод-вывод. Этот вызов обладает тем же действием, что и команда F_SETFL функции fcntl, которая позволяет установить или сбросить флаг O_NONBLOCK, задающий статус файла.

FIOASYNC. Флаг, управляющий получением сигналов асинхронного ввода-вывода (SIGIO), устанавливается или сбрасывается для сокета в зависимости от того, является ли третий аргумент функции ioctl пустым указателем. Этот флаг имеет то же действие, что и флаг статуса файла O_ASYNC, который можно установить и сбросить с помощью команды F_SETFL функции ioctl.

FIONREAD. Возвращает число байтов, в настоящий момент находящихся в приемном буфере сокета, как целое число, на которое указывает третий аргумент функции ioctl. Это свойство работает также для файлов, каналов и терминалов. Более подробно об этом вызове мы рассказывали в разделе 14.7.

? FIOSETOWN. Эквивалент SIOCSPGRP для сокета.

? FIOGETOWN. Эквивалент SIOCGPGRP для сокета.

Оглавление книги


Генерация: 0.082. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз