TIMOD(7) TIMOD(7) НАЗВАНИЕ timod - ПОТОКОВЫЙ модуль для взаимодействия с Транс- портным Интерфейсом ОПИСАНИЕ Timod - это ПОТОКОВЫЙ модуль, обеспечивающий использо- вание функций Транспортного Интерфейса библиотеки сете- вых услуг. Модуль timod преобразует набор системных вы- зовов ioctl(2) в ПОТОКОВЫЕ сообщения, которые затем пе- редаются модулю, обеспечивающему транспортный интер- фейс. Эта схема позволяет выполнять функции Транспорт- ного Интерфейса как атомарные, неделимые действия. Модуль timod должен использоваться в потоке, который завершается модулем, обеспечивающим Транспортный Интер- фейс [см. intro(2)]. Модуль timod передает следующему модулю потока без из- менений все ПОТОКОВЫЕ сообщения, кроме перечисленных ниже, генерируемых по системному вызову ioctl(2). Сооб- щения от перечисленных ниже команд ioctl распознаются и обрабатываются модулем timod. Формат вызова ioctl сле- дующий: |#include | |struct strioctl strioctl; | |strioctl.ic_cmd = команда; |strioctl.ic_timeout = INFTIM; |strioctl.ic_len = размер; |strioctl.ic_dp = (char *) буфер; | |ioctl (fildes, I_STR, &strioctl); В поле ic_len указывается размер сообщения, передавае- мого модулю Транспортного Интерфейса, при возврате это поле содержит размер ответного сообщения, полученного от модуля Транспортного Интерфейса. В поле ic_dp поме щается ссылка на буфер, содержащий посылаемое сообще- ние. Размер буфера должен быть достаточен для приема ответного сообщения. Возможные типы сообщений определе ны во включаемом файле . Ниже перечислены допустимые значения поля ic_cmd: TI_BIND Присоединить адрес к нижележащему транспортному протоколу. Сообщение, выдаваемое по команде TI_BIND, имеет тип T_BIND_REQ. Сообщение, возвра- щаемое при нормальном завершении системного вызова ioctl, имеет тип T_BIND_ACK. TI_UNBIND Отсоединить адрес от нижележащего транспортного протокола. Сообщение, выдаваемое по команде TI_UNBIND, имеет тип T_UNBIND_REQ. Сообщение, возвращаемое при нормальном завершении системного вызова ioctl, имеет тип T_OK_ACK. TI_GETINFO Получить информацию о состоянии транспортного про- токола. Сообщение, выдаваемое по команде TI_GETINFO, имеет тип T_INFO_REQ. Сообщение, возв ращаемое при нормальном завершении системного вы зова ioctl, имеет тип T_INFO_ACK. TI_OPTMGMT Выполнить специфические операции транспортного протокола. Сообщение, выдаваемое по команде TI_OPTMGMT, имеет тип T_OPTMGMT_REQ. Сообщение, возвращаемое при нормальном завершении системного вызова ioctl, имеет тип T_OPTMGMT_ACK. ФАЙЛЫ СМ. ТАКЖЕ tirdwr(7). ДИАГНОСТИКА Если системный вызов ioctl возвращает значение, большее 0, то младшие 8 бит этого значения содержат код ошибки Транспортного Интерфейса (коды ошибок определены во включаемом файле ). Если код ошибки имеет значение TSYSERR, следующие 8 бит возвращаемого значе ния содержат системный код ошибки [системные коды оши- бок определены во включаемом файле , см. intro(2)].