RTEMS
asrimpl.h
Go to the documentation of this file.
1 
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.org/license/LICENSE.
15  */
16 
17 #ifndef _RTEMS_RTEMS_ASRIMPL_H
18 #define _RTEMS_RTEMS_ASRIMPL_H
19 
20 #include <rtems/rtems/asrdata.h>
21 
22 #include <string.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
42  ASR_Information *asr
43 )
44 {
45  memset(asr, 0, sizeof(*asr));
46 }
47 
55  rtems_asr_entry asr_handler
56 )
57 {
58  return asr_handler == NULL;
59 }
60 
62 {
63  rtems_signal_set new_signals_posted;
64 
65  new_signals_posted = asr->signals_pending;
66  asr->signals_pending = asr->signals_posted;
67  asr->signals_posted = new_signals_posted;
68 
69  return new_signals_posted;
70 }
71 
72 RTEMS_INLINE_ROUTINE void _ASR_Post_signals(
73  rtems_signal_set signals,
74  rtems_signal_set *signal_set
75 )
76 {
77  *signal_set |= signals;
78 }
79 
80 RTEMS_INLINE_ROUTINE rtems_signal_set _ASR_Get_posted_signals(
81  ASR_Information *asr
82 )
83 {
84  rtems_signal_set signal_set;
85 
86  signal_set = asr->signals_posted;
87  asr->signals_posted = 0;
88 
89  return signal_set;
90 }
91 
94 #ifdef __cplusplus
95 }
96 #endif
97 
98 #endif
99 /* end of include file */
Classic ASR Data Structures.
rtems_signal_set signals_posted
Definition: asrdata.h:44
RTEMS_INLINE_ROUTINE void _ASR_Initialize(ASR_Information *asr)
ASR_Initialize.
Definition: asrimpl.h:41
RTEMS_INLINE_ROUTINE bool _ASR_Is_null_handler(rtems_asr_entry asr_handler)
ASR_Is_null_handler.
Definition: asrimpl.h:54
rtems_asr(* rtems_asr_entry)(rtems_signal_set)
%
Definition: asr.h:87
#define RTEMS_INLINE_ROUTINE
Gives a hint to the compiler in a function declaration to inline this function.
Definition: basedefs.h:683
uint32_t rtems_signal_set
%
Definition: asr.h:69
rtems_signal_set signals_pending
Definition: asrdata.h:46