принимаемых подряд пакетов с; размером
Public
|
int_no,
|
io_addr
|
|
int_no
|
db
|
2,0,0,0
|
; должно иметь 4 байта для get_number.
|
io_addr
|
dw
|
0300h,0
|
; I/O адрес карты (переключатели)
|
public
|
driver_class
|
driver_type,
|
driver_name,
|
driver_function,
|
parameter_list
|
driver_class
|
db
|
BLUEBOOK, IEEE8023, 0
|
; из спецификации интерфейса
|
driver_type
|
dw
|
54
|
; из спецификации интерфейса
|
driver_name
|
db
|
'NE2000',0
|
; имя драйвера.
|
driver_function
|
db
|
2
|
|
parameter_list
|
label
|
byte
|
|
|
db
|
1
|
;
|
|
db
|
9
|
;
|
|
db
|
14
|
; длина списка параметров в байтах
|
|
db
|
ADDR_LEN
|
; длина адреса MAC-уровня в байтах
|
|
dw
|
GIANT
|
; MTU, включая MAC-заголовок
|
|
dw
|
MAX_M_CAST * ADDR_LEN
|
|
; размер буфера для мультикаст-адресов
|
dw
|
0
|
;(# принимаемых подряд пакетов с; размером MTU) - 1
|
|
dw
|
0
|
; (# посылаемых подряд пакетов) - 1
|
int_num
|
dw
|
0
|
; Номер прерывания
|
Работа с пакетным драйвером в MS-DOS
Существует множество пакетных драйверов. Можно обнаружить несколько модификаций для одного и того же типа интерфейса. Эти драйверы могут быть ориентированы на работу в разных программных средах (Novell, UNIX, MS-DOS и т.д.) и иметь разные возможности. Для MS-DOS сложился неофициальный стандарт, который позволяет использовать драйвер для самых разных приложений. Драйвер может использовать минимум возможностей интерфейса (базовый уровень), реализовать более широкий набор функций (мультикастинг, сбор статистики и т.д.) или поддерживать практически все, на что способен данный прибор. В последнем случае он занимает больше места в памяти. Описания операций с пакетными драйверами, приведенные ниже, выполнены в нотации ассемблера IBM/PC. При написании программы следует помнить, что порядок байтов в Ethernet противоположен тому, который используется в вашей IBM/PC.
Пакетные драйверы используют программные прерывания в интервале 0x60 - 0x80. Следует сразу заметить, что не все прерывания из этого списка свободны и при конфигурировании системы следует проявлять осмотрительность. Для того чтобы избежать конфликтов с другими внешними устройствами, предусматривается возможность реконфигурации прерываний. Предполагается, что программа обработки прерываний начинается с команды безусловной передачи управления (JMP), за которой следует текстовая строка "PKT DRVR". Именно эта строка служит указателем при поиске адреса пакетного прерывания. Практически все драйверы могут работать с различными протоколами (TCP/IP, OSI и др.). Решить задачу мультиплексирования на связном уровне помогает процедура access_type, которая обеспечивает доступ для пакетов определенного типа.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий