КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Структуры данных TLI
Функции TLI работают с нескольким универсальными структурами данных. При этом структура одного и того же типа может использоваться как для передачи данных в функции, так и для получения информации из них. Ниже дается описание некоторых структур данных, используемых TLI. 2.1.1. Структура данных netbuf Структура netbuf служит составляющей более сложных ("законченных") структур данных TLI. Она используется как для передачи данных в функции TLI, так и для размещения в ней возвращаемой из функций информации. Эта структура имеет следующий вид struct netbuf { unsigned int maxlen; unsigned int len; char *buf; }; Поле buf указывает на область оперативной памяти (буфер), предназначенную для размещения в ней данных, передаваемых в функцию TLI или получаемых от нее. Семантика этих данных зависит от типа "вмещающей" структуры (см. ниже). Поле len в ситуации, когда netbuf используется для передачи информации в функцию TLI, должно содержать длину (в байтах) данных, указываемых полем buf. Поле maxlen в ситуациях, когда netbuf используется для получения информации от функции TLI, должно содержать длину (в байтах) области памяти, отводимой для этой цели и указываемой полем buf. Len после завершения функции будет содержать действительную длину данных, размещенных в буфере. 2.1.2. Структура данных t_bind Структура t_bind определена в файле tiuser.h следующим образом struct t_bind { struct netbuf addr; unsigned int qlen; }; Поле addr типа struct netbuf используется для размещения транспортного адреса транспортной точки. Назначение поля qlen зависит от использующей эту структуру функции TLI. 2.1.3. Структура данных t_call Структура t_call определена в файле tiuser.h следующим образом struct t_call { struct netbuf addr; struct netbuf opt; struct netbuf udata; int sequence; }; Поле addr типа struct netbuf используется для размещения транспортного адреса транспортной точки. Поле opt типа struct netbuf используется для размещения необязательной информации, модифицирующей или описывающей характеристики используемого конкретного поставщика транспортных услуг. Приложения, проектируемые как независимые от поставщика транспортных услуг, этим полем структуры t_call пользоваться не должны. Поле udata типа struct netbuf используется для размещения передаваемых к партнеру или принимаемых от него в ходе взаимодействия через сеть данных. Назначение поля sequence зависит от использующей эту структуру функции TLI. 2.1.4. Структура данных t_unitdata Структура t_unitdata определена в файле tiuser.h следующим образом struct t_unitdata { struct netbuf addr; struct netbuf opt; struct netbuf udata; }; Поле addr типа struct netbuf используется для размещения транспортного адреса транспортной точки. Поле opt типа struct netbuf используется для размещения необязательной информации, модифицирующей или описывающей характеристики используемого конкретного поставщика транспортных услуг. Приложения, проектируемые как независимые от поставщика транспортных услуг, этим полем структуры t_unitdata пользоваться не должны. Поле udata типа struct netbuf используется для размещения передаваемых к партнеру или принимаемых от него в ходе взаимодействия через сеть данных. Структура данных типа struct t_unitdata используется в функциях посылки/приема данных в режиме взаимодействия без установления соединения.
Дата добавления: 2017-02-01; Просмотров: 64; Нарушение авторских прав?; Мы поможем в написании вашей работы! |