RTEMS CPU Kit with SuperCore  4.10.99.0
Data Structures | Defines | Typedefs | Functions
ASR Support
RTEMS Classic API

Asynchronous Signal Handler. More...

Collaboration diagram for ASR Support:

Data Structures

struct  ASR_Information
 The following defines the control structure used to manage signals. More...

Defines

#define RTEMS_SIGNAL_0   0x00000001
 This defines the bit in the signal set associated with signal 0.
#define RTEMS_SIGNAL_1   0x00000002
 This defines the bit in the signal set associated with signal 1.
#define RTEMS_SIGNAL_2   0x00000004
 This defines the bit in the signal set associated with signal 2.
#define RTEMS_SIGNAL_3   0x00000008
 This defines the bit in the signal set associated with signal 3.
#define RTEMS_SIGNAL_4   0x00000010
 This defines the bit in the signal set associated with signal 4.
#define RTEMS_SIGNAL_5   0x00000020
 This defines the bit in the signal set associated with signal 5.
#define RTEMS_SIGNAL_6   0x00000040
 This defines the bit in the signal set associated with signal 6.
#define RTEMS_SIGNAL_7   0x00000080
 This defines the bit in the signal set associated with signal 7.
#define RTEMS_SIGNAL_8   0x00000100
 This defines the bit in the signal set associated with signal 8.
#define RTEMS_SIGNAL_9   0x00000200
 This defines the bit in the signal set associated with signal 9.
#define RTEMS_SIGNAL_10   0x00000400
 This defines the bit in the signal set associated with signal 10.
#define RTEMS_SIGNAL_11   0x00000800
 This defines the bit in the signal set associated with signal 11.
#define RTEMS_SIGNAL_12   0x00001000
 This defines the bit in the signal set associated with signal 12.
#define RTEMS_SIGNAL_13   0x00002000
 This defines the bit in the signal set associated with signal 13.
#define RTEMS_SIGNAL_14   0x00004000
 This defines the bit in the signal set associated with signal 14.
#define RTEMS_SIGNAL_15   0x00008000
 This defines the bit in the signal set associated with signal 15.
#define RTEMS_SIGNAL_16   0x00010000
 This defines the bit in the signal set associated with signal 16.
#define RTEMS_SIGNAL_17   0x00020000
 This defines the bit in the signal set associated with signal 17.
#define RTEMS_SIGNAL_18   0x00040000
 This defines the bit in the signal set associated with signal 18.
#define RTEMS_SIGNAL_19   0x00080000
 This defines the bit in the signal set associated with signal 19.
#define RTEMS_SIGNAL_20   0x00100000
 This defines the bit in the signal set associated with signal 20.
#define RTEMS_SIGNAL_21   0x00200000
 This defines the bit in the signal set associated with signal 21.
#define RTEMS_SIGNAL_22   0x00400000
 This defines the bit in the signal set associated with signal 22.
#define RTEMS_SIGNAL_23   0x00800000
 This defines the bit in the signal set associated with signal 23.
#define RTEMS_SIGNAL_24   0x01000000
 This defines the bit in the signal set associated with signal 24.
#define RTEMS_SIGNAL_25   0x02000000
 This defines the bit in the signal set associated with signal 25.
#define RTEMS_SIGNAL_26   0x04000000
 This defines the bit in the signal set associated with signal 26.
#define RTEMS_SIGNAL_27   0x08000000
 This defines the bit in the signal set associated with signal 27.
#define RTEMS_SIGNAL_28   0x10000000
 This defines the bit in the signal set associated with signal 28.
#define RTEMS_SIGNAL_29   0x20000000
 This defines the bit in the signal set associated with signal 29.
#define RTEMS_SIGNAL_30   0x40000000
 This defines the bit in the signal set associated with signal 30.
#define RTEMS_SIGNAL_31   0x80000000
 This defines the bit in the signal set associated with signal 31.

Typedefs

typedef uint32_t rtems_signal_set
 The following type defines the control block used to manage each signal set.
typedef void rtems_asr
 Return type for ASR Handler.
typedef rtems_asr(* rtems_asr_entry )(rtems_signal_set)
 The following type corresponds to the applications asynchronous signal processing routine.

Functions

RTEMS_INLINE_ROUTINE void _ASR_Initialize (ASR_Information *information)
 ASR_Initialize.
RTEMS_INLINE_ROUTINE void _ASR_Swap_signals (ASR_Information *information)
 ASR_Swap_signals.
RTEMS_INLINE_ROUTINE bool _ASR_Is_null_handler (rtems_asr_entry asr_handler)
 ASR_Is_null_handler.
RTEMS_INLINE_ROUTINE bool _ASR_Are_signals_pending (ASR_Information *information)
 ASR_Are_signals_pending.
RTEMS_INLINE_ROUTINE void _ASR_Post_signals (rtems_signal_set signals, rtems_signal_set *signal_set)
 ASR_Post_signals.

Detailed Description

Asynchronous Signal Handler.

This encapsulates functionality which XXX.

