Протокол NETBIOS. Шоберг А.Г. - 9 стр.

UptoLike

Составители: 

7
манды.
Поля NCB_RTO (Reseive_TimeOut) и NCB_STO (Send_TimeOut) содер-
жат интервал времени (измеряемый в 1/2 с), в течение которого ожидается за-
вершение соответственно команд приема и передачи.
Поле POST_FUNC - указатель на программу, которая получает управле-
ние после завершения команды. Эта программа (POST-программа) вызывается
только в том случае, если в поле POST_FUNC был указан адрес программы. Ес-
ли
же это поле заполнить нулями, никакая программа вызываться не будет.
Поле NCB_ADAP_NUM используется, если в станции установлено не-
сколько сетевых адаптеров (в сетях Ethernet этого обычно не бывает). В этом
поле указывается номер адаптера, для которого предназначена команда. Пер-
вый адаптер имеет номер 0, второй - 1.
Поле FINAL_NCB_RETCODE содержит во время выполнения команды
значение 0xFF. После завершения выполнения команды в это поле записывает-
ся код ошибки, который относится к выполнению команды в целом (в отличие
от кода в поле NCB_RETCODE). Если ваша программа не задала адрес для про-
граммы в поле POST_FUNC, она должна опрашивать в цикле содержимое этого
поля, ожидая, пока в нем не появится значение
, отличное от 0xFF.
Поле NCB_RESERVE зарезервировано для использования протоколом
NETBIOS, программа не должна изменять его содержимое.
9. POST-программа
POST-программа является программой обработки прерывания. Она полу-
чает управление в состоянии с запрещенными прерываниями. Регистры ES:BX
содержат адрес блока NCB, который использовался при выполнении команды.
В регистр AL записано значение из поля FINAL_NCB_RETCODE блока NCB.
Требования к POST-программе - она
должна сохранить регистры, устано-
вить регистр DS на сегмент данных. POST-программа должна работать как
можно быстрее. Лучше всего если она будет использоваться только для уста-
новки флага, сигнализирующего основной программе о завершении
выполнения ко
Перед завершением своей работы POST-программа должна восстановить
содержимое всех регистров и выполнить команду возврата из прерывания
IRET.
10.
Команды NETBIOS
Каждая команда NETBIOS реализована в двух вариантах - с ожиданием и
без ожидания. Перед выполнением команды ее код должен быть записан в поле
NCB_COMMAND блока NCB. Если программа не критична ко времени, можно
выбрать вариант с ожиданием. В этом случае после вызова NETBIOS програм-
ма вновь получит управление только после завершения выполнения команды.
Если
по каким-либо причинам выполнение команды не может быть завершено,
программа "зависнет". Программа, вызвавшая команду NETBIOS без ожидания,
получает управление немедленно. Команда будет выполняться в фоновом ре-
жиме параллельно с работой вызвавшей ее программы.