home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-14 | 76.5 KB | 2,601 lines |
- {
- ════════════════════════════════════════════════════════════════════════════
-
- Visionix SCSI Abstraction Library High-level (VSALHIGH)
- Copyright 1991,92,93 Visionix
- ALL RIGHTS RESERVED
-
- ────────────────────────────────────────────────────────────────────────────
-
- Revision history in reverse chronological order:
-
- Initials Date Comment
- ──────── ──────── ────────────────────────────────────────────────────────
-
- lpg 03/16/93 Added Source Documentation
-
- mep 02/11/93 Cleaned up code for beta release
-
- jrt 02/08/93 Sync with beta 0.12 release
-
- jrt 11/21/92 Sync with beta 0.08
-
- jrt 09/01/92 First logged revision.
-
- ════════════════════════════════════════════════════════════════════════════
-
-
- INCOMPLETE FUNCTIONS
- --------------------
-
- SAL_S2DasdSetLimits
- SAL_S2DasdSearchData
-
-
- }
-
- Unit VSALHIGH;
-
-
- Uses
-
- VTypes,
- VSAL;
-
-
-
- {------------------}
- { SCSI-2 Constants }
- {------------------}
-
- Const
-
-
- {----------------------------}
- { Sense Data Flags and masks }
- {----------------------------}
-
- RS_Valid = $80;
- RS_SenseKey = $0F;
- RS_IncorrectLength = $20;
- RS_EOM = $40;
- RS_Filemark = $80;
-
- RS_SKSV = $80;
-
-
- {------------------------------}
- { Inquiry Data Flags and masks }
- {------------------------------}
-
- INQ_PQPresent = $00;
- INQ_PQNotPresent = $20;
- INQ_PQReserved = $40;
- INQ_PQNotSupported = $60;
-
- INQ_Removable = $80;
-
- INQ_ANSIVersion = $07;
- INQ_ECMAVersoin = $38;
- INQ_ISOVersion = $C0;
-
- INQ_AENC = $80;
- INQ_TermIOP = $40;
-
- INQ_ResDataFormat = $0F;
-
- INQ_SoftReset = $01;
- INQ_CommandQueing = $02;
- INQ_Linked = $08;
- INQ_Synchronous = $10;
- INQ_WBus16 = $20;
- INQ_WBus32 = $40;
- INQ_RelAddressing = $80;
-
-
- {-------------------}
- { SCSI Device Types }
- {-------------------}
-
- DEV_DASD = $00;
- DEV_Sequential = $01;
- DEV_Printer = $02;
- DEV_Processor = $03;
- DEV_WORM = $04;
- DEV_CDROM = $05;
- DEV_Scanner = $06;
- DEV_Optical = $07;
- DEV_Changer = $08;
- DEV_Comm = $09;
- DEV_Unknown = $1F;
-
-
-
- {--------------}
- { SCSI-2 Types }
- {--------------}
-
- Type
-
- T4Byte = Array[1..4] of BYTE;
- T3Byte = Array[1..3] of BYTE;
- T2Byte = Array[1..2] of BYTE;
-
- {--------------------}
- { Request Sense Data }
- {--------------------}
-
- Type
-
- TReqSense = RECORD
-
- Error : BYTE;
- Segment : BYTE;
- SenseKey : BYTE;
- Information : BYTE;
- AddSenLen : BYTE;
- CommandInfo : WORD;
- AddSenseCode : BYTE;
- AddSenseQual : BYTE;
- FRUCode : BYTE;
- SenseSpec : WORD;
-
- END;
-
-
- PReqSense = ^TReqSense;
-
-
- {--------------}
- { Inquiry Data }
- {--------------}
-
- Type
-
- TInquiry = RECORD
-
- DevType : BYTE;
- DevModifier : BYTE;
- Version : BYTE;
- ResDataFormat : BYTE;
- AdditionalLen : BYTE;
- Reserved1 : BYTE;
- Reserved2 : BYTE;
- Flags : BYTE;
- Vendor : Array[1..8 ] of CHAR;
- Product : Array[1..16] of CHAR;
- ProductRev : Array[1..4 ] of CHAR;
-
- END;
-
- PInquiry = ^TInquiry;
-
-
- {---------------------}
- { Direct Access Types }
- {---------------------}
-
- Type
-
- TReadCapacity = RECORD
-
- LBA : LONGINT;
- BlockSize : LONGINT;
-
- END;
-
-
-
- {-------------------------}
- { Sequential Access Types }
- {-------------------------}
-
- Type
-
- {-----------------------------}
- { Read BlockLimits Data Types }
- {-----------------------------}
-
- TSeqBlockLimits = RECORD
-
- Reserved : BYTE;
- MaxBlockLen : T3Byte;
- MinBlockLen : WORD;
-
- END;
-
- PSeqBlockLimits = ^TSeqBlockLimits;
-
-
-
- {--------------------------}
- { Read Position Data Types }
- {--------------------------}
-
- TSeqPosition = RECORD
-
- Flags : BYTE;
- Partition : BYTE;
- Reserved1 : BYTE;
- Reserved2 : BYTE;
- FirstBlock : WORD;
- LastBlock : WORD;
- NumBlocksInBuff : WORD;
- NumBytesInBuff : WORD;
-
- END;
-
- PSeqPosition = ^TSeqPosition;
-
-
- {--------------}
- { Mode Headers }
- {--------------}
-
- TSeqMHeader6 = RECORD
-
- ModeDataLen : BYTE;
- MediumType : BYTE;
- DevParam : BYTE;
- BlockDescLen : BYTE;
-
- END;
-
- PSeqMHeader6 = ^TSeqMHeader6;
-
-
- TSeqMHeader10 = RECORD
-
- ModeDataLen : WORD;
- MediumType : BYTE;
- DevParam : BYTE;
- Reserved1 : BYTE;
- Reserved2 : BYTE;
- BlockDescLen : WORD;
-
- END;
-
- PSeqMHeader10 = ^TSeqMHeader10;
-
- {---------------------------}
- { Seq Mode Block Descriptor }
- {---------------------------}
-
- TSeqMBlockDesc = RECORD
-
- DensityCode : BYTE;
- NumBlocks : T3Byte;
- Reserved : BYTE;
- BlockLen : T3Byte;
-
- END;
-
- {------------------------------}
- { Dev Config Mode Select Pager }
- {------------------------------}
-
- TSeqMPageDevConfig = RECORD
-
- PageCode : BYTE;
- PageLen : BYTE;
- ActiveFormat : BYTE;
- ActivePartition : BYTE;
- WrBuffFullRatio : BYTE;
- RdBuffFullRation : BYTE;
- WriteDelayTime : WORD;
- Flags1 : BYTE;
- GapSize : BYTE;
- Flags2 : BYTE;
- BuffSizeAtEW : T3Byte;
- Compression : BYTE;
- Reserved : BYTE;
-
- END;
-
- PSeqMPageDevConfig = ^TSeqMPageDevConfig;
-
-
- {------------------------}
- { Medium Partitions Page }
- {------------------------}
-
- TSeqMPageMediumPar = RECORD
-
- PageCode : BYTE;
- PageLen : BYTE;
- MaxAddPars : BYTE;
- AddParsDefined : BYTE;
- Flags : BYTE;
- MediumFormatRec : BYTE;
- Reserved1 : BYTE;
- Reserved2 : BYTE;
- ParSize : Array[1..2] of WORD;
-
- END;
-
-
- PSeqMPageMediumPar = ^TSeqMPageMediumPar;
-
- {--------------------------}
- { Mode Error Recovery Page }
- {--------------------------}
-
-
- TSeqMPageErrRecovery = RECORD
-
- PageCode : BYTE;
- PageLen : BYTE;
- Flags : BYTE;
- ReadRetryCount : BYTE;
- Reserved1 : BYTE;
- Reserved2 : BYTE;
- Reserved3 : BYTE;
- Reserved4 : BYTE;
- WriteRetryCount : BYTE;
- REserved5 : BYTE;
- Reserved6 : BYTE;
- Reserved7 : BYTE;
-
- END;
-
- PSeqMPageErrRecovery = ^TSeqMPageErrRecovery;
-
- {---------------}
- { Printer Types }
- {---------------}
-
- {----------------------------------------}
- { Parallel Printer Interface Params Page }
- {----------------------------------------}
-
- Type
-
- TPrinterMPagePPIParams = RECORD
-
- PageCode : BYTE;
- ParamLen : BYTE;
- Flags : BYTE;
- Reserved : BYTE;
-
- END;
-
- PPrinterMPagePPIParams = ^TPrinterMPagePPIParams;
-
- Const
-
-
- prnMPagePPIParams = $03;
-
- prnAutoFeed = $01;
- prnVES = $02;
- prnVCBS = $04;
- prnVCBP = $08;
- prnPIPC = $20;
-
- prnParityMask = $C0;
- prnParityShift = 5;
- prnParityNone = $00;
- prnParityEven = $40;
- PrnParityOdd = $80;
-
-
- {-------------------------------}
- { Printer Options Mode Sel Page }
- {-------------------------------}
-
- Type
-
- TPrinterMPageOptions = RECORD
-
- PageCode : BYTE;
- ParamLen : BYTE;
- FontID : BYTE;
- Flags : BYTE;
- MaxLineLen : WORD;
- EVFUStartChar : CHAR;
- EVFUStopChar : CHAR;
- SlewOptions : BYTE;
- DataTermOptions : BYTE;
- Reserved1 : BYTE;
- Reserved2 : BYTE;
-
- END;
-
- PPrinterMPageOptions = ^TPrinterMPageOptions;
-
- Const
-
- prnMPageOptions = $05;
-
- prnAFC = $01;
- prnSCTE = $02;
-
- prnSlewModeMask = $30;
- prnSlewModeShift = 4;
-
- prnLineSlewMask = $F0;
- prnLineSlewShift = 4;
- prnFormSlewMask = $0F;
-
- prnDataTermMask = $F0;
- prnDataTermShift = 4;
-
-
- {---------------------------------}
- { Printer RS-232 Mode Select Page }
- {---------------------------------}
-
- Type
-
- TPrinterMPageRS232Params = RECORD
-
- PageCode : BYTE;
- ParamLen : BYTE;
- StopBitLen : BYTE;
- Flags1 : BYTE;
- Flags2 : BYTE;
- BPS : T3BYTE;
-
- END;
-
- PPrinterMPageRS232Params = ^TPrinterMPageRS232Params;
-
- Const
-
- prnBPCMask = $0F;
-
- prnPacingMask = $0F;
- prnPacingNone = $00;
- prnPacingXONOFF = $01;
- prnPacingETXACK = $02;
- prnPacingDTR = $04;
-
- prn232ParityMask = $E0;
- prn232ParityShift = $6;
- prn232ParityNone = $00;
- prn232ParityMark = $20;
- prn232ParitySpace = $40;
- prn232ParityOdd = $60;
- prn232ParityEven = $80;
-
-
-
-
- {------------------------------}
- { SCSI-2 All Device Functions. }
- {------------------------------}
-
- {---------------------------------------------------------------------------}
-
- Function SAL_S2ChangeDefinition( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- Definition : BYTE;
- ParamSize : LONGINT;
- ParamBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { Issues a CHANGE DEFINITION the specified device. }
-
-
- {---------------------------------------------------------------------------}
-
- Function SAL_S2Inquiry( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- PageCode : BYTE;
- InqSize : LONGINT;
- InqBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { Issues an INQUIRY to the specified device. }
-
- Function SAL_S2ModeSelect( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ModeSelSize : LONGINT;
- ModeSelBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { Issues a MODE SELECT to the specified device. }
-
-
-
- Function SAL_S2ModeSense( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Page : BYTE;
- PCF : BYTE;
- ModeSenSize : LONGINT;
- ModeSenBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { Issues a MODE SENSE to the specified device. }
-
-
-
-
-
-
- Function SAL_S2RequestSense( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
-
- { Issues a REQUEST SENSE to the specified device. }
-
-
-
-
-
-
- Function SAL_S2TestUnitReady( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { Issues a TEST UNIT READY to the specified device. }
-
-
-
-
- {--------------------------------------------------------------------------}
-
-
- {------------------------}
- { SCSI-2 DASD Functions }
- {------------------------}
-
-
- Function SAL_S2DasdFormat( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- VendorSpec : BYTE;
- Interleave : WORD;
- DataSize : LONGINT;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTEr ): TError;
-
- { Issues a DASD FORMAT to the specified device. }
-
-
-
-
-
- Function SAL_S2DasdLockCache( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : LONGINT;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { Issues a LOCK/UNLOCK CACHE command }
-
-
-
-
-
- Function SAL_S2DasdPreFetch( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : LONGINT;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { Issues a PRE-FETCH command }
-
-
-
-
-
- Function SAL_S2DasdLockMedia( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- Function SAL_S2DasdUnLockMedia( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { These commands issue the PREVENT/ALLOW MEDIA REMOVAL command.}
-
-
-
-
- Function SAL_S2DasdRead6( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : BYTE;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { These commands issue the 6 byte READ command. }
-
-
-
-
- Function SAL_S2DasdRead( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { These commands issue the 10 byte READ COMMAND. }
-
-
-
-
-
- Function SAL_S2DasdReadCapacity( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER;
- Var LBA : LONGINT;
- Var BlockSize : LONGINT ): TError;
-
- Function SAL_S2DasdXReadCapacity( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- Flags2 : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER;
- Var RLBA : LONGINT;
- Var BlockSize : LONGINT ): TError;
-
-
- { These commands issue the READ CAPACITY command. }
-
-
-
-
- Function SAL_S2DasdReadDefectData( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DfDataSize : WORD;
- DfDataBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { Issues a READ DEFECT DATA command }
-
-
-
-
- Function SAL_S2DasdReadLong( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the READ LONG command. }
-
-
-
-
-
- Function SAL_S2DasdReassignBlocks( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the REASSIGN BLOCKS command. }
-
-
-
-
-
-
- Function SAL_S2DasdRelease( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReserveID : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the RELEASE command. }
-
-
-
-
- Function SAL_S2DasdReserve( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReserveID : BYTE;
- ExtentSize : LONGINT;
- ExtentBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { This command issues the RESERVE command. }
-
-
-
-
-
-
- Function SAL_S2DasdRezeroUnit( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { This command issues the REZERO UNIT command. }
-
-
-
-
- Function SAL_S2DasdSearchData( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- NumBlocks : WORD;
- ParamSize : LONGINT;
- ParamBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { This command issues the SEARCH DATA command. }
-
-
-
-
-
- Function SAL_S2DasdSeek( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { This command issues the SEEK command. }
-
-
-
-
-
- Function SAL_S2DasdSetLimits( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { These commands issue the SET LIMITS command. }
-
-
-
-
-
-
-
- Function SAL_S2DasdStartStopUnit( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- { These commands issue the START/STOP UNIT COMMAND. }
-
-
-
-
-
- Function SAL_S2DasdVerify( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { These commands issue the SET LIMITS command. }
-
-
-
-
-
-
-
- Function SAL_S2DasdWrite( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the DASD WRITE command. }
-
-
-
-
-
-
- Function SAL_S2DasdWriteAndVerify( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the DASD WRITE AND VERIFY command. }
-
-
-
-
-
- Function SAL_S2DasdWriteLong( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the DASD WRITE LONG command. }
-
-
-
-
- Function SAL_S2DasdWriteSame( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the DASD WRITE SAME command. }
-
-
-
- (* *************************************
- STARTING HERE - CODE COMMENTED OUT...
- ************************************* *)
-
-
- (****
-
- {────────────────────────────────────────────────────────────────────────────}
-
- {--------------------------}
- { SCSI-2 Printer Functions }
- {--------------------------}
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Function SAL_S2PrinterFormat( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- { This command issues the PRINTER FORMAT command. }
-
-
-
-
- Function SAL_S2PrinterPrint( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the PRINTER PRINT command. }
-
-
- Function SAL_S2PrinterRecoverData( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the PRINTER RECOVER BUFFERED DATA }
-
-
-
- Function SAL_S2PrinterSlewPrint( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- SlewVal : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the PRINTER SLEW AND PRINT }
-
-
-
-
-
- Function SAL_S2PrinterStopPrint( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- VendorByte : BYTE ): TError;
-
- { This command issues the PRINTER STOP PRINT }
-
-
-
-
-
-
- Function SAL_S2PrinterSyncBuffer( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- { This command issues the PRINTER SYNCHRONIZE BUFFER }
-
-
- {--------------------------------------------------------------------------}
-
-
- {----------------------------}
- { SCSI-2 Processor Functions }
- {----------------------------}
-
-
-
- Function SAL_S2ProcSend( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the PROCESSOR SEND command }
-
-
-
-
-
-
- Function SAL_S2ProcReceive( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the PROCESSOR RECEIVE command }
-
-
-
- {--------------------------------------------------------------------------}
-
-
-
-
- Function SAL_S2SeqErase( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- { This command issues the SEQUENTIAL ERASE command }
-
-
-
-
-
- Function SAL_S2SeqLoadUnload( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE ): TError;
-
- { This command issues the SEQUENTIAL LOAD/UNLOAD command }
-
-
-
-
- Function SAL_S2SeqLocate( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- Partition : BYTE ): TError;
-
- { This command issues the SEQUENTIAL LOCATE command }
-
-
-
-
-
- Function SAL_S2SeqRead( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL READcommand }
-
-
-
-
-
-
- Function SAL_S2SeqReadBlockLimits( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL READ BLOCK LIMITS command }
-
-
-
-
-
- Function SAL_S2SeqReadPosition( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL READ POSITION command }
-
-
-
-
-
-
- Function SAL_S2SeqReadReverse( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL READ REVERSE command }
-
-
-
-
- Function SAL_S2SeqRecoverData( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL RECOVER BUFFERED DATA command }
-
-
-
-
-
- Function SAL_S2SeqReleaseUnit( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- { This command issues the SEQUENTIAL RELEASE UNIT command }
-
-
-
-
- Function SAL_S2SeqReserveUnit( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- { This command issues the SEQUENTIAL RESERVE UNIT command }
-
-
-
-
-
-
- Function SAL_S2SeqRewind( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE ): TError;
-
- { This command issues the SEQUENTIAL REWIND command }
-
-
-
-
- Function SAL_S2SeqSpace( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Count : LONGINT ): TError;
-
- { This command issues the SEQUENTIAL SPACE command }
-
-
-
- Function SAL_S2SeqVerify( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL VERIFY command }
-
-
-
-
- Function SAL_S2SeqWrite( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the SEQUENTIAL WRITE command }
-
-
-
-
- Function SAL_S2SeqWriteFilemarks( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- NumMarks : LONGINT ): TError;
-
- { This command issues the SEQUENTIAL ERASE command }
-
-
-
-
-
- {--------------------------------------------------------------------------}
-
- {-------------------------}
- { SCSI-2 CD-ROM Functions }
- {-------------------------}
-
-
-
-
- Function SAL_S2CDPauseResume( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE ): TError;
-
- { This command issues the CD-ROM PAUSE/RESUME command }
-
-
-
- Function SAL_S2CDPlayAudio10( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- { This command issues the CD-ROM PLAY AUDIO 10 command }
-
-
-
- Function SAL_S2CDPlayAudio12( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- { This command issues the CD-ROM PLAY AUDIO 12 command }
-
-
-
-
- Function SAL_S2CDPlayAudioMSF( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- SM,SS,SF : BYTE;
- EM,ES,EF : BYTE ): TError;
-
- { This command issues the CD-ROM PLAY AUDIO MSF command }
-
-
-
- Function SAL_S2CDPlayAudioTrackIdx( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ST,SI : BYTE;
- ET,EI : BYTE ): TError;
-
- { This command issues the CD-ROM PLAY AUDIO TRACK INDEX }
-
-
-
- Function SAL_S2CDPlayAudioTrackRel( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- TrackRelLBA : LONGINT;
- DataSize : LONGINT ): TError;
-
- { This command issues the CD-ROM PLAY AUDIO--TRACK RELATIVE ommand }
-
-
-
-
- Function SAL_S2CDReadCapacity( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the CD-ROM READ CAPACITY command }
-
-
-
- Function SAL_S2CDReadHeader( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the CD-ROM PAUSE/RESUME command }
-
-
-
- Function SAL_S2CDReadSubChannel( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- LBA : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the CD-ROM READ SUB-CHANNEL command }
-
-
-
- Function SAL_S2CDReadTOC( Bus : BYTE;
- SubChannel : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartTrack : BYTE;
- DataSize : LONGINT;
- DataBuff : Pointer ): TError;
-
- { This command issues the CD-ROM READ TOC command }
-
-
- {--------------------------------------------------------------------------}
-
- {--------------------------}
- { SCSI-2 Scanner Functions }
- {--------------------------}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *********************** *)
-
-
-
-
-
-
-
-
-
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2ChangeDefinition( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- Definition : BYTE;
- ParamSize : LONGINT;
- ParamBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Flags2 ?
- Definition ?
- ParamSize Size of New Definition Data
- ParamBuff Pointer to New Definition Data
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a CHANGE DEFINITION the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2Inquiry( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- PageCode : BYTE;
- InqSize : LONGINT;
- InqBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- PageCode Page Code
- InqSize Size of Inquiry Data Buffer
- InqBuff Pointer to Inquiry Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues an INQUIRY to the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2ModeSelect( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ModeSelSize : LONGINT;
- ModeSelBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ModeSelSize Size of Mode Select Buffer
- ModeSelBuff Pointer to Mode Select Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a MODE SELECT to the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2ModeSense( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Page : BYTE;
- PCF : BYTE;
- ModeSenSize : LONGINT;
- ModeSenBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Page Request Page Number
- PCF Page Code Format Flag (1=Page Code Format,0=Not)
- ModeSenSize Size of Mode Sense Buffer
- ModeSenBuff Pointer to Mode Sense Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a MODE SENSE to the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2RequestSense( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a REQUEST SENSE to the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2TestUnitReady( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a TEST UNIT READY to the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdFormat( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- VendorSpec : BYTE;
- Interleave : WORD;
- DataSize : LONGINT;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- VendorSpec ?
- Interleave Desired Interleave
- DataSize Size of Format Information Data
- DataBuff Pointer to Format Infomation Data
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a DASD FORMAT to the specified device.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdLockCache( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : LONGINT;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Cache Lock
- NumBlocks Number of Blocks to Cache Lock
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a LOCK/UNLOCK CACHE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdPreFetch( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : LONGINT;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to PreFetch
- NumBlocks Number of Blocks to PreFetch
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a PRE-FETCH command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdLockMedia( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdUnLockMedia( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- These commands issue the PREVENT/ALLOW MEDIA REMOVAL command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdRead6( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : BYTE;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Read
- NumBlocks Number of Blocks to Read
- DataBuff Pointer to Read Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- These commands issue the 6 byte READ command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdRead( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Read
- NumBlocks Number of Blocks to Read
- DataBuff Pointer to Read Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- These commands issue the 10 byte READ COMMAND.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdReadCapacity( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER;
- Var LBA : LONGINT;
- Var BlockSize : LONGINT ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
- LBA VAR Returned Last Block Address
- BlockSize VAR Returned Block Size
-
- [RETURNS]
-
- Function : ?
- (VAR : [LBA] Last Block Address)
- (VAR : [BlockSize] Block Size)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdXReadCapacity( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- Flags2 : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER;
- Var RLBA : LONGINT;
- Var BlockSize : LONGINT ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- LBA ?
- Flags2 ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
- RLBA VAR Returned Last Block Address
- BlockSize VAR Returned Block Size
-
- [RETURNS]
-
- Function : ?
- (VAR : [RLBA] Last Block Address)
- (VAR : [BlockSize] Block Size)
-
- [DESCRIPTION]
-
- These commands issue the READ CAPACITY command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdReadDefectData( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DfDataSize : WORD;
- DfDataBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DfDataSize Size of Defect List Data Buffer
- DfDataBuff Pointer to Defect List Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- Issues a READ DEFECT DATA command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdReadLong( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- DataSize : LONGINT;
- DataBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Start Read
- DataSize Size of Read Data Buffer
- DataBuff Pointer to Read Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the READ LONG command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdReassignBlocks( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- DataSize : LONGINT;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- DataSize Length of Block Reassign Data List
- DataBuff Pointer to Block Reassign Data List
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the REASSIGN BLOCKS command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdRelease( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReserveID : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReserveID ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the RELEASE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdReserve( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReserveID : BYTE;
- ExtentSize : LONGINT;
- ExtentBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReserveID ?
- ExtentSize Length of Reservation Extent Data
- ExtentBuff Pointer to Reservation Extent Data
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointerto Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the RESERVE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdRezeroUnit( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the REZERO UNIT command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdSearchData( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- NumBlocks : WORD;
- ParamSize : LONGINT;
- ParamBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : Pointer ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- LBA ?
- NumBlocks Number of Blocks to ?
- ParamSize Size of Search Data Buffer
- ParamBuff Pointer to Search Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEARCH DATA command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdSeek( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- LBA : LONGINT;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- LBA ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Data
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the SEEK command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdSetLimits( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block of Limit
- NumBlocks Number of Blocks to Set Limit On
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- These commands issue the SET LIMITS command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdStartStopUnit( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- Flags2 : BYTE;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- Flags2 ?
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- These commands issue the START/STOP UNIT COMMAND.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdVerify( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : Pointer;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags : BYTE;
- StartBlock Starting Block to
- NumBlocks Number of Blocks to Verify
- DataBuff Pointer to Verify Data Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the DASD VERIFY command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdWrite( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Write
- NumBlocks Number of Blocks to Write
- DataBuff Pointer to Write Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the DASD WRITE command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdWriteAndVerify( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Write
- NumBlocks Number of Blocks to Write
- DataBuff Pointer to Write Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the DASD WRITE AND VERIFY command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdWriteLong( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Write
- NumBlocks Number of Blocks to Write
- DataBuff Pointer to Write Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the DASD WRITE LONG command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function SAL_S2DasdWriteSame( Handle : THandle;
- Bus : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Flags : BYTE;
- StartBlock : LONGINT;
- NumBlocks : WORD;
- DataBuff : POINTER;
- ReqSenSize : LONGINT;
- ReqSenBuff : POINTER ): TError;
-
- [PARAMETERS]
-
- Handle ?
- Bus Device Host Adapter Number
- Target Device Target ID
- Lun Device Logical Unit Number
- Flags ?
- StartBlock Starting Block to Write
- NumBlocks Number of Blocks to Write
- DataBuff Pointer to Write Buffer
- ReqSenSize Size of Request Sense Buffer
- ReqSenBuff Pointer to Request Sense Buffer
-
- [RETURNS]
-
- [DESCRIPTION]
-
- This command issues the DASD WRITE SAME command.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-