|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
00001 00010 /* COPYRIGHT (c) 1989-2009. 00011 * On-Line Applications Research Corporation (OAR). 00012 * 00013 * The license and distribution terms for this file may be 00014 * found in the file LICENSE in this distribution or at 00015 * http://www.rtems.com/license/LICENSE. 00016 */ 00017 00018 #ifndef _RTEMS_RTEMS_TYPES_H 00019 #define _RTEMS_RTEMS_TYPES_H 00020 00021 /* 00022 * RTEMS basic type definitions 00023 */ 00024 00025 #include <stdint.h> 00026 #include <rtems/score/heap.h> 00027 #include <rtems/score/object.h> 00028 #include <rtems/score/priority.h> 00029 #include <rtems/score/tod.h> 00030 #include <rtems/score/watchdog.h> 00031 #include <rtems/rtems/modes.h> 00032 #if defined(RTEMS_MULTIPROCESSING) 00033 #include <rtems/score/mpci.h> 00034 #include <rtems/score/mppkt.h> 00035 #endif 00036 00037 #ifdef __cplusplus 00038 extern "C" { 00039 #endif 00040 00046 #ifdef RTEMS_DEPRECATED_TYPES 00047 00052 typedef single_precision rtems_single; 00053 00059 typedef double_precision rtems_double; 00060 00066 typedef boolean rtems_boolean; 00067 #endif 00068 00076 typedef uint32_t rtems_name; 00077 00082 typedef Objects_Id rtems_id; 00083 00089 #define RTEMS_ID_NONE OBJECTS_ID_NONE 00090 00094 typedef Context_Control rtems_context; 00095 00096 #if (CPU_HARDWARE_FP == TRUE) || (CPU_SOFTWARE_FP == TRUE) 00097 00100 typedef Context_Control_fp rtems_context_fp; 00101 #endif 00102 00109 typedef CPU_Interrupt_frame rtems_interrupt_frame; 00110 00115 typedef Heap_Information_block region_information_block; 00116 00121 typedef Watchdog_Interval rtems_interval; 00122 00129 #ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__ 00130 typedef struct timespec rtems_thread_cpu_usage_t; 00131 #else 00132 typedef uint32_t rtems_thread_cpu_usage_t; 00133 #endif 00134 00139 typedef struct { 00143 uint32_t year; 00147 uint32_t month; 00151 uint32_t day; 00155 uint32_t hour; 00159 uint32_t minute; 00163 uint32_t second; 00167 uint32_t ticks; 00168 } rtems_time_of_day; 00169 00173 typedef Modes_Control rtems_mode; 00174 00175 /* 00176 * MPCI related entries 00177 */ 00178 #if defined(RTEMS_MULTIPROCESSING) 00179 00183 typedef MP_packet_Classes rtems_mp_packet_classes; 00184 00188 typedef MP_packet_Prefix rtems_packet_prefix; 00189 00194 typedef MPCI_initialization_entry rtems_mpci_initialization_entry; 00195 00199 typedef MPCI_get_packet_entry rtems_mpci_get_packet_entry; 00200 00205 typedef MPCI_return_packet_entry rtems_mpci_return_packet_entry; 00206 00210 typedef MPCI_send_entry rtems_mpci_send_packet_entry; 00211 00215 typedef MPCI_receive_entry rtems_mpci_receive_packet_entry; 00216 00220 typedef MPCI_Entry rtems_mpci_entry; 00221 00225 typedef MPCI_Control rtems_mpci_table; 00226 00227 #endif 00228 00231 #ifdef __cplusplus 00232 } 00233 #endif 00234 00235 #endif 00236 /* end of include file */
1.7.5