00001
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _RTEMS_SYSTEM_H
00021 #define _RTEMS_SYSTEM_H
00022
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00036
00037
00038
00039
00040
00041 #include <rtems/score/cpuopts.h>
00042
00049 #ifdef SCORE_INIT
00050 #undef SCORE_EXTERN
00051 #define SCORE_EXTERN
00052 #else
00053 #undef SCORE_EXTERN
00054 #define SCORE_EXTERN extern
00055 #endif
00056
00063 #ifdef SAPI_INIT
00064 #undef SAPI_EXTERN
00065 #define SAPI_EXTERN
00066 #else
00067 #undef SAPI_EXTERN
00068 #define SAPI_EXTERN extern
00069 #endif
00070
00077 #ifdef RTEMS_API_INIT
00078 #undef RTEMS_EXTERN
00079 #define RTEMS_EXTERN
00080 #else
00081 #undef RTEMS_EXTERN
00082 #define RTEMS_EXTERN extern
00083 #endif
00084
00091 #ifdef POSIX_API_INIT
00092 #undef POSIX_EXTERN
00093 #define POSIX_EXTERN
00094 #else
00095 #undef POSIX_EXTERN
00096 #define POSIX_EXTERN extern
00097 #endif
00098
00105 #ifdef ITRON_API_INIT
00106 #undef ITRON_EXTERN
00107 #define ITRON_EXTERN
00108 #else
00109 #undef ITRON_EXTERN
00110 #define ITRON_EXTERN extern
00111 #endif
00112
00119 #ifdef __GNUC__
00120 # define RTEMS_INLINE_ROUTINE static __inline__
00121 #else
00122 # define RTEMS_INLINE_ROUTINE static inline
00123 #endif
00124
00130 #ifdef __GNUC__
00131 #define RTEMS_COMPILER_MEMORY_BARRIER() asm volatile("" ::: "memory")
00132 #else
00133 #define RTEMS_COMPILER_MEMORY_BARRIER()
00134 #endif
00135
00143 #ifdef __GNUC__
00144 #define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE \
00145 __attribute__ ((noreturn))
00146 #else
00147 #define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
00148 #endif
00149
00150 #ifdef RTEMS_POSIX_API
00151
00152 int POSIX_NOT_IMPLEMENTED( void );
00153 #endif
00154
00155
00156
00157
00158
00162 typedef void * proc_ptr;
00163
00164 #include <stddef.h>
00165
00166 #if !defined( TRUE ) || (TRUE != 1)
00167
00168 #undef TRUE
00169 #define TRUE (1)
00170 #endif
00171
00172 #if !defined( FALSE ) || (FALSE != 0)
00173
00174 #undef FALSE
00175 #define FALSE (0)
00176 #endif
00177
00178 #include <rtems/stdint.h>
00179 #include <rtems/score/cpu.h>
00180
00184 #define RTEMS_offsetof(type, field) \
00185 ((uint32_t ) &(((type *) 0)->field))
00186
00192 extern const char _RTEMS_version[];
00193
00197 extern const char _Copyright_Notice[];
00198
00200 #define RTEMS_MAXIMUM_NAME_LENGTH sizeof(rtems_name)
00201
00202 #ifdef __cplusplus
00203 }
00204 #endif
00205
00206 #endif
00207