Для каждого обслуживаемого драйвером сетевого адаптера создается отдельная структура данных DL_bdconfig_t
, описывающая характеристики адаптера и содержащая необходимую для управления адаптером информацию, а также статистику, являющуюся частью MIB (Management Information Base). Эта структура используется аппаратно-независимой и зависимой частями совместно, в том числе и для передачи определенной информации между ними.
В частности, эта структура содержит следующие поля:
major | Старший номер устройства, связанного с данным сетевым адаптером |
io_start | Адрес начала области ввода/вывода |
io_end | Адрес конца области ввода/вывода |
mem_start | Адрес начала базовой памяти |
mem_end | Адрес конца базовой памяти |
irq_level | Уровень прерывания |
шах_saps | Максимальное число точек доступа (SAP) |
flags | Флаги состояния адаптера |
mib | Список статистических данных |
Поле flags
может включать следующие флаги:
BOARD_PRESENT | Устанавливается драйвером после успешной инициализации адаптера |
BOARD_DISABLED | Устанавливается драйвером при неудачной инициализации адаптера. Этот флаг также может быть установлен, если драйвер определит нарушения в функционировании адаптера |
TX_BUSY | Указывает на отсутствие ресурсов, например отсутствие необходимых буферов для передачи кадра |
TX_QUEUED | Указывает на наличие кадров, ожидающих передачи |
Для каждого подключенного пользователя услуг, или, другими словами, для каждой активной SAP драйвер создает структуру данных DL_sap_t
, описывающую тип и характеристики точки доступа. Приведем описание некоторых полей этой структуры:
state | Состояние SAP. Возможные состояния определены интерфейсом DLPI. Исходное состояние точки доступа DL_UNBOUND | |
sap_addr | Уникальный адрес (идентификатор) SAP | |
flags | Флаги, определяющие дополнительные характеристики SAP | |
read_q | Указатель на очередь чтения потока, связанного с SAP | |
write_q | Указатель на очередь записи потока, связанного с SAP | |
mac_type | Тип используемого протокола доступа и формат используемого кадра. Возможные значения включают: | |
DL_CMACD | IEEE 802.3 | |
DL_ETHER | Ethernet 2.0 | |
DL_TPB | IEEE 802.4 | |
DL_TPR | IEEE 802.5 | |
DL_HDLC | ISO HDLC | |
DL_FDDI | FDDI | |
service_mode | Режим передачи данных. В локальных сетях обычно используется режим без установления связи без подтверждения DL_CLDLS | |
provider_style | Тип поставщика услуг: DL_STYLE1 или DL_STYLE2 | |
bd | Указатель на структуру DL_bdconfig_t , связанную с сетевым адаптером | |
next_sap | Указатель на следующую точку доступа в списке активных SAP | |
max_spdu | Максимальный размер данных, которые могут быть переданы в кадре | |
min_spdu | Минимальный размер данных, которые могут быть переданы в кадре |
Дополнительные характеристики SAP хранятся в поле flags
, которое может включать следующие флаги: