Once your driver is installed in a stream and opened, it is ready for action. From that point on, the driver will respond to messages according to the interface specifications (TPI or DLPI) that it supports.
Drivers have one additional requirement they must observe. If they are running as a result of a primary interrupt, they must call the OTEnterInterrupt function before making any Open Transport calls. They must call OTLeaveInterrupt before exiting their current interrupt level, after they have made their final call to any Open Transport routines.
It is strongly suggested that the appropriate Open Transport functions be used for timing services and secondary interrupt services, so they will be most compatible with future versions of Mac OS. Open Transport is also compatible with current non-PCI Macintosh platforms.
The Open Transport secondary interrupt services do not have the same restrictions as some other services, because any memory allocations needed are handled early. This prevents these functions from failing at inconvenient times.