summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/intr.h
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-10 06:19:03 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-10 06:19:03 +0000
commit780428fb9da5a77c10a132b350a869678a790840 (patch)
tree9a1babf6df02bb949d9bfbaf11f8f31f4c0442ff /cpukit/rtems/include/rtems/rtems/intr.h
parent- Simple timing functions based on a time base reference. (diff)
downloadrtems-780428fb9da5a77c10a132b350a869678a790840.tar.bz2
Extension of the RTEMS Interrupt Manager
(shared handler and handler with a handle).
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/intr.h85
1 files changed, 40 insertions, 45 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/intr.h b/cpukit/rtems/include/rtems/rtems/intr.h
index d824960252..5482193b04 100644
--- a/cpukit/rtems/include/rtems/rtems/intr.h
+++ b/cpukit/rtems/include/rtems/rtems/intr.h
@@ -1,8 +1,10 @@
/**
- * @file rtems/rtems/intr.h
+ * @file rtems/rtems/intr.h
*
- * This include file contains all the constants and structures associated
- * with the Interrupt Manager.
+ * @brief Header file for the Interrupt Manager.
+ *
+ * This include file contains all the constants and structures associated with
+ * the Interrupt Manager.
*/
/* COPYRIGHT (c) 1989-2008.
@@ -32,43 +34,40 @@ extern "C" {
/**@{*/
/**
- * Interrupt level type
+ * @brief Interrupt level type.
*/
typedef ISR_Level rtems_interrupt_level;
/**
- * The following type defines the control block used to manage
- * the vectors.
+ * @brief Control block type used to manage the vectors.
*/
typedef ISR_Vector_number rtems_vector_number;
/**
- * Return type for ISR Handler
+ * @brief Return type for interrupt handler.
*/
typedef void rtems_isr;
/**
- * Pointer to an ISR Handler
+ * @brief Interrupt handler type.
+ *
+ * @see rtems_interrupt_catch()
*/
typedef rtems_isr ( *rtems_isr_entry )(
rtems_vector_number
);
/**
- * @brief Interrupt_Manager_initialization
- *
- * This routine initializes the interrupt manager.
- *
+ * @brief Initializes the Interrupt Manager.
*/
void _Interrupt_Manager_initialization( void );
/**
- * @brief rtems_interrupt_catch
- *
- * This routine implements the rtems_interrupt_catch directive. This
- * directive installs new_isr_handler as the RTEMS interrupt service
- * routine for vector. The previous RTEMS interrupt service
- * routine is returned in old_isr_handler.
+ * @brief Implementation of the rtems_interrupt_catch directive.
+ *
+ * This directive installs @a new_isr_handler as the RTEMS interrupt service
+ * routine for the interrupt vector with number @a vector. The previous RTEMS
+ * interrupt service routine is returned in @a old_isr_handler.
*/
rtems_status_code rtems_interrupt_catch(
rtems_isr_entry new_isr_handler,
@@ -77,58 +76,54 @@ rtems_status_code rtems_interrupt_catch(
);
/**
- * @brief rtems_interrupt_disable
- *
- * This routine disables all maskable interrupts and returns the
- * previous level in _isr_cookie.
+ * @brief Disables all maskable interrupts and returns the previous level in
+ * @a _isr_cookie.
+ *
+ * @note The interrupt level shall be of type @ref rtems_interrupt_level.
*/
#define rtems_interrupt_disable( _isr_cookie ) \
_ISR_Disable(_isr_cookie)
/**
- * @brief rtems_interrupt_enable
- *
- * This routine enables maskable interrupts to the level indicated
+ * @brief Enables maskable interrupts to the level indicated by @a
* _isr_cookie.
+ *
+ * @note The interrupt level shall be of type @ref rtems_interrupt_level.
*/
#define rtems_interrupt_enable( _isr_cookie ) \
_ISR_Enable(_isr_cookie)
/**
- * @brief rtems_interrupt_flash
- *
- * This routine temporarily enables maskable interrupts to the
- * level in _isr_cookie before redisabling them.
+ * @brief Temporarily enables maskable interrupts to the level in @a
+ * _isr_cookie before redisabling them.
+ *
+ * @note The interrupt level shall be of type @ref rtems_interrupt_level.
*/
#define rtems_interrupt_flash( _isr_cookie ) \
_ISR_Flash(_isr_cookie)
/**
- * @brief rtems_interrupt_is_in_progress
- *
- * This function returns TRUE if the processor is currently servicing
- * an interrupt and FALSE otherwise. A return value of TRUE indicates
- * that the caller is an interrupt service routine, NOT a thread. The
- * directives available to an interrupt service routine are restricted.
+ * @brief Returns TRUE if the processor is currently servicing an interrupt
+ * and FALSE otherwise.
+ *
+ * A return value of TRUE indicates that the caller is an interrupt service
+ * routine and @b not a thread. The directives available to an interrupt
+ * service routine are restricted.
*/
#define rtems_interrupt_is_in_progress() \
_ISR_Is_in_progress()
/**
- * @brief rtems_interrupt_cause
- *
- * This routine generates an interrupt.
- *
- * NOTE: No implementation.
+ * @brief This routine generates an interrupt.
+ *
+ * @note No implementation.
*/
#define rtems_interrupt_cause( _interrupt_to_cause )
/**
- * @brief rtems_interrupt_clear
- *
- * This routine clears the specified interrupt.
- *
- * NOTE: No implementation.
+ * @brief This routine clears the specified interrupt.
+ *
+ * @note No implementation.
*/
#define rtems_interrupt_clear( _interrupt_to_clear )