Server for Information Technologies Сервер поддерживается
Центром Информационных Технологий
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
Сервер содержит море(!) аналитической информации CIT Forum CD-ROM

TIMOD(7)

НАЗВАНИЕ
timod - модуль псевдоустройства для взаимодействия с Транспортным Интерфейсом

ОПИСАНИЕ
Timod - это модуль псевдоустройства, обеспечивающий использование функций Транспортного Интерфейса библиотеки сетевых услуг. Модуль timod преобразует набор системных вызовов ioctl(2) в сообщения псевдоустройств, которые затем передаются модулю, обеспечивающему транспортный интерфейс. Эта схема позволяет выполнять функции Транспортного Интерфейса как атомарные, неделимые действия.

Модуль timod должен использоваться в потоке, который завершается модулем, обеспечивающим Транспортный Интерфейс [см. intro(2)].

Модуль timod передает следующему модулю потока без изменений все сообщения псевдоустройств, кроме перечисленных ниже, генерируемых по системному вызову ioctl(2). Сообщения от перечисленных ниже команд ioctl распознаются и обрабатываются модулем timod. Формат вызова ioctl следующий:

  #include <sys/stropts.h>
  
  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 помещается ссылка на буфер, содержащий посылаемое сообщение. Размер буфера должен быть достаточен для приема ответного сообщения. Возможные типы сообщений определены во включаемом файле <sys/tihdr.h>. Ниже перечислены допустимые значения поля 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.

ФАЙЛЫ

<sys/timod.h>
<sys/tiuser.h>
<sys/tihdr.h>
<sys/errno.h>

СМ. ТАКЖЕ
tirdwr(7).

ДИАГНОСТИКА
Если системный вызов ioctl возвращает значение, большее 0, то младшие 8 бит этого значения содержат код ошибки Транспортного Интерфейса (коды ошибок определены во включаемом файле <sys/tiuser.h>). Если код ошибки имеет значение TSYSERR, следующие 8 бит возвращаемого значения содержат системный код ошибки [системные коды ошибок определены во включаемом файле <sys/errno.h>, см. intro(2)].

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT
Обновлено: 13.03.2015