home *** CD-ROM | disk | FTP | other *** search
- {
- ════════════════════════════════════════════════════════════════════════════
-
- Visionix ASPI Low-level Functions Unit (VASPILOW)
- Copyright 1991,92,93 Visionix
- ALL RIGHTS RESERVED
-
- ────────────────────────────────────────────────────────────────────────────
-
- Revision history in reverse chronological order:
-
- Initials Date Comment
- ──────── ──────── ────────────────────────────────────────────────────────
-
- mep 02/11/93 Cleaned up code for beta release
-
- mep 02/08/93 Sync with beta 0.12 release
-
- ════════════════════════════════════════════════════════════════════════════
- }
-
- Unit ASPILow;
-
-
- Uses
-
- DOS;
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Const
-
- asReqInProc = $00;
- asReqDone = $01;
- asReqAborted = $02;
- asReqDoneErr = $03;
- asReqInvalid = $04;
- asReqBadHost = $05;
- asReqBadDev = $06;
-
- Type
-
- TError = WORD;
-
-
-
- {---------------------------}
- { Ascii ID for Host Inquiry }
- {---------------------------}
-
- TAspiAsciiID = ARray[1..16] of CHAR;
- PAspiAsciiID = ^TAspiAsciiId;
-
-
-
- {--------------------------}
- { Host Inquiry Unique data }
- {--------------------------}
-
- TAspiHostInqUnique = Array[1..16] of BYTE;
- PAspiHostInqUnique = ^TAspiHostInqUnique;
-
-
-
- {---------------------}
- { ASPI Caps structure }
- {---------------------}
-
- TAspiCaps = RECORD
-
- Reserved : BYTE;
-
- END;
-
- PAspiCaps = ^TAspiCaps;
-
-
-
- {---------------------}
- { Host Inquiry Packet }
- {---------------------}
-
- TAspiHostInqPacket = RECORD
-
- Command : BYTE;
- Status : BYTE;
- HostNum : BYTE;
- SCSIReqFlags : BYTE;
- Reserved : LONGINT;
-
- NumHosts : BYTE;
- HostSCSIid : BYTE;
- SCSIManagerID : TAspiAsciiID;
- HostAdapterID : TAspiAsciiID;
- HostUniqueParams : TAspiHostInqUnique;
-
- END;
-
- PAsipHostInqPacket = ^TAspiHostInqPacket;
-
-
-
- {---------------------}
- { Get Dev Type Packet }
- {---------------------}
-
- TAspiGetDevTypePacket = RECORD
-
- Command : BYTE;
- Status : BYTE;
- HostNum : BYTE;
- SCSIReqFlags : BYTE;
- Reserved : LONGINT;
-
- Target : BYTE;
- LUN : BYTE;
- DevType : BYTE;
-
- END;
-
- PAspiGetDevTypePacket = ^TAspiGetDevTypePacket;
-
-
-
- {-----------------}
- { Exec SCI Packet }
- {-----------------}
-
- TAspiExecSCSIPacket = RECORD
-
- Command : BYTE;
- Status : BYTE;
- HostNum : BYTE;
- SCSIReqFlags : BYTE;
- Reserved : LONGINT;
-
- Target : BYTE;
- LUN : BYTE;
- DataSize : LONGINT;
- SenseSize : BYTE;
- DataBuff : POINTER;
- SRBLink : POINTER;
- CDBSize : BYTE;
- HostStatus : BYTE;
- DevStatus : BYTE;
- PostRoutine : POINTER;
- ASPIWorkSpace : Array[1..34] of BYTE;
-
- CDB : Array[1..16+64] of BYTE;
-
- END;
-
- PAspiExecSCSIPacket = ^TAspiExecSCSIPacket;
-
-
-
- {-----------------------------}
- { ASPI Get Int 13 info packet }
- {-----------------------------}
-
- TAspiGetInt13InfoPacket = RECORD
-
- Command : BYTE;
- Status : BYTE;
- HostNum : BYTE;
- SCSIReqFlags : BYTE;
- Reserved : LONGINT;
-
- Target : BYTE;
- LUN : BYTE;
- Int13Flags : BYTE;
- Int13Drive : BYTE;
- PrefHeadTrans : BYTE;
- PrefSecTrans : BYTE;
- Reserved2 : Array[1..10] of BYTE;
-
- END;
-
- PAspiGetInt13InfoPacket = ^TAspiGetInt13InfoPacket;
-
-
-
- {-----------------------------}
- { ASPI Host Inquiry structure }
- {-----------------------------}
-
- TAspiHostInq = RECORD
-
- HostSCSIid : BYTE;
- HostAdapterID : TAspiAsciiID;
- SCSIManagerID : TAspiAsciiID;
- HostUniqueParams : TAspiHostInqUnique;
-
- END;
-
- PAspiHostInq = ^TAspiHostInq;
-
-
-
- {-----------------------------------}
- { ASPI Int13 (Drive) Info structure }
- {-----------------------------------}
-
- TAspiInt13Info = RECORD
-
- Int13Flags : BYTE;
- Int13Drive : BYTE;
- PrefHeadTrans : BYTE;
- PrefSecTrans : BYTE;
-
- END;
-
- PAspiInt13Info = ^TAspiInt13Info;
-
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Procedure ASPI_GetCaps( AspiCaps : PAspiCaps );
-
- Function ASPI_LibInit : WORD;
-
- Procedure ASPI_ExecPacket( ASPIPacket : POINTER );
-
- Function ASPI_GetNumHosts : BYTE;
-
- Function ASPI_HostInquiry( HostNum : BYTE;
- HostInq : PAspiHostInq ):TError;
-
- Function ASPI_GetDevType( HostNum : BYTE;
- Target : BYTE;
- Lun : BYTE ):BYTE;
-
-
- Function ASPI_GetINT13Info( HostNum : BYTE;
- Target : BYTE;
- Lun : BYTE;
- Int13Info : PAspiInt13Info ):TError;
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Var
-
- ASPIEntry : POINTER;
-
- {────────────────────────────────────────────────────────────────────────────}
-
-