1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/core/include/irq.h
2014-02-24 18:42:13 +01:00

62 lines
1.4 KiB
C

/*
* Copyright (C) 2013 Freie Universität Berlin
*
* This file subject to the terms and conditions of the GNU Lesser General
* Public License. See the file LICENSE in the top level directory for more
* details.
*/
/**
* @defgroup core_irq IRQ Handling
* @ingroup core
* @brief Provides an API to control interrupt processing
* @{
*
* @file irq.h
* @brief IRQ driver interface
*
* @author Freie Universität Berlin, Computer Systems & Telematics
*/
#ifndef IRQ_H_
#define IRQ_H_
#include <stdbool.h>
/**
* @brief This function sets the IRQ disable bit in the status register
*
* @note This function should be used in favour of dINT().
*
* @return previous value of status register
*/
unsigned disableIRQ(void);
/**
* @brief This function clears the IRQ disable bit in the status register
* @return previous value of status register
*
* @see restoreIRQ
*/
unsigned enableIRQ(void);
/**
* @brief This function restores the IRQ disable bit in the status register
* to the value contained within passed state
* @param state state to restore
*
* @note This function should be used in favour of eINT().
*
* @see disableIRQ
*/
void restoreIRQ(unsigned state);
/**
* @brief Check whether called from interrupt service routine
* @return true, if in interrupt service routine, false if not
*/
int inISR(void);
/** @} */
#endif /* IRQ_H_ */