source: rtems/cpukit/rtems/include/rtems.h @ c85ab23

4.104.115
Last change on this file since c85ab23 was c85ab23, checked in by Joel Sherrill <joel.sherrill@…>, on 08/05/09 at 18:17:12

2009-08-05 Sebastian Huber <sebastian.huber@…>

  • libcsupport/include/rtems/libio_.h, libcsupport/src/fs_null_handlers.c: Null handlers are now const.
  • libi2c/libi2c.c, libi2c/libi2c.h: Documentation. Do not create semaphores on the fly.
  • cpukit/libblock/src/bdpart.c: Fixed format specifier.
  • cpukit/libblock/include/rtems/bdbuf.h, rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/support.inl: Documentation.
  • include/rtems/irq-extension.h: Documentation. Added API for interrupt servers.
  • Property mode set to 100644
File size: 4.9 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup ClassicRTEMS
5 *
6 * @brief Provides the public interface to the RTEMS Classic API.
7 */
8
9/*  COPYRIGHT (c) 1989-2008.
10 *  On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.com/license/LICENSE.
15 *
16 *  $Id$
17 */
18
19#ifndef _RTEMS_H
20#define _RTEMS_H
21
22/**
23 * @defgroup ClassicRTEMS RTEMS Classic API
24 *
25 * RTEMS Classic API definitions and modules.
26 *
27 * @{
28 */
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#if (!defined(__RTEMS_VIOLATE_KERNEL_VISIBILITY__)) && \
35    (!defined(__RTEMS_INSIDE__))
36/**
37 * @brief Compiling RTEMS application macro.
38 *
39 * Unless told otherwise, the RTEMS include files will hide some stuff from
40 * normal application code.  Defining this crosses a boundary which is
41 * undesirable since it means your application is using RTEMS features which
42 * are not included in the formally defined and supported API.  Define this at
43 * your own risk.
44 */
45#define __RTEMS_APPLICATION__
46#endif
47
48#include <rtems/system.h>
49#include <rtems/rtems/status.h>
50#include <rtems/rtems/types.h>
51
52#include <rtems/config.h>
53#include <rtems/init.h>
54#include <rtems/rtems/options.h>
55#include <rtems/rtems/tasks.h>
56#include <rtems/rtems/intr.h>
57#include <rtems/rtems/barrier.h>
58#include <rtems/rtems/cache.h>
59#include <rtems/rtems/clock.h>
60#include <rtems/extension.h>
61#include <rtems/rtems/timer.h>
62#include <rtems/rtems/sem.h>
63#include <rtems/rtems/message.h>
64#include <rtems/rtems/event.h>
65#include <rtems/rtems/signal.h>
66#include <rtems/rtems/event.h>
67#include <rtems/rtems/object.h>
68#include <rtems/rtems/part.h>
69#include <rtems/rtems/region.h>
70#include <rtems/rtems/dpmem.h>
71#include <rtems/io.h>
72#include <rtems/fatal.h>
73#include <rtems/rtems/ratemon.h>
74#if defined(RTEMS_MULTIPROCESSING)
75#include <rtems/rtems/mp.h>
76#endif
77
78#include <rtems/rtems/support.h>
79#include <rtems/score/sysstate.h>
80
81/**
82 * @brief Returns the pointer to the RTEMS version string.
83 */
84const char *rtems_get_version_string(void);
85
86/**
87 * @brief Indicates whether this processor variant has hardware floating point
88 * support.
89 */
90#define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP
91
92/**********************************************************************
93 *      CONSTANTS WHICH MAY BE USED IN OBJECT NAME TO ID SEARCHES
94 **********************************************************************/
95
96/**
97 * @brief Indicates that a search is across all nodes.
98 */
99#define RTEMS_SEARCH_ALL_NODES   OBJECTS_SEARCH_ALL_NODES
100
101/**
102 * @brief Indicates that a search is across all nodes except the one the call
103 * is made from.
104 */
105#define RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES
106
107/**
108 * @brief Indicates that the search is to be restricted to the local node.
109 */
110#define RTEMS_SEARCH_LOCAL_NODE  OBJECTS_SEARCH_LOCAL_NODE
111
112/**
113 * @brief Indicates that the caller wants to obtain the name of the currently
114 * executing thread.
115 *
116 * This constant is only meaningful when obtaining the name of a task.
117 */
118#define RTEMS_WHO_AM_I           OBJECTS_WHO_AM_I
119
120/**********************************************************************
121 *        Parameters and return Id's for _Objects_Get_next
122 **********************************************************************/
123
124/**
125 * @brief Lowest valid index value for the index portion of an object
126 * identifier.
127 */
128#define RTEMS_OBJECT_ID_INITIAL_INDEX        OBJECTS_ID_INITIAL_INDEX
129
130/**
131 * @brief Maximum valid index value for the index portion of an object
132 * identifier.
133 */
134#define RTEMS_OBJECT_ID_FINAL_INDEX          OBJECTS_ID_FINAL_INDEX
135
136/**
137 * @brief Returns the identifier of the object with the lowest valid index
138 * value.
139 *
140 * The object is specified by the API @a _api, the object class @a _class and
141 * the node @a _node where the object resides.
142 */
143#define RTEMS_OBJECT_ID_INITIAL(_api, _class, _node) \
144   OBJECTS_ID_INITIAL(_api, _class, _node)
145
146/**
147 * @brief Maximum valid object identifier.
148 */
149#define RTEMS_OBJECT_ID_FINAL                OBJECTS_ID_FINAL
150
151/**
152 * @brief Minimum stack size which every thread must exceed.
153 */
154#define RTEMS_MINIMUM_STACK_SIZE  STACK_MINIMUM_SIZE
155
156/**
157 * @brief Specifies that the task should be created with the configured minimum
158 * stack size.
159 */
160#define RTEMS_CONFIGURED_MINIMUM_STACK_SIZE  0
161
162/**
163 * @brief Constant for indefinite wait.
164 *
165 * This is actually an illegal interval value.
166 */
167#define RTEMS_NO_TIMEOUT  WATCHDOG_NO_TIMEOUT
168
169/**
170 * @brief An MPCI must support packets of at least this size.
171 */
172#define RTEMS_MINIMUM_PACKET_SIZE  MP_PACKET_MINIMUM_PACKET_SIZE
173
174/**
175 * @brief Defines the count of @c uint32_t numbers in a packet which must be
176 * converted to native format in a heterogeneous system.
177 *
178 * In packets longer than this value, some of the extra data may be a user
179 * message buffer which is not automatically endian swapped.
180 */
181#define RTEMS_MINIMUN_HETERO_CONVERSION  MP_PACKET_MINIMUN_HETERO_CONVERSION
182
183#ifdef __cplusplus
184}
185#endif
186
187/**@}*/
188
189#endif
190/* end of include file */
Note: See TracBrowser for help on using the repository browser.