home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: Timer.mod $
- Description: Interface to timer.device
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.2 $
- $Author: fjc $
- $Date: 1994/08/08 00:51:23 $
-
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- MODULE Timer;
-
- (*
- ** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
- ** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
- ** $V- OvflChk $Z- ZeroVars
- *)
-
- IMPORT E := Exec;
-
- (*
- ** $VER: timer.h 36.16 (25.1.91)
- **
- ** Timer device name and useful definitions.
- *)
-
- CONST
-
- (* unit defintions *)
- unitMicroHZ * = 0;
- unitVBlank * = 1;
- unitEClock * = 2;
- unitWaitUntil * = 3;
- unitWaitEClock* = 4;
-
- name * = "timer.device";
-
- TYPE
-
- TimeValPtr* = CPOINTER TO TimeVal;
- TimeVal* = RECORD
- secs* : E.ULONG;
- micro* : E.ULONG;
- END; (* TimeVal *)
-
- EClockValPtr* = CPOINTER TO EClockVal;
- EClockVal* = RECORD
- hi* : E.ULONG;
- lo* : E.ULONG;
- END; (* EClockVal *)
-
- TimeRequestPtr* = CPOINTER TO TimeRequest;
- TimeRequest* = RECORD (E.IORequest)
- time* : TimeVal;
- END; (* TimeRequest *)
-
- CONST
-
- (* ioCommand to use for adding a timer *)
- addRequest * = E.cmdNonstd;
- getSysTime * = E.cmdNonstd+1;
- setSysTime * = E.cmdNonstd+2;
-
-
- (*-- Device base variable----------------------------------------------*)
-
- TYPE
-
- TimerBasePtr * = CPOINTER TO TimerBase;
- TimerBase * = RECORD (E.Device) END;
-
-
- (*-- Device functions -------------------------------------------------*)
-
- (*
- ** $VER: timer_protos.h 1.6 (25.1.91)
- *)
-
- LIBCALL (base : TimerBasePtr) AddTime*
- ( VAR dest [8] : TimeVal;
- VAR src [9] : TimeVal );
- - 42;
- LIBCALL (base : TimerBasePtr) SubTime*
- ( VAR dest [8] : TimeVal;
- VAR src [9] : TimeVal );
- - 48;
- LIBCALL (base : TimerBasePtr) CmpTime*
- ( VAR dest [8] : TimeVal;
- VAR src [9] : TimeVal )
- : INTEGER;
- - 54;
- LIBCALL (base : TimerBasePtr) ReadEClock*
- ( VAR dest [8] : EClockVal )
- : E.ULONG;
- - 60;
- LIBCALL (base : TimerBasePtr) GetSysTime*
- ( VAR dest [8] : TimeVal );
- - 66;
-
-
- END Timer.
-