RTEMS CPU Kit with SuperCore  4.10.99.0
rtems/rtems/types.h
Go to the documentation of this file.
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 */