Important: The SCSI Manager is deprecated in Mac OS X v10.2 and later. You should use I/O Kit to support SCSI devices instead. For more information, see SCSI Architecture Model Device Interface Guide.
A function identified as deprecated has been superseded and may become unsupported in the future.
Disposes of a UPP to a completion routine. (Deprecated in Mac OS X v10.2. There is no replacement function. For details about communicating with SCSI devices in Mac OS X v10.2 and later, see SCSI Architecture Model Device Interface Guide.)
Not recommended
void DisposeSCSICallbackUPP ( SCSICallbackUPP userUPP );
SCSI.h
Calls your completion routine. (Deprecated in Mac OS X v10.2. There is no replacement function. For details about communicating with SCSI devices in Mac OS X v10.2 and later, see SCSI Architecture Model Device Interface Guide.)
Not recommended
void InvokeSCSICallbackUPP ( void *scsiPB, SCSICallbackUPP userUPP );
You should not have to call the InvokeSCSICallbackUPP
function as the system calls your completion routine for you.
SCSI.h
Creates a new universal procedure pointer (UPP) to a completion routine. (Deprecated in Mac OS X v10.2. There is no replacement function. For details about communicating with SCSI devices in Mac OS X v10.2 and later, see SCSI Architecture Model Device Interface Guide.)
Not recommended
SCSICallbackUPP NewSCSICallbackUPP ( SCSICallbackProcPtr userRoutine );
See the description of the SCSICallbackUPP
data type.
SCSI.h
Initiates a SCSI transaction or request a service from the XPT or SIM. (Deprecated in Mac OS X v10.2. There is no replacement function. For details about communicating with SCSI devices in Mac OS X v10.2 and later, see SCSI Architecture Model Device Interface Guide.)
Not recommended
OSErr SCSIAction ( SCSI_PB *parameterBlock );
A pointer to a SCSI Manager parameter block.
A result code. See “SCSI Manager Result Codes.”
The SCSIAction
function initiates the request specified by the scsiFunctionCode
field of the parameter block. Certain types of requests are handled by the XPT, but most are handled by the SIM.
When called asynchronously, SCSIAction
normally returns the NoErr
result code, indicating that the request was queued successfully. The result of the SCSI transaction is returned in the scsiResult
field upon completion. If the SCSIAction
function returns an error code, the request was not queued and the completion routine will not be called.
When the completion routine is called, it receives the A5 world that existed when the SCSIAction
request was received. If A5 was invalid when the request was made, it is also invalid in the completion routine.
Your completion routine should use the following function prototype:
pascal void (*CallbackProc) (void * scsiPB);
There is no implied ordering of asynchronous requests made to different devices. An earlier request may be started later, and a later request may complete earlier. However, a series of requests to the same device is issued to that device in the order received, except when the scsiSIMQHead
flag is set in the scsiFlags
field of the parameter block.
When called synchronously, the SCSIAction
function returns the actual result of the operation. It also places this result in the scsiResult
field.
SCSI.h
© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-07-12)