h6. [[CDFSDriver]] h6(. » [[CDFSDriver SWI Calls|SWI Calls]] h6((. » CD_SCSIUserOp h2. CD_SCSIUserOp h5. (SWI &4126B) |_<^{width:4em}. Entry | | |<^. R0 |<^. "Data Transfer":#datatransfer (Value of Bits 24 - 25) | |<^. R1 |<^. Length of SCSI control block | |<^. R2 |<^. -> SCSI control block | |<^. R3 |<^. -> buffer for data transfer | |<^. R4 |<^. Length of transfer | |<^. R5 |<^. Timeout in centi-seconds (0 = default) | |<^. R7 |<^. Pointer to [[CDFS Control Block]] | |_<^{width:4em}. Exit | | |<^. R3 |<^. Updated| |<^. R4 |<^. Updated | |<^. R5 |<^. Preserved | |<^. R6 |<^. Preserved | |<^. R7 |<^. Preserved | |<^. R8 |<^. Preserved | |<^. R9 |<^. Preserved | h4. Flags NZC = corrupted If V set R0-R2 are as for SWI [[SCSI_Op]] or R0 -> error not in SCSI range and R1,R2 corrupt else R0-R2 = preserved h4(#datatransfer). Data Transfer Values |_<^{width:4em}. Bit Value |_<^. Meaning | |<^. 0 |<^. No transfer | |<^. 1 |<^. Read | |<^. 2 |<^. Write | |<^. 3 |<^. Reserved | h4. Use When you want to issue a SCSI command to a drive, you should use this call, rather than [[SCSI_Op]]. This will ensure that drives which aren't part of the SCSI stack (e.g. ATAPI drives) will receive the command. h4. Notes CD_SCSIUserOp must not be called in the background (for compatibility with ATAPI drives). h4. See also * [[CDFS Technical Details]]