irq_arch_common.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 Gunar Schorcht
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
23 #include "irq.h"
24 #include "sched.h"
25 #include "thread.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
36 extern volatile uint32_t irq_interrupt_nesting;
37 
46 #define irq_isr_enter()
47 #define irq_isr_exit()
57 #define critical_enter() int _irq_state = irq_disable()
58 #define critical_exit() irq_restore(_irq_state)
65 #define critical_enter_var(m) m = irq_disable()
66 #define critical_exit_var(m) irq_restore(m)
69 #ifdef __cplusplus
70 }
71 #endif
IRQ driver interface.
volatile uint32_t irq_interrupt_nesting
Indicates the interrupt nesting depth.
Scheduler API definition.