Протоколы Internet

         

в регистр DH заносится код


10. Занесение списка мультикастинг-адресов в интерфейс set_multicast_list(addrlst,len)



AH == 22 (код запроса)

char far *addrlst; ES:DI (адрес буфера, где лежат адреса)

int len; CX (длина списка адресов)

В случае ошибки флаг carry=1, а в регистр DH заносится код ошибки. Возможные ошибки:

6 NO_MULTICAST;

9 NO_SPACE;

14 BAD_ADDRESS.

Список адресов представляет собой счетную последовательность, начинающуюся с байта числа адресов в списке. На список адресов указывает комбинация регистров ES:DI. Сообщение NO_SPACE присылается, если указатель адреса отсутствует, или число адресов превосходит аппаратные возможности интерфейса. Прежде чем заносить список, полезно сначала ознакомиться с имеющимся уже списком, выполнив запрос get_multicast_list. При получении сообщения NO_SPACE рекомендуется попытаться установить режим приема 3 с помощью запроса set_rcv_mode.



11. Получение рабочего списка мультикастинг-адресов



get_multicast_list

AH == 23 (код запроса)

В случае ошибки флаг carry=1, а в регистр DH заносится код ошибки. Возможные ошибки:

6 NO_MULTICAST;

9 NO_SPACE.

При успешном выпонении запроса флаг carry=0, в регистр CX заносится длина списка адресов, а регистры ES:DI указывают на начало счетной оследовательности, где запрошенный список лежит. Прикладная программа не должна модифицировать этот список.



12. Получение статистических данных об ошибках и трафике через данный интерфейс

get_statistics(handle)

AH == 24 (код запроса)

int handle; BX (указатель)

char far *statistics; DS:SI (адрес буфера, куда записываются статистические данные)

В случае ошибки флаг carry=1, а в регистр DH заносится код ошибки 1 BAD_HANDLE. При успешном выполнении запроса флаг carry=0, а в массиве, начиная с адреса DS:SI, лежит запрошенная информация.

struct statistics {















































unsigned long packets_in;



( Число принятых пакетов для всех указателей)



unsigned long packets_out;



( Число посланных пакетов)



unsigned long bytes_in;



( Число принятых байтов, включая MAC заголовки)



unsigned long bytes_out;



( Число посланных байтов)



unsigned long errors_in;



( Полное число ошибок при приеме)



unsigned long errors_out;



( Число ошибок при посылке пакетов)



unsigned long packets_lost;



( Число потерянных пакетов из-за отсутствия свободного буфера или других ресурсов)

<

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







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