diff options
Diffstat (limited to 'c/src/lib/libbsp/shared/include/setvec.h')
-rw-r--r-- | c/src/lib/libbsp/shared/include/setvec.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/include/setvec.h b/c/src/lib/libbsp/shared/include/setvec.h new file mode 100644 index 0000000000..95f7cd9056 --- /dev/null +++ b/c/src/lib/libbsp/shared/include/setvec.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2011 Gedare Bloom. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifndef LIBBSP_SHARED_SETVEC_H +#define LIBBSP_SHARED_SETVEC_H + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * @defgroup bsp_set_vector + * + * @ingroup bsp_kit + * + * @brief Install an interrupt handler for simple vectored architectures. + * + * @{ + */ +/** + * Raw trap handler vectors directly to isr handler. + */ +#define BSP_SET_VECTOR_RAW 0 +/** + * RTEMS trap handler vectors through rtems interrupt handler (_ISR_Handler). + */ +#define BSP_SET_VECTOR_RTEMS 1 + +/** + * @brief bsp_set_vector + * + * Installs @a handler as the interrupt handler for vector number @a vector + * with @a type specifying either BSP_SET_VECTOR_RAW or BSP_SET_VECTOR_RTEMS + * + * @return Returns the old vector handler + */ +rtems_isr_entry bsp_set_vector( + rtems_isr_entry handler, + rtems_vector_number vector, + int type +); + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LIBBSP_SHARED_SETVEC_H */ |