Figure 3–1: Typical softc Data Structure
Common Information
Media State Information
Enhanced Hardware Management Information
Base Register
Multicast Table Information
Interrupt Handler ID
CSR Pointer Information
FIFO Maintenance Information
Bus-Specific Information
Broadcast Flag
Debug Flag
Autosense Kernel Thread
Context Information
Polling Context Flag
w3_eeprom Structure
Simple Lock Structure
ZK-1273U-AI
*
**
*
*
**
Interrupt and Timeout Information
**
**
**
*
*
*
*
**
**
**
**
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–2 Defining the softc Data Structure