Changeset 075d817 in rtems


Ignore:
Timestamp:
Jul 24, 2008, 12:45:23 PM (11 years ago)
Author:
Thomas Doerfler <Thomas.Doerfler@…>
Branches:
4.10, 4.11, 4.9, master
Children:
d4886a06
Parents:
2e2c640e
Message:

New function rtems_interrupt_handler_iterate()
for system information and diagnostics

Location:
cpukit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r2e2c640e r075d817  
     12008-07-24     Sebastian Huber <sebastian.huber@embedded-brains.de>
     2
     3        * cpukit/include/rtems/irq-extension.h: New function
     4        rtems_interrupt_handler_iterate() for system information and
     5        diagnostics.
     6
    172008-07-23      Joel Sherrill <joel.sherrill@oarcorp.com>
    28
  • cpukit/include/rtems/irq-extension.h

    r2e2c640e r075d817  
    8383 */
    8484rtems_status_code rtems_interrupt_handler_install(
    85     rtems_vector_number vector,
    86     const char *info,
    87     rtems_option options,
    88     rtems_interrupt_handler handler,
    89     void *arg
     85  rtems_vector_number vector,
     86  const char *info,
     87  rtems_option options,
     88  rtems_interrupt_handler handler,
     89  void *arg
    9090);
    9191
     
    108108 */
    109109rtems_status_code rtems_interrupt_handler_remove(
    110     rtems_vector_number vector,
    111     rtems_interrupt_handler handler,
    112     void *arg
     110  rtems_vector_number vector,
     111  rtems_interrupt_handler handler,
     112  void *arg
     113);
     114
     115/**
     116 * @brief Interrupt handler iteration routine type.
     117 *
     118 * @see rtems_interrupt_handler_iterate()
     119 */
     120typedef void (*rtems_interrupt_per_handler_routine)(
     121  void *, const char *, rtems_option, rtems_interrupt_handler, void *
     122);
     123
     124/**
     125 * @brief Iterates over all installed interrupt handler of the interrupt vector
     126 * with number @a vector.
     127 *
     128 * For each installed handler of the vector the function @a routine will be
     129 * called with the supplied argument @a arg and the handler information,
     130 * options, routine and argument.
     131 *
     132 * This function is intended for system information and diagnostics.
     133 *
     134 * @note This function may block.  Never install or remove an interrupt handler
     135 * within the iteration routine.  This may result in a deadlock.
     136 *
     137 * @return
     138 * - On success RTEMS_SUCCESSFUL shall be returned.
     139 * - If this function is called within interrupt context RTEMS_CALLED_FROM_ISR
     140 * shall be returned.
     141 * - If the vector number is out of range RTEMS_INVALID_NUMBER shall be
     142 * returned.
     143 * - Other error states are BSP specific.
     144 */
     145rtems_status_code rtems_interrupt_handler_iterate(
     146  rtems_vector_number vector,
     147  rtems_interrupt_per_handler_routine routine,
     148  void *arg
    113149);
    114150
     
    153189 */
    154190#define RTEMS_INTERRUPT_IS_UNIQUE( options) \
    155     ((options) & RTEMS_INTERRUPT_UNIQUE)
     191  ((options) & RTEMS_INTERRUPT_UNIQUE)
    156192
    157193/**
     
    159195 */
    160196#define RTEMS_INTERRUPT_IS_SHARED( options) \
    161     (!RTEMS_INTERRUPT_IS_UNIQUE( options))
     197  (!RTEMS_INTERRUPT_IS_UNIQUE( options))
    162198
    163199/** @} */
Note: See TracChangeset for help on using the changeset viewer.