home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / cddk9605.zip / HEADERS.ARJ / SLICER.INT < prev    next >
Text File  |  1996-05-17  |  4KB  |  112 lines

  1.  
  2. { ───────────────────────────────────────────────────────────────────────── }
  3. {  Name        : SLICER.PAS                                                 }
  4. {  Description : Time-slicing support                                       }
  5. {  Warning     : Expect a rewrite of this unit soon.                        }
  6. { ───────────────────────────────────────────────────────────────────────── }
  7.  
  8. UNIT Slicer;
  9.  
  10. {$B-} { . . . . . . . . . . . . . . . . . . . . Shortcut boolean evaluation }
  11. {$F+} { . . . . . . . . . . . . . . . . . . . .  Force far calls for safety }
  12. {$I-} { . . . . . . . . . . . . . . . . . . . Disable input/output checking }
  13. {$O+} { . . . . . . . . . . . . . . . . . . Allow this unit to be overlayed }
  14. {$Q-} { . . . . . . . . . . . . . .  Do not generate overflow-checking code }
  15. {$R-} { . . . . . . . . . . . . . . . . Do not generate range-checking code }
  16. {$S-} { . . . . . . . . . . . . . . . . Do not generate stack-checking code }
  17. {$X+} { . . . . . . . . . . . Extended syntax for pChars and function calls }
  18.  
  19. INTERFACE
  20.  
  21. TYPE
  22.  
  23.   MT_Type = RECORD
  24.     Name      : STRING[15];     { . . . . . .  The name of the multi-tasker }
  25.     Abbr      : STRING[3];      { . . . . . . . . Three-letter abbreviation }
  26.     CritBegin : PROCEDURE;      { . . . . The program cannot be interrupted }
  27.     CritEnd   : PROCEDURE;      { . . . . . . . The critical task has ended }
  28.     Release   : PROCEDURE;      { . . . . Releases the time-slice to the OS }
  29.     Version   : FUNCTION:Word;  { . . . . . High byte=major; Low byte=minor }
  30.     END;
  31.  
  32. PROCEDURE NullProc;
  33.  
  34. PROCEDURE DOS_Release;
  35. FUNCTION  DOS_Version:Word;
  36. PROCEDURE DesqView_Critical_Begin;
  37. PROCEDURE DesqView_Critical_End;
  38. PROCEDURE DesqView_Release;
  39. FUNCTION  DesqView_Version:Word;
  40. PROCEDURE DoubleDOS_Critical_Begin;
  41. PROCEDURE DoubleDOS_Critical_End;
  42. PROCEDURE DoubleDOS_Release;
  43. FUNCTION  FourDOS:Boolean;
  44. FUNCTION  FourDOS_Version:Word;
  45. FUNCTION  OS2_Version:Word;
  46. PROCEDURE Windows_Critical_Begin;
  47. PROCEDURE Windows_Critical_End;
  48. PROCEDURE Windows_Release;
  49. FUNCTION  Windows_Version:Word;
  50.  
  51. CONST
  52.  
  53.   Tasker : ARRAY[0..7] OF MT_Type = (
  54.     (Name      : 'MS-DOS';
  55.      Abbr      : 'DOS';
  56.      CritBegin : NullProc;
  57.      CritEnd   : NullProc;
  58.      Release   : DOS_Release;
  59.      Version   : DOS_Version),
  60.  
  61.     (Name      : '4DOS';
  62.      Abbr      : '4DS';
  63.      CritBegin : NullProc;
  64.      CritEnd   : NullProc;
  65.      Release   : DOS_Release;
  66.      Version   : FourDOS_Version),
  67.  
  68.     (Name      : 'Desqview';
  69.      Abbr      : 'Des';
  70.      CritBegin : DesqView_Critical_Begin;
  71.      CritEnd   : DesqView_Critical_End;
  72.      Release   : DesqView_Release;
  73.      Version   : DesqView_Version),
  74.  
  75.     (Name      : 'DoubleDOS';
  76.      Abbr      : 'Dbl';
  77.      CritBegin : DoubleDOS_Critical_Begin;
  78.      CritEnd   : DoubleDOS_Critical_End;
  79.      Release   : DoubleDOS_Release),
  80.  
  81.     (Name      : 'OS/2';
  82.      Abbr      : 'OS2';
  83.      CritBegin : NullProc;
  84.      CritEnd   : NullProc;
  85.      Release   : Windows_Release;
  86.      Version   : OS2_Version),
  87.  
  88.     (Name      : 'Windows/286';
  89.      Abbr      : 'Win';
  90.      CritBegin : Windows_Critical_Begin;
  91.      CritEnd   : Windows_Critical_End;
  92.      Release   : Windows_Release;
  93.      Version   : Windows_Version),
  94.  
  95.     (Name      : 'Windows/Enh';
  96.      Abbr      : 'Win';
  97.      CritBegin : Windows_Critical_Begin;
  98.      CritEnd   : Windows_Critical_End;
  99.      Release   : Windows_Release;
  100.      Version   : Windows_Version),
  101.  
  102.     (Name      : 'Windows NT';
  103.      Abbr      : 'WNT';
  104.      CritBegin : Windows_Critical_Begin;
  105.      CritEnd   : Windows_Critical_End;
  106.      Release   : Windows_Release;
  107.      Version   : Windows_Version));
  108.  
  109. VAR
  110.   MT : Byte;
  111.  
  112.