#define is_ac is_ed->ess_ac 2 #define ztime is_ed->ess_ztime 3 #define ctrblk is_ed->ess_ctrblk 4 #define is_if is_ac.ac_if 5 #define is_addr is_ac.ac_enaddr 6

1Declares an instance of the ether_driver data structure and calls it is_ed. All network drivers must have an ether_driver data structure. By convention, a pointer to this data structure is the first element in the softc data structure.

2Maps the ess_ac member of the ether_driver data structure to the alternate name is_ac. The ess_ac member is referred to as the “Ethernet common part” and is actually an instance of the arpcom data structure. Figure 3–2 shows the is_ac alternate name and associated mapping.

3Maps the ess_ztime member of the ether_driver data structure to the alternate name ztime. The ess_ztime member stores the time counters that were last zeroed. Figure 3–2 shows the ztime alternate name and associated mapping.

4Maps the ess_ctrblk member of the ether_driver data structure to the alternate name ctrblk. The ess_ctrblk member is referred to as the “counter block” and is actually an instance of the estat data structure. Figure 3–2 shows the ctrblk alternate name and associated mapping.

You must define this line in your network device driver if you plan to use ADD_RECV_MPACKET, ADD_RECV_PACKET, ADD_XMIT_MPACKET, and ADD_XMIT_PACKET for maintaining LAN device counters. Each of these macros references the ctrblk alternate name.

5Maps the ac_if member of the arpcom data structure to the alternate name is_if. The ac_if member is referred to as the “network-visible interface” and is actually an instance of the ifnet data structure.

Figure 3–2 shows the is_if alternate name and associated mapping.

6Maps the ac_enaddr member of the arpcom data structure to the alternate name is_addr. The name ac_enaddr is actually an alternate name for ac_hwaddr, which is the name of the actual member of

the arpcom data structure that stores the hardware address. The if_ether.h file defines the ac_enaddr alternate name. Figure 3–2 shows the is_addr alternate name and associated mapping.

Defining the softc Data Structure 3–3

Page 47
Image 47
Compaq AA-RNG2A-TE manual Defining the softc Data Structure