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

17.3. Операции с сокетами

17.3. Операции с сокетами

Существует три типа вызова, или запроса (в зависимости от значения аргумента request) функции ioctl, предназначенные специально для сокетов [128, с. 551–553]. Все они требуют, чтобы третий аргумент функции ioctl был указателем на целое число.

SIOCATMARK. Возвращает указатель на ненулевое значение в качестве третьего аргумента (его тип, как только что было сказано, — указатель на целое число), если указатель чтения сокета в настоящий момент находится на отметке внеполосных данных (out-of-band mark), или указатель на нулевое значение, если указатель чтения сокета не находится на этой отметке. Более подробно внеполосные данные (out-of-band data) рассматриваются в главе 24. POSIX заменяет этот вызов функцией sockatmark, и мы рассматриваем реализацию этой новой функции с использованием функции ioctl в разделе 24.3.

SIOCGRP. Возвращает в качестве третьего аргумента указатель на целое число — идентификатор процесса или группы процессов, которым будут посылаться сигналы SIGIO или SIGURG по окончании выполнения асинхронной операции или при появлении срочных данных. Этот вызов идентичен вызову F_GETOWN функции fcntl, и в табл. 7.9 мы отмечали, что POSIX стандартизирует функцию fcntl.

SIOCSPGRP. Задает идентификатор процесса или группы процессов для отсылки им сигналов SIGIO или SIGURG как целое число, на которое указывает третий аргумент. Этот вызов идентичен вызову F_SETOWN функции fcntl, и в табл. 7.9 мы отмечали, что POSIX стандартизирует функцию fcntl.

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


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