summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/macros/rtems/rtems/attr.inl
blob: fb6055325e3c405f17e8bca03dbec55b4a0a6f9f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/**
 * @file rtems/rtems/attr.inl
 */

/*
 *  This include file contains all of the inlined routines associated
 *  with attributes.
 *
 *  COPYRIGHT (c) 1989-1999.
 *  On-Line Applications Research Corporation (OAR).
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.rtems.com/license/LICENSE.
 *
 *  $Id$
 */

#ifndef _RTEMS_RTEMS_ATTR_INL
#define _RTEMS_RTEMS_ATTR_INL

/*PAGE
 *
 *  _Attributes_Set
 */

#define _Attributes_Set( _new_attributes, _attribute_set ) \
  ( (_attribute_set) | (_new_attributes) )

/*PAGE
 *
 *  _Attributes_Clear
 */

#define _Attributes_Clear( _attribute_set, _mask ) \
  ( (_attribute_set) & ~(_mask) )

/*PAGE
 *
 *  _Attributes_Is_floating_point
 *
 */

#define _Attributes_Is_floating_point( _attribute_set ) \
  ( (_attribute_set) & RTEMS_FLOATING_POINT )

/*PAGE
 *
 *  _Attributes_Is_global
 *
 */

#if defined(RTEMS_MULTIPROCESSING)
#define _Attributes_Is_global( _attribute_set ) \
  ( (_attribute_set) & RTEMS_GLOBAL )
#endif

/*PAGE
 *
 *  _Attributes_Is_priority
 *
 */

#define _Attributes_Is_priority( _attribute_set ) \
  ( (_attribute_set) & RTEMS_PRIORITY )

/*PAGE
 *
 *  _Attributes_Is_binary_semaphore
 *
 */

#define _Attributes_Is_binary_semaphore( _attribute_set ) \
  (((_attribute_set) & RTEMS_SEMAPHORE_CLASS) == RTEMS_BINARY_SEMAPHORE)

/*PAGE
 *
 *  _Attributes_Is_simple_binary_semaphore
 *
 */

#define _Attributes_Is_simple_binary_semaphore( _attribute_set ) \
  (((_attribute_set) & RTEMS_SEMAPHORE_CLASS) == RTEMS_SIMPLE_BINARY_SEMAPHORE)

/*PAGE
 *
 *  _Attributes_Is_counting_semaphore
 *
 */

#define _Attributes_Is_counting_semaphore( _attribute_set ) \
  (((_attribute_set) & RTEMS_SEMAPHORE_CLASS) == RTEMS_COUNTING_SEMAPHORE)

/*PAGE
 *
 *  _Attributes_Is_inherit_priority
 *
 */

#define _Attributes_Is_inherit_priority( _attribute_set ) \
  ( (_attribute_set) & RTEMS_INHERIT_PRIORITY )

/*PAGE
 *
 *  _Attributes_Is_priority_ceiling
 *
 */
 
#define _Attributes_Is_priority_ceiling( _attribute_set ) \
  ( (_attribute_set) & RTEMS_PRIORITY_CEILING )

/*PAGE
 *
 *  _Attributes_Is_barrier_automatic
 *
 */

#define _Attributes_Is_barrier_automatic( _attribute_set ) \
  ( (_attribute_set) & RTEMS_BARRIER_AUTOMATIC_RELEASE )

/*PAGE
 *
 *  _Attributes_Is_system_task
 *
 */
 
#define _Attributes_Is_system_task( _attribute_set ) \
  ( (_attribute_set) & RTEMS_SYSTEM_TASK )

#endif
/* end of include file */