Figure 3–1: Typical softc Data Structure

*

*

**

*

*

*

*

**

**

**

**

**

**

**

**

*

Common Information

Enhanced Hardware Management Information

Media State Information

Base Register

Multicast Table Information

Interrupt Handler ID

CSR Pointer Information

FIFO Maintenance Information

Bus-Specific Information

Broadcast Flag

Debug Flag

Interrupt and Timeout Information

Autosense Kernel Thread

Context Information

Polling Context Flag

w3_eeprom Structure

Simple Lock Structure

ZK-1273U-AI

A single asterisk denotes information that all network device drivers provide in the associated softc data structure, and a double asterisk denotes information that is specific to the hardware or bus.

3.1 Defining Common Information

The common information in a local area network driver’s softc data structure is contained in the ether_driver data structure, which consists of information such as counter blocks, media state, media values, and so forth. The following code shows the declaration and definition of the common information in the if_el device driver’s el_softc data structure. Make sure that the common part of your softc data structure has the same declaration and definitions.

struct el_softc {

struct

ether_driver *is_ed;

1

3–2Defining the softc Data Structure

Page 46
Image 46
Compaq AA-RNG2A-TE manual Defining Common Information, 2Defining the softc Data Structure