PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

Responding to Device Manager Requests

As explained in Generic Native Driver Code Exports, native drivers respond to Device Manager requests by handling a single call, DoDriverIO. Native drivers must also be aware of what kind of request can be made, and at what execution level the request can be made. Table 8-1 shows the kind and execution levels for Device Manager requests.

Table 8-1 Kind and execution levels for Device Manager requests

Request command name

Kind of request supported

Execution level for request

kInitializeCommand immediate task
kFinalizeCommand immediate task
kOpenCommand immediate task
kCloseCommand immediate task
kReplaceCommand immediate task
kSupercededCommand immediate task
kReadCommand immediate, asynchronous, or synchronous task, hardware interrupt, or secondary interrupt
kWriteCommand immediate, asynchronous, or synchronous task, hardware interrupt, or secondary interrupt
kControlCommand immediate, asynchronous, or synchronous task, hardware interrupt, or secondary interrupt
kStatusCommand immediate, asynchronous, or synchronous task, hardware interrupt, or secondary interrupt
kKillIOCommand immediate task, hardware interrupt, or secondary interrupt

The DoDriverIO call interface is described in the previous section. The following sections discuss some of the internal routines a driver needs to service DoDriverIO requests.

Initialization and Finalization Routines

Open and Close Routines

Read and Write Routines

Control and Status Routines

KillIO Routine

Replace and Superseded Routines


© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)