9.2.3
Transmitting the Buffer .........................................
9–6
9.2.4
Accounting for Outgoing Bytes .................................
9–7
9.2.5
Updating Counters, Freeing the Transmit Buffer, and
Marking the Output Process as Active ....................... 9–7
9.2.6
Indicating When to Start the Watchdog Routine ............
9–8
10 Implementing a Watchdog Section
10.1
Setting the IPL and Obtaining the Simple Lock ................. 10–1
10.2
Incrementing the Transmit Timeout Counter and Resetting
the Unit ................................................................
10–2
10.3
Releasing the Simple Lock and Resetting the IPL ............... 10–2
11 Implementing the Reset Section
11.1
Implementing the el_reset Routine ................................ 11–1
11.2
Implementing the el_reset_locked Routine ....................... 11–2
12 Implementing the ioctl Section
12.1
Setting Up the el_ioctl Routine ..................................... 12–2
12.2
Determining Whether the User Has Removed the PCMCIA
Card from the Slot ....................................................
12–3
12.3
Setting the IPL and Obtaining the Simple Lock ................. 12–3
12.4
Enabling Loopback Mode (SIOCENABLBACK ioctl
Command) .............................................................
12–4
12.5
Disabling Loopback Mode (SIOCDISABLBACK ioctl
Command) ............................................................. 12–4
12.6
Reading Current and Default MAC Addresses
(SIOCRPHYSADDR ioctl Command) .............................. 12–5
12.7
Setting the Local MAC Address (SIOCSPHYSADDR ioctl
Command) ............................................................. 12–5
12.8
Adding the Device to a Multicast Group (SIOCADDMULTI
ioctl Command) ....................................................... 12–6
12.9
Deleting the Device from a Multicast Group (SIOCDELMULTI
ioctl Command) ....................................................... 12–7
12.10
Accessing Network Counters (SIOCRDCTRS and
SIOCRDZCTRS ioctl Commands) .................................. 12–8
12.11
Bringing Up the Device (SIOCSIFADDR ioctl Command) ..... 12–9
12.12
Using Currently Set Flags (SIOCSIFFLAGS ioctl Command) 12–10
12.13
Setting the IP MTU (SIOCSIPMTU ioctl Command) ........... 12–10
12.14
Setting the Media Speed (SIOCSMACSPEED ioctl
Command) ............................................................. 12–10
Contents vii