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)].
|