2 Copyright © 1995-2007, 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
;
50 struct IClass
*tb_TimerHIDD
;
51 ULONG tb_MiscFlags
; /* miscellaneous flags */
52 struct timeval tb_CurrentTime
; /* system time */
53 struct timeval tb_Elapsed
; /* Elapsed Time for VBlank */
55 /* This is required for the vertical blanking stuff */
56 struct Interrupt tb_VBlankInt
;
57 struct IClass
*tb_VBlankHIDD
; /* vblank hidd class */
58 struct timeval tb_VBlankTime
; /* vblank interval */
60 /* Lists for waiting vblank, waituntil, microhz, eclock, waiteclock */
61 struct MinList tb_Lists
[NUM_LISTS
];
65 ULONG tb_ticks_elapsed
;
68 struct timerequest tb_vblank_timerequest
; /* For vblank emulation */
71 #define GetTimerBase(tb) ((struct TimerBase *)(tb))
72 #define GetDevice(tb) ((struct Device *)(tb))
75 #define TF_GotVBlank (1L<<1) /* HIDD used for VBlank units */
76 #define TF_GotEClock (1L<<2) /* HIDD used for other units */