types.h

Go to the documentation of this file.
00001 
00049 #ifndef _RTAI_TYPES_H
00050 #define _RTAI_TYPES_H
00051 
00052 #define RTAI_SKIN_MAGIC  0x52544149
00053 
00054 #include <nucleus/types.h>
00055 
00056 #define TM_INFINITE XN_INFINITE
00057 #define TM_NONBLOCK XN_NONBLOCK
00058 #define TM_NOW      XN_INFINITE
00059 
00060 #if defined(__KERNEL__) || defined(__RTAI_SIM__)
00061 
00062 typedef xnticks_t RTIME;
00063 
00064 typedef xnsticks_t SRTIME;
00065 
00066 #define rtai_h2obj_validate(h,m,t) \
00067 ((h) && ((t *)(h))->magic == (m) ? ((t *)(h)) : NULL)
00068 
00069 #define rtai_h2obj_deleted(h,m,t) \
00070 ((h) && ((t *)(h))->magic == ~(m))
00071 
00072 #define rtai_mark_deleted(t) ((t)->magic = ~(t)->magic)
00073 
00074 #define rtai_handle_error(h,m,t) \
00075 (rtai_h2obj_deleted(h,m,t) ? -EIDRM : -EINVAL)
00076 
00077 #define rtai_test_magic(h,m) \
00078 ((h) && *((unsigned *)(h)) == (m))
00079 
00080 #define RT_KAPI_SOURCE  0x4b524e4c      /* Object created from kernel space. */
00081 #define RT_UAPI_SOURCE  0x55534552      /* Object created from user-space. */
00082 
00083 #else /* !(__KERNEL__ || __RTAI_SIM__) */
00084 
00085 typedef unsigned long long RTIME;
00086 
00087 typedef long long SRTIME;
00088 
00089 #endif /* __KERNEL__ || __RTAI_SIM__ */
00090 
00091 typedef u_long rt_handle_t;
00092 
00093 #define RT_HANDLE_INVALID ((rt_handle_t)0)
00094 
00095 typedef xnsigmask_t rt_sigset_t;
00096 
00097 #define RT_HANDLER_NONE XNTHREAD_INVALID_ASR
00098 
00099 struct rt_alarm;
00100 
00101 typedef void (*rt_alarm_t)(struct rt_alarm *alarm,
00102                            void *cookie);
00103 
00104 #endif /* !_RTAI_TYPES_H */

Generated on Mon Dec 13 09:49:49 2004 for RTAI API by  doxygen 1.3.9.1