Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
irq.h File Reference

Public interface for configuring interrupts. More...

#include <arch/cpu.h>
#include <toolchain.h>
#include <zephyr/types.h>

Go to the source code of this file.

Macros

#define IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)    ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
 Initialize an interrupt handler. More...
 
#define IRQ_DIRECT_CONNECT(irq_p, priority_p, isr_p, flags_p)    ARCH_IRQ_DIRECT_CONNECT(irq_p, priority_p, isr_p, flags_p)
 Initialize a 'direct' interrupt handler. More...
 
#define ISR_DIRECT_HEADER()   ARCH_ISR_DIRECT_HEADER()
 Common tasks before executing the body of an ISR. More...
 
#define ISR_DIRECT_FOOTER(check_reschedule)    ARCH_ISR_DIRECT_FOOTER(check_reschedule)
 Common tasks before exiting the body of an ISR. More...
 
#define ISR_DIRECT_PM()   ARCH_ISR_DIRECT_PM()
 Perform power management idle exit logic. More...
 
#define ISR_DIRECT_DECLARE(name)   ARCH_ISR_DIRECT_DECLARE(name)
 Helper macro to declare a direct interrupt service routine. More...
 
#define irq_lock()   z_smp_global_lock()
 Lock interrupts. More...
 
#define irq_unlock(key)   z_smp_global_unlock(key)
 Unlock interrupts. More...
 
#define irq_enable(irq)   arch_irq_enable(irq)
 Enable an IRQ. More...
 
#define irq_disable(irq)   arch_irq_disable(irq)
 Disable an IRQ. More...
 
#define irq_is_enabled(irq)   arch_irq_is_enabled(irq)
 Get IRQ enable state. More...
 

Functions

static int irq_connect_dynamic (unsigned int irq, unsigned int priority, void(*routine)(const void *parameter), const void *parameter, uint32_t flags)
 
static unsigned int irq_get_level (unsigned int irq)
 

Detailed Description

Public interface for configuring interrupts.