home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-14 | 68.3 KB | 2,420 lines |
- (* ******************************
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
-
- {────────────────────────────────────────────────────────────────────────────}
-
- {--------------------------}
- { SCSI-2 Printer Functions }
- {--------------------------}
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2PrinterFormat( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PRINTER FORMAT command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2PrinterFormat( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $04,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2PrinterFormat:=HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2PrinterFormat }
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
-
-
- { This command issues the PRINTER PRINT command. }
-
- (*-
-
- [FUNCTION]
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2PrinterPrint( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $0A,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2PrinterPrint:= HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2PrinterPrint }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2PrinterRecoverData( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PRINTER RECOVER BUFFERED DATA.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $14,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2PrinterRecoverData:=HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2PrinterRecoverData }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- This command issues the PRINTER SLEW AND PRINT.
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2PrinterSlewPrint( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- SlewVal : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- SlewVal ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PRINTER SLEW AND PRINT.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2PrinterSlewPrint( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- SlewVal : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $0B,
- Flags,
- SlewVal,
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2PrinterSlewPrint :=HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2PrinterSlewPrint }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- This command issues the PRINTER STOP PRINT.
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2PrinterStopPrint( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- VendorByte : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- VendorByte ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PRINTER STOP PRINT.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2PrinterStopPrint( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- VendorByte : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $1B,
- Flags,
- VendorByte,
- 0,
- 0,
- 0 );
-
- SAL_S2PrinterStopPrint:=HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2PrinterStopPrint }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2PrinterSyncBuffer( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PRINTER SYNCHRONIZE BUFFER.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2PrinterSyncBuffer( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $10,
- Flags,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2PrinterSyncBuffer :=HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2PrinterSyncBuffer }
-
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
- {----------------------------}
- { SCSI-2 Processor Functions }
- {----------------------------}
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2ProcSend( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PROCESSOR SEND command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2ProcSend( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $08,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2ProcSend := HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2ProcSend }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2ProcReceive( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the PROCESSOR RECEIVE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2ProcReceive( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $0A,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2ProcReceive:= HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2ProcReceive }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqErase( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL ERASE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqErase( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $19,
- Flags,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2SeqErase := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqErase }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqLoadUnload( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Flags2 ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL LOAD/UNLOAD command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqLoadUnload( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $1B,
- Flags,
- 0,
- 0,
- Flags2,
- 0 );
-
- SAL_S2SeqLoadUnload := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqLoadUnload }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqLocate( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- Partition : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- LBS Logical Block Size
- Partition Partition Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL LOCATE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqLocate( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- Partition : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $2B,
- Flags,
- 0,
- T4Byte( LBA )[4],
- T4Byte( LBA )[3],
- T4Byte( LBA )[2],
- T4Byte( LBA )[1],
- 0,
- Partition,
- 0 );
-
- SAL_S2SeqLocate := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqLocate }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqRead( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL READ command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqRead( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $08,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2SeqRead := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqRead }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqReadBlockLimits( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL READ BLOCK LIMITS command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqReadBlockLimits( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $08,
- Flags,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2SeqReadBlockLimits:=HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- 6,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqReadBlockLimits }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqReadPosition( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL READ POSITION command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqReadPosition( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $34,
- Flags,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2SeqReadPosition := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- 20,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqReadPosition }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqReadReverse( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL READ REVERSE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $0F,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2SeqReadReverse:= HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqReadReverse }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqRecoverData( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL RECOVER BUFFERED DATA command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqRecoverData( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $14,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2SeqRecoverData := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqRecoverData }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqReleaseUnit( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL RELEASE UNIT command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqReleaseUnit( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $17,
- Flags,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2SeqReleaseUnit := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqReleaseUnit }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqReserveUnit( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL RESERVE UNIT command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqReserveUnit( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $16,
- Flags,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2SeqReserveUnit := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqReserveUnit }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqRewind( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL REWIND command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqRewind( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $01,
- Flags,
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2SeqRewind := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqRewind }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqSpace( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Count : LONGINT ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Count Number of Spaces to Space
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL SPACE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqSpace( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Count : LONGINT ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $01,
- Flags,
- T4Byte( Count )[3],
- T4Byte( Count )[2],
- T4Byte( Count )[1],
- 0 );
-
- SAL_S2SeqSpace := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqSpace }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqVerify( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL VERIFY command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqVerify( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $13,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2SeqVerify := HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqVerify }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqWrite( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL WRITE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqWrite( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $0A,
- Flags,
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2SeqWrite := HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqWrite }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2SeqWriteFilemarks( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- NumMarks : LONGINT ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- NumMarks Number of FileMarks to Write
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEQUENTIAL ERASE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2SeqWriteFilemarks( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- NumMarks : LONGINT ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB6Load( @CDB,
- $10,
- Flags,
- T4Byte( NumMarks )[3],
- T4Byte( NumMarks )[2],
- T4Byte( NumMarks )[1],
- 0 );
-
- SAL_S2SeqWriteFilemarks:= HM_ExecSCSI( ES_Poll+ES_Write,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 6,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2SeqWriteFilemarks }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- {-------------------------}
- { SCSI-2 CD-ROM Functions }
- {-------------------------}
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDPauseResume( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Flags2 ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PAUSE/RESUME command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDPauseResume( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $4B,
- Flags,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- Flags2,
- 0 );
-
- SAL_S2CDPauseResume:= HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
-
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDPauseResume }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDPlayAudio10( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartLBA ?
- DataSize ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PLAY AUDIO 10 command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDPlayAudio10( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $45,
- Flags,
- T4Byte( StartLBA )[4],
- T4Byte( StartLBA )[3],
- T4Byte( StartLBA )[2],
- T4Byte( StartLBA )[1],
- 0,
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2CDPlayAudio10 := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDPlayAudio10 }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDPlayAudio12( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartLBA ?
- DataSize ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PLAY AUDIO 12 command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDPlayAudio12( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $45,
- Flags,
- T4Byte( StartLBA )[4],
- T4Byte( StartLBA )[3],
- T4Byte( StartLBA )[2],
- T4Byte( StartLBA )[1],
- 0,
- T4Byte( DataSize )[4],
- T4Byte( DataSize )[3],
- T4Byte( DataSize )[2] );
-
- CDB[10] := T4Byte( DataSize )[1];
- CDB[11] := 0;
-
- SAL_S2CDPlayAudio12 := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 12,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDPlayAudio12 }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDPlayAudioMSF( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- SM,SS,SF : BYTE;
- EM,ES,EF : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- SM,SS,SF Starting Min,Sec,Frame
- EM,ES,EF Ending Min,Sec,Frame
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PLAY AUDIO MSF command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDPlayAudioMSF( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- SM,SS,SF : BYTE;
- EM,ES,EF : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $47,
- Flags,
- 0,
- SM,
- SS,
- SF,
- EM,
- ES,
- EF,
- 0 );
-
- SAL_S2CDPlayAudioMSF := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDPlayAudioMSF }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDPlayAudioTrackIdx( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ST,SI : BYTE;
- ET,EI : BYTE ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ST,SI ?,?
- ET,EI ?,?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PLAY AUDIO TRACK INDEX.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDPlayAudioTrackIdx( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ST,SI : BYTE;
- ET,EI : BYTE ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $48,
- Flags,
- 0,
- 0,
- ST,
- SI,
- 0,
- ET,
- EI,
- 0 );
-
- SAL_S2CDPlayAudioTrackIdx:=HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDPlayAudioTrackIdx }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDPlayAudioTrackRel( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- TrackRelLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- TrackRelLBA ?
- DataSize ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PLAY AUDIO--TRACK RELATIVE ommand.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDPlayAudioTrackRel( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- TrackRelLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $49,
- Flags,
- T4Byte( TrackRelLBA )[4],
- T4Byte( TrackRelLBA )[3],
- T4Byte( TrackRelLBA )[2],
- T4Byte( TrackRelLBA )[1],
- 0,
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2CDPlayAudioTrackRel := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- NIL,
- 0,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDPlayAudioTrackRel }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDReadCapacity( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- LBA ?
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM READ CAPACITY command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDReadCapacity( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $49,
- Flags,
- T4Byte( LBA )[4],
- T4Byte( LBA )[3],
- T4Byte( LBA )[2],
- T4Byte( LBA )[1],
- 0,
- 0,
- 0,
- 0 );
-
- SAL_S2CDReadCapacity := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- DataBuff,
- 8,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDReadCapacity }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDReadHeader( Bus : BYTE;
- SubChannel : BYTE;
-
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- LBA ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the CD-ROM PAUSE/RESUME command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDReadHeader( Bus : BYTE;
- SubChannel : BYTE;
-
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $44,
- Flags,
- T4Byte( LBA )[4],
- T4Byte( LBA )[3],
- T4Byte( LBA )[2],
- T4Byte( LBA )[1],
- 0,
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2CDReadHeader := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDReadHeader }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDReadSubChannel( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- LBA : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Flags2 ?
- LBA ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- { This command issues the CD-ROM READ SUB-CHANNEL command }
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDReadSubChannel( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- LBA : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $42,
- Flags,
- Flags2,
- 0,
- 0,
- 0,
- 0,
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2CDReadSubChannel := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDReadSubChannel }
-
- {────────────────────────────────────────────────────────────────────────────}
-
- (*-
-
- [FUNCTION]
-
- Function SAL_S2CDReadTOC( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartTrack : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Bus ?
- SubChannel ?
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartTrack ?
- DataSize Size of Data Buffer
- DataBuff Pointer to Data Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- { This command issues the CD-ROM READ TOC command }
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
- -*)
-
- Function SAL_S2CDReadTOC( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartTrack : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
- Var
- CDB : TCDB;
-
- BEGIN
-
- HM_CDB10Load( @CDB,
- $43,
- Flags,
- 0,
- 0,
- 0,
- 0,
- StartTrack,
- T4Byte( DataSize )[2],
- T4Byte( DataSize )[1],
- 0 );
-
- SAL_S2CDReadTOC := HM_ExecSCSI( ES_Poll+ES_Read,
- Target,
- Lun,
- Channel,
- SubChannel,
- @CDB,
- 10,
- DataBuff,
- DataSize,
- NIL,
- 0,
- NIL );
-
- END; { SAL_S2CDReadTOC }
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
- {────────────────────────────────────────────────────────────────────────────}
-
- {--------------------------}
- { SCSI-2 Scanner Functions }
- {--------------------------}
-
-
-
-
-
-
- ************************ *)
-
-