Локальные сети персональных компьютеров. Использование протоколов IPX, SPX, NETBIOS
© Александр Фролов, Григорий Фролов
Том 4, М.: Диалог-МИФИ, 1993, 160 стр.
|
6.1. Инициализация SPX
6.2. Образование канала связи
6.3. Прием и передача пакетов
6.4. Разрыв канала связи
6.5. Проверка состояния канала
SPXCheckInstallation - инициализировать
SPX
На входе: |
BX |
= |
10h. |
|
AL |
= |
00h. |
На выходе: |
AL |
= |
Код завершения:
00h - SPX не установлен;
FFh - SPX установлен. |
|
BH |
= |
Верхний (major) номер версии SPX. |
|
BL |
= |
Нижний (minor) номер версии SPX. |
|
CX |
= |
Максимальное количество каналов SPX,
поддерживаемых драйвером SPX. |
|
DX |
= |
Количество доступных каналов SPX. |
SPXListenForConnection - создать канал с
принимающей стороны
На входе: |
BX |
= |
12h. |
|
AL |
= |
Счетчик повторов попыток создать канал
связи. |
|
AH |
= |
Флаг включения системы периодической
проверки связи (Watchdog Supervision Required Flag). |
|
ES:SI |
= |
Указатель на блок ECB. |
На выходе: |
|
|
Регистры не используются. |
SPXEstablishConnection - создать канал с
передающей стороны
На входе: |
BX |
= |
11h |
|
AL |
= |
Счетчик повторов попыток создать канал
связи. |
|
AH |
= |
Флаг включения системы периодической
проверки связи (Watchdog Supervision Required Flag). |
|
ES:SI |
= |
Указатель на блок ECB |
На выходе: |
AL |
= |
Промежуточный код завершения:
00h - выполняется попытка создать канал;
FFh - указанный в блоке ECB сокет закрыт;
FDh - сбойный пакет: либо счетчик фрагментов не
равен 1, либо размер фрагмента не равен 42; |
|
|
|
EFh - переполнение локальной таблицы
номеров каналов связи. |
|
DX |
|
Присвоенный номер канала. |
SPXListenForSequencedPacket - принять
SPX-пакет
На входе: |
BX |
= |
17h. |
|
ES:SI |
= |
Указатель на блок ECB. |
На выходе: |
|
|
Регистры не используются. |
SPXSendSequencedPackett - передать
SPX-пакет
На входе: |
BX |
= |
16h. |
|
ES:SI |
= |
Указатель на блок ECB |
|
DX |
= |
Номер канала связи. |
На выходе: |
|
|
Регистры не используются. |
SPXTerminateConnection - закрыть канал
На входе: |
BX |
= |
13h |
|
ES:SI |
= |
Указатель на блок ECB |
|
DX |
= |
Номер канала связи |
На выходе: |
|
|
Регистры не используются. |
SPXAbortConnection - закрыть канал
аварийно
На входе: |
BX |
= |
14h. |
|
DX |
= |
Номер канала связи. |
На выходе: |
|
|
Регистры не используются. |
SPXGetConnectionStatus - получить
состояние канала
На входе: |
BX |
= |
15h. |
|
DX |
= |
Номер канала связи. |
|
ES:SI |
= |
Указатель на буфер размером 44 байта. |
На выходе: |
AL |
= |
Код завершения:
00h - канал активен;
EEh - указанный канал не существует. |
|