Получение рабочего списка мультикастинг-адресов
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; | ( Число потерянных пакетов из-за отсутствия свободного буфера или других ресурсов) |
};
Статистические данные имеют вид целых 32-разрядных чисел в формате IBM/PC.
13. Смена физического адреса интерфейса
set_address(addr, len) AH == 25
char far *addr; ES:DI (адрес буфера, где лежит новое значение адреса)
int len; CX (длина адреса в байтах)
В случае ошибки флаг carry=1, а в регистр DH заносится код ошибки. Возможные ошибки:
13 CANT_SET;
14 BAD_ADDRESS.
При благоприятном выполнении запроса флаг carry=0, а значение регистра CX сохраняется.
Запрос используется в случае, когда необходим специфический физический адрес интерфейса (например, в случае DECNET). При наличии более одного указателя (handle) драйвер откажется исполнить данный запрос и пришлет сообщение CANT_SET.
Этим не исчерпывается перечень возможных запросов, существует некоторое количество операций, относящихся к экстра-набору функций (код функциональности 5 или 6, смотри описание запроса driver_info).