home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / M2V11-1.LHA / modula / amiga / Timer.def < prev    next >
Encoding:
Text File  |  1994-09-28  |  1.2 KB  |  55 lines

  1. DEFINITION FOR C MODULE Timer ;
  2.  
  3. FROM SYSTEM IMPORT ADDRESS ;
  4. IMPORT Exec ;
  5.  
  6. CONST
  7.   TIMERNAME = "timer.device" ;
  8.  
  9. (* unit defintions *)
  10.  
  11.   UNIT_MICROHZ      = 0 ;
  12.   UNIT_VBLANK      = 1 ;
  13.   UNIT_ECLOCK      = 2 ;
  14.   UNIT_WAITUNTIL  = 3 ;
  15.   UNIT_WAITECLOCK = 4 ;
  16.  
  17. TYPE
  18.   TimeValPtr     = POINTER TO TimeVal ;
  19.   EClockValPtr   = POINTER TO EClockVal ;
  20.   TimeRequestPtr = POINTER TO TimeRequest ;
  21.  
  22.   TimeVal = RECORD
  23.     tv_secs  : LONGINT ;
  24.     tv_micro : LONGINT ;
  25.   END ;
  26.  
  27.   EClockVal = RECORD
  28.     ev_hi : LONGINT ;
  29.     ev_lo : LONGINT ;
  30.   END ;
  31.  
  32.   TimeRequest = RECORD
  33.     tr_node : Exec.IORequest ;
  34.     tr_time : TimeVal ;
  35.   END ;
  36.  
  37. (* IO_COMMAND to use for adding a timer *)
  38. CONST
  39.   TR_ADDREQUEST = Exec.CMD_NONSTD ;
  40.   TR_GETSYSTIME    = Exec.CMD_NONSTD+1 ;
  41.   TR_SETSYSTIME    = Exec.CMD_NONSTD+2 ;
  42.  
  43. VAR
  44.   TimerBase : ADDRESS ;
  45. (* Dice's auto-init code will setup TimerBase for you if you call any *)
  46. (*  of the functions below.                          *)
  47.  
  48. PROCEDURE AddTime( dest , src : TimeValPtr ) ;
  49. PROCEDURE SubTime( dest , src : TimeValPtr ) ;
  50. PROCEDURE CmpTime( dest , src : TimeValPtr ) : LONGINT ;
  51. PROCEDURE ReadEClock( VAR dest : EClockVal ) : LONGINT ;
  52. PROCEDURE GetSysTime( VAR dest : TimeVal ) ;
  53.  
  54. END Timer.
  55.