2 Copyright © 1995-2006, The AROS Development Team. All rights reserved.
5 Desc: Internal information about the timer.device and HIDD's
10 #include <exec/types.h>
13 #include <exec/lists.h>
15 #ifndef EXEC_INTERRUPTS_H
16 #include <exec/interrupts.h>
21 #ifndef EXEC_DEVICES_H
22 #include <exec/devices.h>
24 #ifndef DEVICES_TIMER_H
25 #include <devices/timer.h>
28 #include <hidd/timer.h>
34 #include <aros/system.h>
35 #include <aros/libcall.h>
36 #include <aros/asmcall.h>
42 #define TL_WAITECLOCK 4
47 /* Required by the system */
48 struct Device tb_Device
;
49 struct ExecBase
*tb_SysBase
;
50 // struct Library *tb_BOOPSIBase;
53 struct IClass
*tb_TimerHIDD
;
54 ULONG tb_MiscFlags
; /* miscellaneous flags */
55 struct timeval tb_CurrentTime
; /* system time */
56 struct timeval tb_Elapsed
; /* Elapsed Time for VBlank */
58 /* This is required for the vertical blanking stuff */
59 struct Interrupt tb_VBlankInt
;
60 struct IClass
*tb_VBlankHIDD
; /* vblank hidd class */
61 struct timeval tb_VBlankTime
; /* vblank interval */
63 /* Lists for waiting vblank, waituntil, microhz, eclock, waiteclock */
64 struct MinList tb_Lists
[NUM_LISTS
];
68 ULONG tb_ticks_elapsed
;
71 struct timerequest tb_vblank_timerequest
; /* For vblank emulation */
74 #define GetTimerBase(tb) ((struct TimerBase *)(tb))
75 #define GetDevice(tb) ((struct Device *)(tb))
78 #define TF_GotVBlank (1L<<1) /* HIDD used for VBlank units */
79 #define TF_GotEClock (1L<<2) /* HIDD used for other units */