/* -----------------------------------------------------------------------------
- * $Id: Itimer.h,v 1.10 2001/11/27 01:51:23 sof Exp $
*
- * (c) The GHC Team 1998-2001
+ * (c) The GHC Team 1998-2005
*
* Interval timer for profiling and pre-emptive scheduling.
*
* ---------------------------------------------------------------------------*/
-# define TICK_FREQUENCY 50 /* ticks per second */
-# define TICK_MILLISECS (1000/TICK_FREQUENCY) /* ms per tick */
+#ifndef ITIMER_H
+#define ITIMER_H
-/* Context switch timing constants. Context switches happen after a
- * whole number of ticks, the default being every tick.
- */
-#define CS_MIN_MILLISECS TICK_MILLISECS /* milliseconds per slice */
-
-int startVirtTimer( nat ms );
-int stopVirtTimer ( void );
-void block_vtalrm_signal ( void );
-void unblock_vtalrm_signal ( void );
-unsigned int getourtimeofday ( void );
+extern int startTicker( nat ms, TickProc handle_tick);
+extern int stopTicker ( void );
+
+extern lnat getourtimeofday ( void );
+#if 0
+/* unused */
+extern void block_vtalrm_signal ( void );
+extern void unblock_vtalrm_signal ( void );
+#endif
+
+#endif /* ITIMER_H */