home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / m2 / CycloneModules.lha / modules / txt / Timer.def < prev    next >
Text File  |  1996-12-19  |  1KB  |  62 lines

  1. (*$ Implementation- *)
  2. DEFINITION MODULE Timer;
  3.  
  4. (* (C) Copyright 1994 Marcel Timmermans. All rights reserved. *)
  5.  
  6. FROM SYSTEM IMPORT
  7.  ADDRESS;
  8. FROM ExecD IMPORT
  9.  nonstd,IORequest;
  10.  
  11. CONST
  12.  timerName="timer.device";
  13.  
  14. (* IO_COMMAND to use for adding a timer *)
  15.  
  16.  addRequest=nonstd+0;
  17.  getSysTime=nonstd+1;
  18.  setSysTime=nonstd+2;
  19.  
  20.  microHz=0;
  21.  vBlank=1;
  22.  eClock=2;
  23.  waitUntil=3;
  24.  waitEClock=4;
  25.  
  26. TYPE
  27.  TimeVal=RECORD
  28.   secs:LONGCARD;
  29.   micro:LONGCARD;
  30.  END;
  31.  TimeValPtr=POINTER TO TimeVal;
  32.  
  33.  EClockVal=RECORD
  34.   hi:LONGCARD;
  35.   lo:LONGCARD;
  36.  END;
  37.  EClockValPtr=POINTER TO EClockVal;
  38.  
  39.  
  40.  TimeRequest=RECORD
  41.   node:IORequest;
  42.   time:TimeVal
  43.  END;
  44.  TimeRequestPtr=POINTER TO TimeRequest;
  45.  
  46. PROCEDURE AddTime(timer{14}:ADDRESS;
  47.                   dest{8},source{9}:TimeValPtr); CODE -42;
  48.  
  49. PROCEDURE SubTime(timer{14}:ADDRESS; 
  50.                   dest{8},source{9}:TimeValPtr); CODE -48;
  51.  
  52. PROCEDURE CmpTime(timer{14}:ADDRESS;
  53.                   tv1{8},
  54.                   tv2{9}:TimeValPtr):INTEGER; CODE -54;
  55.  
  56. PROCEDURE ReadEClock(timer{14}:ADDRESS; dest{8}:EClockValPtr):LONGCARD; CODE -60;
  57.  
  58. PROCEDURE GetSysTime(timer{14}:ADDRESS;dest{8}:TimeValPtr); CODE -66;
  59.  
  60.  
  61. END Timer.
  62.