summaryrefslogtreecommitdiff
path: root/c/src/lib/libbsp/shared/include/setvec.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/shared/include/setvec.h')
-rw-r--r--c/src/lib/libbsp/shared/include/setvec.h54
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 */