Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
          1. Элемент реестра

Наконец, вот элемент реестра для Simp2_t:

static const PhTransportRegEntry_t

Simp2TransDef = {

"simp2",

Ph_PACK_STRUCT,

sizeof( Simp2_t ),

sizeof(Simp2Fixups)/sizeof(Simp2Fixups[0]),

&Simp2Fixups,

&Simp2Endians,

&Simp2ClearRefs

};

    1. Транспортные функции

В этом разделе описываются низкоуровневые функции и типы данных, относящиеся к механизму транспортировки. Некоторые функции вызываются приложением, которое является источником данных. Некоторые функции вызываются приложением, которое является источником данных, некоторые – адресатом, некоторые – и тем и другим.

          1. Оба приложения

Оба приложения используют:

PhTransportRegEntry_t

Структура данных, описывающая транспортируемые данные

PhRegisterTransportType()

Добавляет новый транспортный тип в реестр транспортировки

PhFindTransportType()

Отыскивает транспортный тип в реестре транспортировки

          1. Приложение-источник

Приложение-источник использует это, примерно в таком порядке:

PhTransportCtrl_t

Структура управления для механизма транспортировки Photon'а

PhCreateTransportCtrl()

Выделяет память под структуру PhCreateTransportCtrl()

PhTransportType()

Упаковывает данные в структуру PhTransportCtrl_t

PhTransportFindLink()

Отыскивает связанный список данных транспортировки для некоторых специфических данных

PhTransportLink_t

Элемент связанного списка транспортных данных

PhLinkTransportData()

Добавляет транспортные данные в связанный список

PhGetNextInlineData()

Получает данные из следующего элемента связанного списка транспортных данных

PhGetTransportVectors()

Строит вектор ввода/вывода транспортируемых данных

PhFreeTransportType()

Освобождает данные, связанные с элементом транспортного реестра

PhReleaseTransportCtrl()

Освобождает структуру PhTransportCtrl_t

Это низкоуровневые функции, которые Вам, вероятно, никогда не понадобятся вызывать непосредственно:

PhAllocPackType()

Выделяет буфер и упаковывает в него транспортные данные

PhPackEntry()

Упаковывает транспортные данные, установленные элементом транспортного реестра

PhPackType()

Упаковывает транспортные данные, установленные типом данных

          1. Приложение-адресат

Приложение-адресат использует следующее, примерно в таком порядке:

PhGetAllTransportHdrs()

Извлекает все заголовки из буфера упакованных транспортных данных

PhGetTransportHdr()

Извлекает заголовок из буфера упакованных транспортных данных

PhGetNextTransportHdr()

Получает следующий заголовок из буфера упакованных транспортных данных

PhLocateTransHdr()

Ищет специфические данные в связанном списке транспортных заголовков

PhMallocUnpack()

Распаковывает транспортные данные, используя самостоятельно написанную функцию выделения памяти

PhUnpack()

Распаковывает транспортные данные

PhUnlinkTransportHdr()

Удаляет элемент из связанного списка транспортных заголовков

PhReleaseTransportHdrs()

Освобождает связанный список заголовков упакованных транспортных данных

Соседние файлы в папке Литература