blob: e84bf25b32e060b2423e599af331dcce7d8e6724 (
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
|
/* modes.inl
*
* This include file contains the macro implementation of the
* inlined routines in the Mode Handler.
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#ifndef __MODES_inl
#define __MODES_inl
/*PAGE
*
* _Modes_Mask_changed
*
*/
#define _Modes_Mask_changed( _mode_set, _masks ) \
( (_mode_set) & (_masks) )
/*PAGE
*
* _Modes_Is_asr_disabled
*
*/
#define _Modes_Is_asr_disabled( _mode_set ) \
(((_mode_set) & RTEMS_ASR_MASK) == RTEMS_NO_ASR)
/*PAGE
*
* _Modes_Is_preempt
*
*/
#define _Modes_Is_preempt( _mode_set ) \
( ( (_mode_set) & RTEMS_PREEMPT_MASK ) == RTEMS_PREEMPT )
/*PAGE
*
* _Modes_Is_timeslice
*
*/
#define _Modes_Is_timeslice( _mode_set ) \
(((_mode_set) & RTEMS_TIMESLICE_MASK) == RTEMS_TIMESLICE)
/*PAGE
*
* _Modes_Get_interrupt_level
*
*/
#define _Modes_Get_interrupt_level( _mode_set ) \
( (_mode_set) & RTEMS_INTERRUPT_MASK )
/*PAGE
*
* _Modes_Set_interrupt_level
*
*/
#define _Modes_Set_interrupt_level( _mode_set ) \
_ISR_Set_level( _Modes_Get_interrupt_level( (_mode_set) ) )
/*PAGE
*
* _Modes_Change
*
*/
#define _Modes_Change( _old_mode_set, _new_mode_set, \
_mask, _out_mode_set, _changed ) \
{ Modes_Control _out_mode; \
\
_out_mode = (_old_mode_set); \
_out_mode &= ~(_mask); \
_out_mode |= (_new_mode_set) & (_mask); \
*(_changed) = _out_mode ^ (_old_mode_set); \
*(_out_mode_set) = _out_mode; \
}
#endif
/* end of include file */
|