00001
00022 #ifndef _RTAI_TYPES_H
00023 #define _RTAI_TYPES_H
00024
00025 #define RTAI_SKIN_MAGIC 0x52544149
00026
00027 #include <nucleus/types.h>
00028
00029 #define TM_INFINITE XN_INFINITE
00030 #define TM_NONBLOCK XN_NONBLOCK
00031 #define TM_NOW XN_INFINITE
00032
00033 #if defined(__KERNEL__) || defined(__RTAI_SIM__)
00034
00035 typedef xnticks_t RTIME;
00036
00037 typedef xnsticks_t SRTIME;
00038
00039 #define rtai_h2obj_validate(h,m,t) \
00040 ((h) && ((t *)(h))->magic == (m) ? ((t *)(h)) : NULL)
00041
00042 #define rtai_h2obj_deleted(h,m,t) \
00043 ((h) && ((t *)(h))->magic == ~(m))
00044
00045 #define rtai_mark_deleted(t) ((t)->magic = ~(t)->magic)
00046
00047 #define rtai_handle_error(h,m,t) \
00048 (rtai_h2obj_deleted(h,m,t) ? -EIDRM : -EINVAL)
00049
00050 #define rtai_test_magic(h,m) \
00051 ((h) && *((unsigned *)(h)) == (m))
00052
00053 #else
00054
00055 typedef unsigned long long RTIME;
00056
00057 typedef long long SRTIME;
00058
00059 #endif
00060
00061 typedef unsigned long rt_handle_t;
00062
00063 #define RT_HANDLE_INVALID ((rt_handle_t)0)
00064
00065 typedef xnsigmask_t rt_sigset_t;
00066
00067 #define RT_HANDLER_NONE XNTHREAD_INVALID_ASR
00068
00069 struct rt_alarm;
00070
00071 typedef void (*rt_alarm_t)(struct rt_alarm *alarm,
00072 void *cookie);
00073
00074 typedef xnisr_t rt_isr_t;
00075
00076 #endif