From 780428fb9da5a77c10a132b350a869678a790840 Mon Sep 17 00:00:00 2001 From: Thomas Doerfler Date: Thu, 10 Jul 2008 06:19:03 +0000 Subject: Extension of the RTEMS Interrupt Manager (shared handler and handler with a handle). --- cpukit/rtems/include/rtems/rtems/intr.h | 85 ++++++++++++++++----------------- 1 file changed, 40 insertions(+), 45 deletions(-) (limited to 'cpukit/rtems/include/rtems/rtems/intr.h') 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 ) -- cgit v1.2.3