include/native/types.h

Go to the documentation of this file.
00001 
00022 #ifndef _XENO_TYPES_H
00023 #define _XENO_TYPES_H
00024 
00025 #define XENO_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(__XENO_SIM__)
00034 
00035 #ifndef CONFIG_XENO_OPT_DEBUG_NATIVE
00036 #define CONFIG_XENO_OPT_DEBUG_NATIVE  0
00037 #endif
00038 
00039 typedef xnticks_t RTIME;
00040 
00041 typedef xnsticks_t SRTIME;
00042 
00043 #define xeno_h2obj_validate(h,m,t) \
00044 ((h) && ((t *)(h))->magic == (m) ? ((t *)(h)) : NULL)
00045 
00046 #define xeno_h2obj_deleted(h,m,t) \
00047 ((h) && ((t *)(h))->magic == ~(m))
00048 
00049 #define xeno_mark_deleted(t) ((t)->magic = ~(t)->magic)
00050 
00051 #define xeno_handle_error(h,m,t) \
00052 (xeno_h2obj_deleted(h,m,t) ? -EIDRM : -EINVAL)
00053 
00054 #define xeno_test_magic(h,m) \
00055 ((h) && *((unsigned *)(h)) == (m))
00056 
00057 #else /* !(__KERNEL__ || __XENO_SIM__) */
00058 
00059 typedef unsigned long long RTIME;
00060 
00061 typedef long long SRTIME;
00062 
00063 #endif /* __KERNEL__ || __XENO_SIM__ */
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 typedef xniack_t rt_iack_t;
00077 
00078 #endif /* !_XENO_TYPES_H */

Generated on Mon Mar 24 18:02:40 2008 for Xenomai API by  doxygen 1.5.3