Important: The information in this document is obsolete and should not be used for new development.
SCSIReregisterBus
You can use theSCSIReregisterBus
function to reregister a bus if its entry points change or if the XPT is replaced.
OSErr SCSIReregisterBus(SIMInitInfo *SIMinfoPtr);
SIMinfoPtr
- A pointer to a SIM initialization record, which is described on page 4-36.
--> SIMstaticPtr UInt8 * A pointer to the SIM's existing static storage. --> staticSize SInt32 The size of the SIM's static storage. --> SIMInit SIMInitProc A pointer to the SIMInit
function.--> SIMAction SIMActionProc A pointer to the SIMAction
function.--> SIMInterruptPoll InterruptPollProc A pointer to the SIMInterruptPoll
function.--> NewOldCall SIMActionProc A pointer to the NewOldCall
function.--> ioPBSize UInt16 The SCSI I/O parameter block size for this SIM. --> oldCallCapable Boolean Set to true
if the SIM emulates original SCSI Manager functions.<-- EnteringSIM SCSIProc A pointer to the EnteringSIM
function.<-- ExitingSIM SCSIProc A pointer to the ExitingSIM
function.<-- MakeCallback MakeCallbackProc A pointer to the MakeCallback
function.--> busID UInt16 The bus number requested. DESCRIPTION
You normally call theSCSIReregisterBus
function in response to a SCSIRegisterWithNewXPT request. This function is identical toSCSIRegisterBus
except that the bus number and static storage pointer are passed to the XPT, rather than being returned by it. In addition, the XPT does not call theSIMInit
function.This function allows a SIM to retain its bus number and static storage if the XPT changes. It is also useful if you need to change the SIM's function entry points or other information.
SPECIAL CONSIDERATIONS
TheSCSIReregisterBus
function may move memory; you should not call it at interrupt time.RESULT CODES
noErr 0 No error scsiBusInvalid -7869 The bus ID is invalid scsiTooManyBuses -7888 SIM registration failed because the XPT registry is full