diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-24 07:10:25 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-02-08 08:46:07 +0100 |
commit | c2f21a0c2254c5719f76598b09429feab163d804 (patch) | |
tree | 795eee33c6085a63f5a3164819876f43825a9aa0 | |
parent | 0593d543cb00499946e7fe2f782e73f12b823e99 (diff) |
rtems: Generate <rtems/rtems/signal.h>
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
-rw-r--r-- | cpukit/include/rtems/rtems/asr.h | 478 | ||||
-rw-r--r-- | cpukit/include/rtems/rtems/signal.h | 98 |
2 files changed, 444 insertions, 132 deletions
diff --git a/cpukit/include/rtems/rtems/asr.h b/cpukit/include/rtems/rtems/asr.h index c157719238..2cab77aac5 100644 --- a/cpukit/include/rtems/rtems/asr.h +++ b/cpukit/include/rtems/rtems/asr.h @@ -1,134 +1,416 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + /** * @file * - * @ingroup ClassicASR + * @brief This header file defines the parts of the Signal Manager API. + */ + +/* + * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * - * 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 SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org */ +/* Generated from spec:/rtems/signal/if/header-2 */ + #ifndef _RTEMS_RTEMS_ASR_H #define _RTEMS_RTEMS_ASR_H -#include <rtems/rtems/modes.h> +#include <stdint.h> #ifdef __cplusplus extern "C" { #endif +/* Generated from spec:/rtems/signal/if/asr */ + /** - * @defgroup ClassicASR ASR Support + * @ingroup RTEMSAPIClassicSignal * - * @ingroup RTEMSAPIClassic + * @brief % + */ +typedef void rtems_asr; + +/* Generated from spec:/rtems/signal/if/set */ + +/** + * @ingroup RTEMSAPIClassicSignal * - * This encapsulates functionality related to the Classic API Signal - * Manager. + * @brief % */ -/**@{*/ +typedef uint32_t rtems_signal_set; + +/* Generated from spec:/rtems/signal/if/asr-entry */ /** - * The following type defines the control block used to manage - * each signal set. + * @ingroup RTEMSAPIClassicSignal + * + * @brief % */ -typedef uint32_t rtems_signal_set; +typedef rtems_asr ( *rtems_asr_entry )( + rtems_signal_set +); + +/* Generated from spec:/rtems/signal/if/signal-0 */ /** - * Return type for ASR Handler + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 0. */ -typedef void rtems_asr; +#define RTEMS_SIGNAL_0 0x00000001 + +/* Generated from spec:/rtems/signal/if/signal-1 */ /** - * The following type corresponds to the applications asynchronous - * signal processing routine. + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 1. */ -typedef rtems_asr ( *rtems_asr_entry )( - rtems_signal_set - ); +#define RTEMS_SIGNAL_1 0x00000002 -/* - * The following constants define the individual signals which may - * be used to compose a signal set. - */ - -/** This defines the bit in the signal set associated with signal 0. */ -#define RTEMS_SIGNAL_0 0x00000001 -/** This defines the bit in the signal set associated with signal 1. */ -#define RTEMS_SIGNAL_1 0x00000002 -/** This defines the bit in the signal set associated with signal 2. */ -#define RTEMS_SIGNAL_2 0x00000004 -/** This defines the bit in the signal set associated with signal 3. */ -#define RTEMS_SIGNAL_3 0x00000008 -/** This defines the bit in the signal set associated with signal 4. */ -#define RTEMS_SIGNAL_4 0x00000010 -/** This defines the bit in the signal set associated with signal 5. */ -#define RTEMS_SIGNAL_5 0x00000020 -/** This defines the bit in the signal set associated with signal 6. */ -#define RTEMS_SIGNAL_6 0x00000040 -/** This defines the bit in the signal set associated with signal 7. */ -#define RTEMS_SIGNAL_7 0x00000080 -/** This defines the bit in the signal set associated with signal 8. */ -#define RTEMS_SIGNAL_8 0x00000100 -/** This defines the bit in the signal set associated with signal 9. */ -#define RTEMS_SIGNAL_9 0x00000200 -/** This defines the bit in the signal set associated with signal 10. */ -#define RTEMS_SIGNAL_10 0x00000400 -/** This defines the bit in the signal set associated with signal 11. */ -#define RTEMS_SIGNAL_11 0x00000800 -/** This defines the bit in the signal set associated with signal 12. */ -#define RTEMS_SIGNAL_12 0x00001000 -/** This defines the bit in the signal set associated with signal 13. */ -#define RTEMS_SIGNAL_13 0x00002000 -/** This defines the bit in the signal set associated with signal 14. */ -#define RTEMS_SIGNAL_14 0x00004000 -/** This defines the bit in the signal set associated with signal 15. */ -#define RTEMS_SIGNAL_15 0x00008000 -/** This defines the bit in the signal set associated with signal 16. */ -#define RTEMS_SIGNAL_16 0x00010000 -/** This defines the bit in the signal set associated with signal 17. */ -#define RTEMS_SIGNAL_17 0x00020000 -/** This defines the bit in the signal set associated with signal 18. */ -#define RTEMS_SIGNAL_18 0x00040000 -/** This defines the bit in the signal set associated with signal 19. */ -#define RTEMS_SIGNAL_19 0x00080000 -/** This defines the bit in the signal set associated with signal 20. */ -#define RTEMS_SIGNAL_20 0x00100000 -/** This defines the bit in the signal set associated with signal 21. */ -#define RTEMS_SIGNAL_21 0x00200000 -/** This defines the bit in the signal set associated with signal 22. */ -#define RTEMS_SIGNAL_22 0x00400000 -/** This defines the bit in the signal set associated with signal 23. */ -#define RTEMS_SIGNAL_23 0x00800000 -/** This defines the bit in the signal set associated with signal 24. */ -#define RTEMS_SIGNAL_24 0x01000000 -/** This defines the bit in the signal set associated with signal 25. */ -#define RTEMS_SIGNAL_25 0x02000000 -/** This defines the bit in the signal set associated with signal 26. */ -#define RTEMS_SIGNAL_26 0x04000000 -/** This defines the bit in the signal set associated with signal 27. */ -#define RTEMS_SIGNAL_27 0x08000000 -/** This defines the bit in the signal set associated with signal 28. */ -#define RTEMS_SIGNAL_28 0x10000000 -/** This defines the bit in the signal set associated with signal 29. */ -#define RTEMS_SIGNAL_29 0x20000000 -/** This defines the bit in the signal set associated with signal 30. */ -#define RTEMS_SIGNAL_30 0x40000000 -/** This defines the bit in the signal set associated with signal 31. */ -#define RTEMS_SIGNAL_31 0x80000000 - -/**@}*/ +/* Generated from spec:/rtems/signal/if/signal-10 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 10. + */ +#define RTEMS_SIGNAL_10 0x00000400 + +/* Generated from spec:/rtems/signal/if/signal-11 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 11. + */ +#define RTEMS_SIGNAL_11 0x00000800 + +/* Generated from spec:/rtems/signal/if/signal-12 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 12. + */ +#define RTEMS_SIGNAL_12 0x00001000 + +/* Generated from spec:/rtems/signal/if/signal-13 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 13. + */ +#define RTEMS_SIGNAL_13 0x00002000 + +/* Generated from spec:/rtems/signal/if/signal-14 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 14. + */ +#define RTEMS_SIGNAL_14 0x00004000 + +/* Generated from spec:/rtems/signal/if/signal-15 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 15. + */ +#define RTEMS_SIGNAL_15 0x00008000 + +/* Generated from spec:/rtems/signal/if/signal-16 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 16. + */ +#define RTEMS_SIGNAL_16 0x00010000 + +/* Generated from spec:/rtems/signal/if/signal-17 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 17. + */ +#define RTEMS_SIGNAL_17 0x00020000 + +/* Generated from spec:/rtems/signal/if/signal-18 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 18. + */ +#define RTEMS_SIGNAL_18 0x00040000 + +/* Generated from spec:/rtems/signal/if/signal-19 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 19. + */ +#define RTEMS_SIGNAL_19 0x00080000 + +/* Generated from spec:/rtems/signal/if/signal-2 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 2. + */ +#define RTEMS_SIGNAL_2 0x00000004 + +/* Generated from spec:/rtems/signal/if/signal-20 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 20. + */ +#define RTEMS_SIGNAL_20 0x00100000 + +/* Generated from spec:/rtems/signal/if/signal-21 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 21. + */ +#define RTEMS_SIGNAL_21 0x00200000 + +/* Generated from spec:/rtems/signal/if/signal-22 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 22. + */ +#define RTEMS_SIGNAL_22 0x00400000 + +/* Generated from spec:/rtems/signal/if/signal-23 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 23. + */ +#define RTEMS_SIGNAL_23 0x00800000 + +/* Generated from spec:/rtems/signal/if/signal-24 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 24. + */ +#define RTEMS_SIGNAL_24 0x01000000 + +/* Generated from spec:/rtems/signal/if/signal-25 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 25. + */ +#define RTEMS_SIGNAL_25 0x02000000 + +/* Generated from spec:/rtems/signal/if/signal-26 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 26. + */ +#define RTEMS_SIGNAL_26 0x04000000 + +/* Generated from spec:/rtems/signal/if/signal-27 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 27. + */ +#define RTEMS_SIGNAL_27 0x08000000 + +/* Generated from spec:/rtems/signal/if/signal-28 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 28. + */ +#define RTEMS_SIGNAL_28 0x10000000 + +/* Generated from spec:/rtems/signal/if/signal-29 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 29. + */ +#define RTEMS_SIGNAL_29 0x20000000 + +/* Generated from spec:/rtems/signal/if/signal-3 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 3. + */ +#define RTEMS_SIGNAL_3 0x00000008 + +/* Generated from spec:/rtems/signal/if/signal-30 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 30. + */ +#define RTEMS_SIGNAL_30 0x40000000 + +/* Generated from spec:/rtems/signal/if/signal-31 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 31. + */ +#define RTEMS_SIGNAL_31 0x80000000 + +/* Generated from spec:/rtems/signal/if/signal-4 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 4. + */ +#define RTEMS_SIGNAL_4 0x00000010 + +/* Generated from spec:/rtems/signal/if/signal-5 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 5. + */ +#define RTEMS_SIGNAL_5 0x00000020 + +/* Generated from spec:/rtems/signal/if/signal-6 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 6. + */ +#define RTEMS_SIGNAL_6 0x00000040 + +/* Generated from spec:/rtems/signal/if/signal-7 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 7. + */ +#define RTEMS_SIGNAL_7 0x00000080 + +/* Generated from spec:/rtems/signal/if/signal-8 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 8. + */ +#define RTEMS_SIGNAL_8 0x00000100 + +/* Generated from spec:/rtems/signal/if/signal-9 */ + +/** + * @ingroup RTEMSAPIClassicSignal + * + * @brief This constant defines the bit in the signal set associated with + * signal 9. + */ +#define RTEMS_SIGNAL_9 0x00000200 #ifdef __cplusplus } #endif -#endif -/* end of include file */ +#endif /* _RTEMS_RTEMS_ASR_H */ diff --git a/cpukit/include/rtems/rtems/signal.h b/cpukit/include/rtems/rtems/signal.h index 1ed1392e2f..4b89a2421d 100644 --- a/cpukit/include/rtems/rtems/signal.h +++ b/cpukit/include/rtems/rtems/signal.h @@ -1,19 +1,56 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + /** * @file * - * @ingroup ClassicSignal + * @brief This header file defines the parts of the Signal Manager API. + */ + +/* + * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * - * @brief Signals API + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org */ +/* Generated from spec:/rtems/signal/if/header */ + #ifndef _RTEMS_RTEMS_SIGNAL_H #define _RTEMS_RTEMS_SIGNAL_H @@ -26,58 +63,51 @@ extern "C" { #endif +/* Generated from spec:/rtems/signal/if/group */ + /** - * @defgroup ClassicSignal Signals + * @defgroup RTEMSAPIClassicSignal Signal Manager * * @ingroup RTEMSAPIClassic * - * Directives provided are: - * - * + establish an asynchronous signal routine - * + send a signal set to a task + * @brief The Signal Manager provides the capabilities required for + * asynchronous communication. */ -/**@{*/ + +/* Generated from spec:/rtems/signal/if/catch */ /** - * @brief RTEMS Catch Signal + * @ingroup RTEMSAPIClassicSignal * - * This routine implements the rtems_signal_catch directive. This directive - * is used to establish asr_handler as the Asynchronous Signal Routine - * (RTEMS_ASR) for the calling task. The asr_handler will execute with a - * mode of mode_set. + * @brief % * - * @param[in] asr_handler is the address of asynchronous signal routine (asr) - * ( NULL indicates asr is invalid ) - * @param[in] mode_set is the mode value for asr + * @param asr_handler % * - * @retval RTEMS_SUCCESSFUL + * @param mode_set % */ rtems_status_code rtems_signal_catch( - rtems_asr_entry asr_handler, - rtems_mode mode_set + rtems_asr_entry asr_handler, + rtems_mode mode_set ); +/* Generated from spec:/rtems/signal/if/send */ + /** - * @brief RTEMS Send Signal + * @ingroup RTEMSAPIClassicSignal * - * This routine implements the rtems_signal_send directive. This directive - * sends the signal_set to the task specified by ID. + * @brief % * - * @param[in] id is the thread thread id - * @param[in] signal_set is the signal set + * @param id % * - * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @param signal_set % */ rtems_status_code rtems_signal_send( rtems_id id, rtems_signal_set signal_set ); -/**@}*/ - #ifdef __cplusplus } #endif -#endif -/* end of include file */ +#endif /* _RTEMS_RTEMS_SIGNAL_H */ |