This include file contains all the constants and structures associated with the Asynchronous Signal Handler. This Handler provides the low-level support required by the Signal Manager.

This include file contains the implemenation of all routines associated with the asynchronous signal handler which are inlined.


Define Documentation

#define RTEMS_SIGNAL_0   0x00000001

This defines the bit in the signal set associated with signal 0.

#define RTEMS_SIGNAL_1   0x00000002

This defines the bit in the signal set associated with signal 1.

#define RTEMS_SIGNAL_10   0x00000400

This defines the bit in the signal set associated with signal 10.

#define RTEMS_SIGNAL_11   0x00000800

This defines the bit in the signal set associated with signal 11.

#define RTEMS_SIGNAL_12   0x00001000

This defines the bit in the signal set associated with signal 12.

#define RTEMS_SIGNAL_13   0x00002000

This defines the bit in the signal set associated with signal 13.

#define RTEMS_SIGNAL_14   0x00004000

This defines the bit in the signal set associated with signal 14.

#define RTEMS_SIGNAL_15   0x00008000

This defines the bit in the signal set associated with signal 15.

#define RTEMS_SIGNAL_16   0x00010000

This defines the bit in the signal set associated with signal 16.

#define RTEMS_SIGNAL_17   0x00020000

This defines the bit in the signal set associated with signal 17.

#define RTEMS_SIGNAL_18   0x00040000

This defines the bit in the signal set associated with signal 18.

#define RTEMS_SIGNAL_19   0x00080000

This defines the bit in the signal set associated with signal 19.

#define RTEMS_SIGNAL_2   0x00000004

This defines the bit in the signal set associated with signal 2.

#define RTEMS_SIGNAL_20   0x00100000

This defines the bit in the signal set associated with signal 20.

#define RTEMS_SIGNAL_21   0x00200000

This defines the bit in the signal set associated with signal 21.

#define RTEMS_SIGNAL_22   0x00400000

This defines the bit in the signal set associated with signal 22.

#define RTEMS_SIGNAL_23   0x00800000

This defines the bit in the signal set associated with signal 23.

#define RTEMS_SIGNAL_24   0x01000000

This defines the bit in the signal set associated with signal 24.

#define RTEMS_SIGNAL_25   0x02000000

This defines the bit in the signal set associated with signal 25.

#define RTEMS_SIGNAL_26   0x04000000

This defines the bit in the signal set associated with signal 26.

#define RTEMS_SIGNAL_27   0x08000000

This defines the bit in the signal set associated with signal 27.

#define RTEMS_SIGNAL_28   0x10000000

This defines the bit in the signal set associated with signal 28.

#define RTEMS_SIGNAL_29   0x20000000

This defines the bit in the signal set associated with signal 29.

#define RTEMS_SIGNAL_3   0x00000008

This defines the bit in the signal set associated with signal 3.

#define RTEMS_SIGNAL_30   0x40000000

This defines the bit in the signal set associated with signal 30.

#define RTEMS_SIGNAL_31   0x80000000

This defines the bit in the signal set associated with signal 31.

#define RTEMS_SIGNAL_4   0x00000010

This defines the bit in the signal set associated with signal 4.

#define RTEMS_SIGNAL_5   0x00000020

This defines the bit in the signal set associated with signal 5.

#define RTEMS_SIGNAL_6   0x00000040

This defines the bit in the signal set associated with signal 6.

#define RTEMS_SIGNAL_7   0x00000080

This defines the bit in the signal set associated with signal 7.

#define RTEMS_SIGNAL_8   0x00000100

This defines the bit in the signal set associated with signal 8.

#define RTEMS_SIGNAL_9   0x00000200

This defines the bit in the signal set associated with signal 9.


Function Documentation

RTEMS_INLINE_ROUTINE bool _ASR_Are_signals_pending ( ASR_Information information)

ASR_Are_signals_pending.

This function returns TRUE if there are signals pending in the given RTEMS_ASR information record and FALSE otherwise.

References ASR_Information::signals_posted.

RTEMS_INLINE_ROUTINE void _ASR_Initialize ( ASR_Information information)
RTEMS_INLINE_ROUTINE bool _ASR_Is_null_handler ( rtems_asr_entry  asr_handler)

ASR_Is_null_handler.

This function returns TRUE if the given asr_handler is NULL and FALSE otherwise.

RTEMS_INLINE_ROUTINE void _ASR_Post_signals ( rtems_signal_set  signals,
rtems_signal_set signal_set 
)

ASR_Post_signals.

This routine posts the given signals into the signal_set passed in. The result is returned to the user in signal_set.

NOTE: This must be implemented as a macro.

References _ISR_Disable, and _ISR_Enable.

RTEMS_INLINE_ROUTINE void _ASR_Swap_signals ( ASR_Information information)

ASR_Swap_signals.

This routine atomically swaps the pending and posted signal sets. This is done when the thread alters its mode in such a way that the RTEMS_ASR disable/enable flag changes.

References _ISR_Disable, ASR_Information::signals_pending, ASR_Information::signals_posted, and _ISR_Enable.