From 5d44355937fddc26485ac691a4ceba3f1c169ecf Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 2 Feb 2012 16:57:42 -0600 Subject: PR 1991/cpukit - attr.c (really mode code) warning rework This PR was about a warning for no previous prototype for rtems_interrupt_level_attribute. This method exists (like a few others) to have real bodies for Classic API services implemented as macros. These macros are not available from anything but C and C++. The most explicit use was in the Ada binding but these would be needed from assembly language or any other non-C based language. On top of needing a prototype, the methods were misnamed. They were related to modes. This renames them, moves the file, fixes test code, etc. --- cpukit/rtems/include/rtems/rtems/modes.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'cpukit/rtems/include/rtems') diff --git a/cpukit/rtems/include/rtems/rtems/modes.h b/cpukit/rtems/include/rtems/rtems/modes.h index 0665d17c8b..c24b072acf 100644 --- a/cpukit/rtems/include/rtems/rtems/modes.h +++ b/cpukit/rtems/include/rtems/rtems/modes.h @@ -96,6 +96,27 @@ typedef uint32_t Modes_Control; #define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ ( (_mode_set) & RTEMS_INTERRUPT_MASK ) +/** + * @brief Interrupt Mask Variable + * + * This variable is used by bindings from languages other than C and C++. + */ +extern const uint32_t rtems_interrupt_mask; + +/** + * @brief Body for RTEMS_INTERRUPT_LEVEL macro. + * + * @param[in] level is the desired interrupt level + * + * @return This methods returns a mode with the desired interrupt + * @a level in the proper bitfield location. + * + * @note This variable is used by bindings from languages other than + * C and C++. + */ +Modes_Control rtems_interrupt_level_body( + uint32_t level +); #ifndef __RTEMS_APPLICATION__ #include -- cgit v1.2.3