Протоколы Internet


             

принимаемых подряд пакетов с; размером




































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, которая обеспечивает доступ для пакетов определенного типа.


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