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)
• Bus-specific information (Section 3.9)
• 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 3–1