RTEMS CPU Kit with SuperCore  4.11.3
asr.h
Go to the documentation of this file.
1 
14 /* COPYRIGHT (c) 1989-2013.
15  * On-Line Applications Research Corporation (OAR).
16  *
17  * The license and distribution terms for this file may be
18  * found in the file LICENSE in this distribution or at
19  * http://www.rtems.org/license/LICENSE.
20  */
21 
22 #ifndef _RTEMS_RTEMS_ASR_H
23 #define _RTEMS_RTEMS_ASR_H
24 
25 #include <rtems/score/isrlock.h>
26 #include <rtems/rtems/modes.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
46 typedef uint32_t rtems_signal_set;
47 
51 typedef void rtems_asr;
52 
59  );
60 
65 typedef struct {
67  bool is_enabled;
73  rtems_signal_set signals_posted;
75  rtems_signal_set signals_pending;
77  uint32_t nest_level;
81 
82 /*
83  * The following constants define the individual signals which may
84  * be used to compose a signal set.
85  */
86 
88 #define RTEMS_SIGNAL_0 0x00000001
89 
90 #define RTEMS_SIGNAL_1 0x00000002
91 
92 #define RTEMS_SIGNAL_2 0x00000004
93 
94 #define RTEMS_SIGNAL_3 0x00000008
95 
96 #define RTEMS_SIGNAL_4 0x00000010
97 
98 #define RTEMS_SIGNAL_5 0x00000020
99 
100 #define RTEMS_SIGNAL_6 0x00000040
101 
102 #define RTEMS_SIGNAL_7 0x00000080
103 
104 #define RTEMS_SIGNAL_8 0x00000100
105 
106 #define RTEMS_SIGNAL_9 0x00000200
107 
108 #define RTEMS_SIGNAL_10 0x00000400
109 
110 #define RTEMS_SIGNAL_11 0x00000800
111 
112 #define RTEMS_SIGNAL_12 0x00001000
113 
114 #define RTEMS_SIGNAL_13 0x00002000
115 
116 #define RTEMS_SIGNAL_14 0x00004000
117 
118 #define RTEMS_SIGNAL_15 0x00008000
119 
120 #define RTEMS_SIGNAL_16 0x00010000
121 
122 #define RTEMS_SIGNAL_17 0x00020000
123 
124 #define RTEMS_SIGNAL_18 0x00040000
125 
126 #define RTEMS_SIGNAL_19 0x00080000
127 
128 #define RTEMS_SIGNAL_20 0x00100000
129 
130 #define RTEMS_SIGNAL_21 0x00200000
131 
132 #define RTEMS_SIGNAL_22 0x00400000
133 
134 #define RTEMS_SIGNAL_23 0x00800000
135 
136 #define RTEMS_SIGNAL_24 0x01000000
137 
138 #define RTEMS_SIGNAL_25 0x02000000
139 
140 #define RTEMS_SIGNAL_26 0x04000000
141 
142 #define RTEMS_SIGNAL_27 0x08000000
143 
144 #define RTEMS_SIGNAL_28 0x10000000
145 
146 #define RTEMS_SIGNAL_29 0x20000000
147 
148 #define RTEMS_SIGNAL_30 0x40000000
149 
150 #define RTEMS_SIGNAL_31 0x80000000
151 
154 #ifdef __cplusplus
155 }
156 #endif
157 
158 #endif
159 /* end of include file */
void rtems_asr
Return type for ASR Handler.
Definition: asr.h:51
rtems_signal_set signals_posted
This field indicates the signal set that is posted.
Definition: asr.h:73
uint32_t Modes_Control
The following type defines the control block used to manage each a mode set.
Definition: modes.h:44
Modes_Control mode_set
This field indicates if the task mode the signal will run with.
Definition: asr.h:71
ISR lock control.
Definition: isrlock.h:56
bool is_enabled
This field indicates if are ASRs enabled currently.
Definition: asr.h:67
uint32_t rtems_signal_set
The following type defines the control block used to manage each signal set.
Definition: asr.h:46
rtems_asr(* rtems_asr_entry)(rtems_signal_set)
The following type corresponds to the applications asynchronous signal processing routine...
Definition: asr.h:57
rtems_asr_entry handler
This field indicates if address of the signal handler function.
Definition: asr.h:69
ISR_lock_Control Lock
Lock to protect this structure.
Definition: asr.h:79
The following defines the control structure used to manage signals.
Definition: asr.h:65
rtems_signal_set signals_pending
This field indicates the signal set that is pending.
Definition: asr.h:75
ISR Locks.
uint32_t nest_level
This field indicates if nest level of signals being processed.
Definition: asr.h:77