Телекоммуникационные технологии. Том 1



         

Сетевые драйверы - часть 4


Publicint_no,io_addr 
int_nodb2,0,0,0; должно иметь 4 байта для get_number.
io_addrdw0300h,0; I/O адрес карты (переключатели)

publicdriver_classdriver_type,driver_name,driver_function,parameter_list
driver_classdbBLUEBOOK, IEEE8023, 0; из спецификации интерфейса
driver_typedw54; из спецификации интерфейса
driver_namedb'NE2000',0; имя драйвера.
driver_functiondb2 
parameter_listlabelbyte 
 db1;
 db9;
 db14; длина списка параметров в байтах
 dbADDR_LEN; длина адреса MAC-уровня в байтах
 dwGIANT; MTU, включая MAC-заголовок
 dwMAX_M_CAST * ADDR_LEN 

; размер буфера для мультикаст-адресов

 dw0;(# принимаемых подряд пакетов с; размером MTU) - 1
 dw0; (# посылаемых подряд пакетов) - 1
int_numdw0; Номер прерывания

Работа с пакетным драйвером в MS-DOS

Существует множество пакетных драйверов. Можно обнаружить несколько модификаций для одного и того же типа интерфейса. Эти драйверы могут быть ориентированы на работу в разных программных средах (Novell, UNIX, MS-DOS и т.д.) и иметь разные возможности. Для MS-DOS сложился неофициальный стандарт, который позволяет использовать драйвер для самых разных приложений. Драйвер может использовать минимум возможностей интерфейса (базовый уровень), реализовать более широкий набор функций (мультикастинг, сбор статистики и т.д.) или поддерживать практически все, на что способен данный прибор. В последнем случае он занимает больше места в памяти. Описания операций с пакетными драйверами, приведенные ниже, выполнены в нотации ассемблера IBM/PC. При написании программы следует помнить, что порядок байтов в Ethernet противоположен тому, который используется в вашей IBM/PC.

Пакетные драйверы используют программные прерывания в интервале 0x60 - 0x80. Следует сразу заметить, что не все прерывания из этого списка свободны и при конфигурировании системы следует проявлять осмотрительность. Для того чтобы избежать конфликтов с другими внешними устройствами, предусматривается возможность реконфигурации прерываний.


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