Протоколы Internet


           

Ниже приведен пример программы, реализующей


Ниже приведен пример программы, реализующей некоторые из описанных запросов.













































.MODEL



small





PUBLIC



_INFACE





VERSION



EQU



1



EXTRN



_PARAM:BYTE





EXTRN



_Q:BYTE





.DATA

































































































































































































































































INCLUDE



DEF.ASM



; Определения некоторых констант



P_LIST



STRUC





LINTN



DB



32 dup(0)



; Список активных номеров прерываний



HANDLES



DW



?





HANDLEP



DW



?





ER_CODE



DW



?





ERNUM



DW



?



; Код ошибки



HANDLER



DD



?





MODE



DW



?



; Текущий режим приема пакетов



MLIST



DB



0,0,0,0,0,0



; Список допустимых режимов; 1 => имеется



PKT_IN



DW



?,?



; Диагностический массив



pkt_out



DW



?,?





byte_in



DW



?,?





byt_out



DW



?,?





err_in



DW



?,?





err_out



DW



?,?





pk_drop



DW



?,?





L1



DW



0



; Версия драйвера



L2



DW



0



; класс/номер



L3



DW



0



; Тип



L4



DW



0



; Функция



_NAME



DB



0,0,0,0,0,0,0,0,0,0



; Имя интерфейса



ETHER_ADR



DB



ADDR_LEN dup(-1)



; Ethernet-адрес



S_ADR



DB



EADDR_LEN+5 dup(-1)



; Ethernet-адрес получателя



D_ADR



DB



EADDR_LEN+5 dup(-1)



; Ethernet-адрес отправителя



P_LIST



ENDS











































































































































QUEUE



STRUC



Leng



DW



15000,?



; Длина очереди



Tail



DW



?



; Смещение последнего элемента очереди



Head



DW



?



; Смещение первого элемента очереди



_end



DW



?



; Указатель на конец очереди



p_len



DW



?



; Длина пакета



P_start



DW



?



; Указатель на текущий пакет = Q_head - Q_begin +2



NEW



DB



0



; Флаг нового пакета



Line



DB



?



; Строка экрана



Npacks



DD



0



; Счетчик принятых пакетов



B



DW



?



; смещение Q_beg



Point



DW



380 dup(?)





Beg



DB



31000 dup(?)



; Пакетный буфер



QUEUE



ENDS













































































ether_bdcst



DB



EADDR_LEN dup(-1)



; Широковещательный адрес Ethernet, заполненный -1.



ether_addr



DB



EADDR_LEN dup(-1)





bogus_type



DB



0,0;





signature



DB



'PKT DRVR',0



; Сигнатура пакетного драйвера



signature_len



equ



$-signature





SAFE



DW



?





DFLAG



DB



0



<

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





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