ADC Home > Reference Library > Technical Q&As > Legacy Documents > Hardware & Drivers >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Device Driver Flags


Q: I'm debugging my PCI native driver and notice that the dCtlFlags field of my Device Control Entry (DCE) has some undocumented bits set. What do these flags mean?

A: The current bits in the dCtlFlags field of the DCE are:

  • bit 0 -- VMImmune -- This bit indicates that your device driver is VM safe. See Technote NW 13 for details.

  • bit 1 -- reserved

  • bit 2 -- kmDriverGestaltEnableMask (in "DriverGestalt.h") is set if the driver supports the Driver Gestalt mechanism. See "Designing PCI Cards and Drivers for Power Macintosh Computers" for a description of Driver Gestalt.

  • bit 3 -- Native Driver -- Set if the driver is a native driver (ndrv). The system will set this bit when it loads your native driver.

  • bit 4 -- Concurrent -- Set if the native driver supports concurrent operation. When loading a native driver, the system sets this bit based on the kDriverIsConcurrent field of the driverOSRuntimeInfo.driverRuntime field of your DriverDescription. See "Designing PCI Cards and Drivers for Power Macintosh Computers" for a description of concurrent drivers.

  • bit 5 -- dOpenedMask (in "Devices.h") is set if the driver is open.

  • bit 6 -- dRAMBasedMask (in "Devices.h") is set if the dCtlDriver field is a DRVRHeaderHandle rather than aDRVRHeaderPtr .

  • bit 7 -- drvrActiveMask (in "Devices.h") is set if the driver is currently processing a request.

  • bit 8 -- dReadEnableMask (in "Devices.h") is set if the driver handles _Read requests.

  • bit 9 -- dWritEnableMask (in "Devices.h") is set if the driver handles _Write requests.

  • bit 10 -- dCtlEnableMask (in "Devices.h") is set if the driver handles _Control requests.

  • bit 11 -- dStatEnableMask (in "Devices.h") is set if the driver handles _Status requests.

  • bit 12 -- dNeedGoodByeMask (in "Devices.h") is set if the driver needs a "goodbye" _Control call before the application heap is reinitialized.

  • bit 13 -- dNeedTimeMask (in "Devices.h") is set if the driver wants periodic SystemTask time through the "accRun" _Control call.

  • bit 14 -- dNeedLockMask (in "Devices.h") is set if the driver requires that its DCE and code be locked at all times when the driver is open.

  • bit 15 -- reserved

See "Inside Macintosh:Devices" for more information about bits 5 through to 14.

[Mar 10 1997]


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.