3
Defining the softc Data Structure
All network device drivers define a softc data structure to contain the software context of the network device driver and to allow the driver interfaces to share information.
A softc data structure contains the following information:
•Common information (Section 3.1)
•Enhanced hardware management (EHM) support (Section 3.2)
•Media state information (Section 3.3)
•Base register definition (Section 3.4)
•Multicast table information (Section 3.5)
•Interrupt handler ID declaration (Section 3.6)
•CSR pointer information (Section 3.7)
•FIFO maintenance information (Section 3.8)
•
•Broadcast flag definition (Section 3.10)
•Debug flag definition (Section 3.11)
•Interrupt and timeout statistics (Section 3.12)
•Autosense kernel thread context information (Section 3.13)
•Polling context flag definition (Section 3.14)
•w3_eeprom data structure definition (Section 3.15)
•Simple lock data structure declaration (Section 3.16)
Figure 3–1 shows a typical softc data structure.
Defining the softc Data Structure