summaryrefslogtreecommitdiff
path: root/interrupt/interrupt_enums.h.j2
diff options
context:
space:
mode:
Diffstat (limited to 'interrupt/interrupt_enums.h.j2')
-rw-r--r--interrupt/interrupt_enums.h.j220
1 files changed, 12 insertions, 8 deletions
diff --git a/interrupt/interrupt_enums.h.j2 b/interrupt/interrupt_enums.h.j2
index cc05100..4d58077 100644
--- a/interrupt/interrupt_enums.h.j2
+++ b/interrupt/interrupt_enums.h.j2
@@ -1,13 +1,17 @@
#pragma once
-enum class Exception {
- {% for num, name in exceptions.items() %}
- {{ name }} = {{ num }},
- {% endfor %}
-};
+namespace interrupt {
+ {% for type, entries in interrupts.items() %}
+ enum class {{ type }} {
+ {% for num, name in entries.items() %}
+ {{ name }} = {{ num }},
+ {% endfor %}
+ };
+
+ template<{{ type }}>
+ void handler();
-enum class IRQ {
- {% for num, name in irqs.items() %}
- {{ name }} = {{ num }},
{% endfor %}
+
+ typedef void (*vector_t)();
};