home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
HDPSTACK.LZH
/
HDPSTACK.MSA
/
HDPSTACK
/
SOURCE
/
HDPSFUNC.I
< prev
next >
Wrap
Text File
|
1995-02-22
|
3KB
|
128 lines
IMPLEMENTATION MODULE HDPSFunctions;
FROM BIOS IMPORT DriveSet;
FROM Strings IMPORT String, StrEqual;
FROM SYSTEM IMPORT CAST, ADR;
FROM XHDI IMPORT XHGetVersion, XHDriverSpecial,
XHInqDriver, XHDIResult;
CONST HDPKey1 = 'HDP ';
HDPSKey1 = 'HDPS';
HDPSKey2 = $01011995;
PROCEDURE HDPSInstalled (): BOOLEAN;
VAR i: CARDINAL;
name, version, company: String;
AHDIVersion, maxIPL: CARDINAL;
BEGIN
IF (XHGetVersion () > 0)
THEN
i:= 2;
REPEAT
XHInqDriver (i, name, version, company, AHDIVersion, maxIPL);
HDPResult:= XHDIResult;
IF StrEqual (name, 'HDPSTACK')
THEN RETURN TRUE;
ELSE INC (i);
END;
UNTIL (i = 16);
END;
RETURN FALSE;
END HDPSInstalled;
PROCEDURE HDPSetCacheDrvMap (drives: DriveSet);
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 1, ADR (drives));
HDPResult:= XHDIResult;
END;
END HDPSetCacheDrvMap;
PROCEDURE HDPCacheDrvMap (): DriveSet;
VAR ret: DriveSet;
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 2, ADR (ret));
HDPResult:= XHDIResult;
IF (XHDIResult = 0)
THEN RETURN ret;
END;
END;
RETURN DriveSet{};
END HDPCacheDrvMap;
PROCEDURE HDPSetVerifyDrvMap (drives: DriveSet);
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 3, ADR (drives));
HDPResult:= XHDIResult;
END;
END HDPSetVerifyDrvMap;
PROCEDURE HDPVerifyDrvMap (): DriveSet;
VAR ret: DriveSet;
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 4, ADR (ret));
HDPResult:= XHDIResult;
IF (XHDIResult = 0)
THEN RETURN ret;
END;
END;
RETURN DriveSet{};
END HDPVerifyDrvMap;
PROCEDURE HDPSetWrtProtDrvMap (drives: DriveSet);
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 5, ADR (drives));
HDPResult:= XHDIResult;
END;
END HDPSetWrtProtDrvMap;
PROCEDURE HDPWrtProtDrvMap (): DriveSet;
VAR ret: DriveSet;
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 6, ADR (ret));
HDPResult:= XHDIResult;
IF (XHDIResult = 0)
THEN RETURN ret;
END;
END;
RETURN DriveSet{};
END HDPWrtProtDrvMap;
PROCEDURE HDPSComprDrvMap (): DriveSet;
VAR ret: DriveSet;
BEGIN
IF (XHGetVersion () > 0)
THEN
XHDriverSpecial (CAST (LONGCARD, HDPSKey1), HDPSKey2, 8, ADR (ret));
HDPResult:= XHDIResult;
IF (XHDIResult = 0)
THEN RETURN ret;
END;
END;
RETURN DriveSet{};
END HDPSComprDrvMap;
END HDPSFunctions.