source: rtems/c/src/exec/rtems/include/rtems/rtems/attr.h @ 3a4ae6c

4.104.114.84.95
Last change on this file since 3a4ae6c was 3a4ae6c, checked in by Joel Sherrill <joel.sherrill@…>, on 09/11/95 at 19:35:39

The word "RTEMS" almost completely removed from the core.

Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.

  • Property mode set to 100644
File size: 4.5 KB
Line 
1/*  attr.h
2 *
3 *  This include file contains all information about the Object Attributes
4 *  Handler.
5 *
6 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
7 *  On-Line Applications Research Corporation (OAR).
8 *  All rights assigned to U.S. Government, 1994.
9 *
10 *  This material may be reproduced by or for the U.S. Government pursuant
11 *  to the copyright license under the clause at DFARS 252.227-7013.  This
12 *  notice must appear in all copies of this file and its derivatives.
13 *
14 *  $Id$
15 */
16
17#ifndef __RTEMS_ATTRIBUTES_h
18#define __RTEMS_ATTRIBUTES_h
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/* types */
25
26typedef unsigned32 rtems_attribute;
27
28/* constants */
29
30#define RTEMS_DEFAULT_ATTRIBUTES  0x00000000
31
32#define RTEMS_NO_FLOATING_POINT   0x00000000 /* don't use FP HW */
33#define RTEMS_FLOATING_POINT      0x00000001 /* utilize coprocessor */
34
35#define RTEMS_LOCAL               0x00000000 /* local resource */
36#define RTEMS_GLOBAL              0x00000002 /* global resource */
37
38#define RTEMS_FIFO                0x00000000 /* process RTEMS_FIFO */
39#define RTEMS_PRIORITY            0x00000004 /* process by priority */
40
41#define RTEMS_COUNTING_SEMAPHORE  0x00000000
42#define RTEMS_BINARY_SEMAPHORE    0x00000010
43
44#define RTEMS_NO_INHERIT_PRIORITY 0x00000000
45#define RTEMS_INHERIT_PRIORITY    0x00000020
46
47#define RTEMS_NO_PRIORITY_CEILING 0x00000000
48#define RTEMS_PRIORITY_CEILING    0x00000040
49
50#if ( CPU_HARDWARE_FP == TRUE )
51#define ATTRIBUTES_NOT_SUPPORTED       0
52#else
53#define ATTRIBUTES_NOT_SUPPORTED       RTEMS_FLOATING_POINT
54#endif
55
56#if ( CPU_ALL_TASKS_ARE_FP == TRUE )
57#define ATTRIBUTES_REQUIRED            RTEMS_FLOATING_POINT
58#else
59#define ATTRIBUTES_REQUIRED            0
60#endif
61
62/*
63 *  _Attributes_Handler_initialization
64 *
65 *  DESCRIPTION:
66 *
67 *  This routine performs initialization for this handler.
68 *
69 *  NOTE: There is no initialization required in C.  Conditional compilation
70 *        takes care of this in C.
71 */
72
73#define _Attributes_Handler_initialization()
74
75/*
76 *  _Attributes_Set
77 *
78 *  DESCRIPTION:
79 *
80 *  This function sets the requested new_attributes in the attribute_set
81 *  passed in.  The result is returned to the user.
82 */
83
84STATIC INLINE rtems_attribute _Attributes_Set (
85   rtems_attribute new_attributes,
86   rtems_attribute attribute_set
87);
88
89/*
90 *  _Attributes_Clear
91 *
92 *  DESCRIPTION:
93 *
94 *  This function clears the requested new_attributes in the attribute_set
95 *  passed in.  The result is returned to the user.
96 */
97
98STATIC INLINE rtems_attribute _Attributes_Clear (
99   rtems_attribute attribute_set,
100   rtems_attribute mask
101);
102
103/*
104 *  _Attributes_Is_floating_point
105 *
106 *  DESCRIPTION:
107 *
108 *  This function returns TRUE if the floating point attribute is
109 *  enabled in the attribute_set and FALSE otherwise.
110 */
111
112STATIC INLINE boolean _Attributes_Is_floating_point(
113  rtems_attribute attribute_set
114);
115
116/*
117 *  _Attributes_Is_global
118 *
119 *  DESCRIPTION:
120 *
121 *  This function returns TRUE if the global object attribute is
122 *  enabled in the attribute_set and FALSE otherwise.
123 */
124
125STATIC INLINE boolean _Attributes_Is_global(
126  rtems_attribute attribute_set
127);
128
129/*
130 *  _Attributes_Is_priority
131 *
132 *  DESCRIPTION:
133 *
134 *  This function returns TRUE if the priority attribute is
135 *  enabled in the attribute_set and FALSE otherwise.
136 */
137
138STATIC INLINE boolean _Attributes_Is_priority(
139  rtems_attribute attribute_set
140);
141
142#if 0
143/*
144 *  _Attributes_Is_limit
145 *
146 *  DESCRIPTION:
147 *
148 *  This function returns TRUE if the limited attribute is
149 *  enabled in the attribute_set and FALSE otherwise.
150 */
151
152STATIC INLINE boolean _Attributes_Is_limit(
153  rtems_attribute attribute_set
154);
155#endif
156
157/*
158 *  _Attributes_Is_binary_semaphore
159 *
160 *  DESCRIPTION:
161 *
162 *  This function returns TRUE if the binary semaphore attribute is
163 *  enabled in the attribute_set and FALSE otherwise.
164 */
165
166STATIC INLINE boolean _Attributes_Is_binary_semaphore(
167  rtems_attribute attribute_set
168);
169
170/*
171 *  _Attributes_Is_inherit_priority
172 *
173 *  DESCRIPTION:
174 *
175 *  This function returns TRUE if the priority inheritance attribute
176 *  is enabled in the attribute_set and FALSE otherwise.
177 */
178
179STATIC INLINE boolean _Attributes_Is_inherit_priority(
180  rtems_attribute attribute_set
181);
182
183/*
184 *  _Attributes_Is_priority_ceiling
185 *
186 *  DESCRIPTION:
187 *
188 *  This function returns TRUE if the priority ceiling attribute
189 *  is enabled in the attribute_set and FALSE otherwise.
190 */
191 
192STATIC INLINE boolean _Attributes_Is_priority_ceiling(
193  rtems_attribute attribute_set
194);
195 
196
197#include <rtems/rtems/attr.inl>
198
199#ifdef __cplusplus
200}
201#endif
202
203#endif
204/* end of include file */
Note: See TracBrowser for help on using the repository browser.