в регистр 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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий