00001
00049 #ifndef _RTAI_TIMER_H
00050 #define _RTAI_TIMER_H
00051
00052 #include <nucleus/timer.h>
00053 #include <rtai/types.h>
00054
00055 #define TM_UNSET XNPOD_NO_TICK
00056 #define TM_ONESHOT XNPOD_APERIODIC_TICK
00057
00058 typedef struct rt_timer_info {
00059
00060 RTIME period;
00061 RTIME date;
00062
00063 } RT_TIMER_INFO;
00064
00065 #ifdef __cplusplus
00066 extern "C" {
00067 #endif
00068
00069 SRTIME rt_timer_ns2ticks(SRTIME ns);
00070
00071 SRTIME rt_timer_ticks2ns(SRTIME ticks);
00072
00073 int rt_timer_inquire(RT_TIMER_INFO *info);
00074
00075 RTIME rt_timer_read(void);
00076
00077 RTIME rt_timer_tsc(void);
00078
00079 void rt_timer_spin(RTIME ns);
00080
00081 int rt_timer_start(RTIME nstick);
00082
00083 void rt_timer_stop(void);
00084
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088
00089 #endif