Important: The information in this document is obsolete and should not be used for new development.
SCSIReregisterBus
You can use theSCSIReregisterBusfunction 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 SIMInitfunction.--> SIMAction SIMActionProc A pointer to the SIMActionfunction.--> SIMInterruptPoll InterruptPollProc A pointer to the SIMInterruptPollfunction.--> NewOldCall SIMActionProc A pointer to the NewOldCallfunction.--> ioPBSize UInt16 The SCSI I/O parameter block size for this SIM. --> oldCallCapable Boolean Set to trueif the SIM emulates original SCSI Manager functions.<-- EnteringSIM SCSIProc A pointer to the EnteringSIMfunction.<-- ExitingSIM SCSIProc A pointer to the ExitingSIMfunction.<-- MakeCallback MakeCallbackProc A pointer to the MakeCallbackfunction.--> busID UInt16 The bus number requested. DESCRIPTION
You normally call theSCSIReregisterBusfunction in response to a SCSIRegisterWithNewXPT request. This function is identical toSCSIRegisterBusexcept 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 theSIMInitfunction.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
TheSCSIReregisterBusfunction 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