home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / HDPSTACK.LZH / HDPSTACK.MSA / HDPSTACK / SOURCE / HDPSFUNC.I < prev    next >
Text File  |  1995-02-22  |  3KB  |  128 lines

  1. IMPLEMENTATION MODULE HDPSFunctions;
  2.  
  3. FROM  BIOS                 IMPORT  DriveSet;
  4. FROM  Strings              IMPORT  String, StrEqual;
  5. FROM  SYSTEM               IMPORT  CAST, ADR;
  6.  
  7. FROM  XHDI                 IMPORT  XHGetVersion, XHDriverSpecial,
  8.                                    XHInqDriver, XHDIResult;
  9.  
  10. CONST HDPKey1  = 'HDP ';
  11.       HDPSKey1 = 'HDPS';
  12.       HDPSKey2 = $01011995;
  13.       
  14.  
  15. PROCEDURE HDPSInstalled (): BOOLEAN;
  16. VAR i: CARDINAL;
  17.     name, version, company: String;
  18.     AHDIVersion, maxIPL: CARDINAL;
  19. BEGIN
  20.   IF (XHGetVersion () > 0)
  21.    THEN
  22.     i:= 2;
  23.     REPEAT
  24.      XHInqDriver (i, name, version, company, AHDIVersion, maxIPL);
  25.      HDPResult:= XHDIResult;
  26.      IF StrEqual (name, 'HDPSTACK')
  27.       THEN RETURN TRUE;
  28.       ELSE INC (i);
  29.      END;
  30.     UNTIL (i = 16);
  31.   END;
  32.   RETURN FALSE;
  33. END HDPSInstalled;
  34.  
  35.  
  36. PROCEDURE HDPSetCacheDrvMap (drives: DriveSet);
  37. BEGIN
  38.   IF (XHGetVersion () > 0)
  39.    THEN
  40.     XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 1, ADR (drives));
  41.     HDPResult:= XHDIResult;
  42.   END;
  43. END HDPSetCacheDrvMap;
  44.  
  45.  
  46. PROCEDURE HDPCacheDrvMap (): DriveSet;
  47. VAR ret: DriveSet;
  48. BEGIN
  49.   IF (XHGetVersion () > 0)
  50.    THEN
  51.     XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 2, ADR (ret));
  52.     HDPResult:= XHDIResult;
  53.     IF (XHDIResult = 0)
  54.      THEN RETURN ret;
  55.     END;
  56.   END;
  57.   RETURN DriveSet{};
  58. END HDPCacheDrvMap;
  59.  
  60.  
  61. PROCEDURE HDPSetVerifyDrvMap (drives: DriveSet);
  62. BEGIN
  63.   IF (XHGetVersion () > 0)
  64.    THEN
  65.     XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 3, ADR (drives));
  66.     HDPResult:= XHDIResult;
  67.   END;
  68. END HDPSetVerifyDrvMap;
  69.  
  70.  
  71. PROCEDURE HDPVerifyDrvMap (): DriveSet;
  72. VAR ret: DriveSet;
  73. BEGIN
  74.   IF (XHGetVersion () > 0)
  75.    THEN
  76.     XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 4, ADR (ret));
  77.     HDPResult:= XHDIResult;
  78.     IF (XHDIResult = 0)
  79.      THEN RETURN ret;
  80.     END;
  81.   END;
  82.   RETURN DriveSet{};
  83. END HDPVerifyDrvMap;
  84.  
  85.  
  86. PROCEDURE HDPSetWrtProtDrvMap (drives: DriveSet);
  87. BEGIN
  88.   IF (XHGetVersion () > 0)
  89.    THEN
  90.     XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 5, ADR (drives));
  91.     HDPResult:= XHDIResult;
  92.   END;
  93. END HDPSetWrtProtDrvMap;
  94.  
  95.  
  96. PROCEDURE HDPWrtProtDrvMap (): DriveSet;
  97. VAR ret: DriveSet;
  98. BEGIN
  99.   IF (XHGetVersion () > 0)
  100.    THEN
  101.     XHDriverSpecial (CAST (LONGCARD, HDPKey1), HDPSKey2, 6, ADR (ret));
  102.     HDPResult:= XHDIResult;
  103.     IF (XHDIResult = 0)
  104.      THEN RETURN ret;
  105.     END;
  106.   END;
  107.   RETURN DriveSet{};
  108. END HDPWrtProtDrvMap;
  109.  
  110.  
  111. PROCEDURE HDPSComprDrvMap (): DriveSet;
  112. VAR ret: DriveSet;
  113. BEGIN
  114.   IF (XHGetVersion () > 0)
  115.    THEN
  116.     XHDriverSpecial (CAST (LONGCARD, HDPSKey1), HDPSKey2, 8, ADR (ret));
  117.     HDPResult:= XHDIResult;
  118.     IF (XHDIResult = 0)
  119.      THEN RETURN ret;
  120.     END;
  121.   END;
  122.   RETURN DriveSet{};
  123. END HDPSComprDrvMap;
  124.  
  125.  
  126. END HDPSFunctions.
  127.  
  128.