Протоколы Internet

         

с набором определенных параметров. При


Все функции реализуются с помощью обращения к драйверу с набором определенных параметров. При этом значение регистра AH определяет тип запроса. Каждому типу используемого сетевого протокола, с которым работает интерфейс, ставится в соответствие целочисленный указатель (handle), получаемый с помощью процедуры access_type. Выполнимость драйвером тех или иных операций может быть выяснена с помощью запроса driver_info.

При работе с драйвером следует проявлять осторожность и спасать нужные вам регистры. Следует также помнить, что порядок байтов в PC и в некоторых сетях, включая Ethernet, не совпадает. Описание основных запросов, посылаемых пакетному драйверу:



1. Получение информации о типе и функциональных возможностях драйвера



driver_info AH == 1,

AL == 255 (код запроса)



public



_driver_info



_driver_info



proc near







mov AX, 1FFH



; ah=1, al=255





call int_pkt



; обращение к драйверу





jnc lv







mov AX, seg _PARAM.ER_CODE







mov DS, AX







mov _PARAM.ER_CODE, 272



; Устанавливаем код "Нет инф. о драйвере"



lv:



ret



_driver_info



endp





int_pkt:





; Подпрограмма обращения к драйверу





push ds







push es







pushf







cli







call _param.Handler



; адрес _param.Handler должен быть определен раньше





pop es







pop ds







ret



Целочисленный указатель (handle) должен быть занесен в регистр BX (для старых драйверов). В случае ошибки устанавливается флаг carry, а код ошибки заносится в регистр DH. Сообщение BAD_HANDLE (неверный указатель) возможно только для старых драйверов. При благополучном исполнении флаг carry равен нулю, а в регистры будет занесены следующие параметры:







































































BX



версия;



CH



класс;



CL



номер;



DX



тип;



DS:SI



указывают на строку имени драйвера;



AL



функциональные возможности.



AL = 1



гарантируется выполнение базовых функций;



= 2



обеспечено выполнение базового и расширенного набора функций;



= 5



выполняется базовый и экстра-набор функций;



= 6



выполним полный набор функций;



= 255



драйвер не установлен.

<

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий