# OS_RestoreInterrupts_IrqAndFiq

## C Specification

  `#include <nitro/os.h>`
  `OSIntrMode OS_RestoreInterrupts_IrqAndFiq( OSIntrMode state );`

## Description

This function sets up the interrupt status. The interrupt status provided by the argument is set. The status is provided by the logical sum of the IRQ status expressed in `OSIntrMode_Irq` enumerated, and the FIQ status expressed in `OSIntrMode_Fiq` enumerated. Mainly the return values are from `OS_EnableInterrupts_IrqAndFiq()` and `OS_DisableInterrupts_IrqAndFiq()`. They are most likely useful for returning to the previous status.

## Arguments

`state` | Interrupt status set up (OSIntrMode itself is a u32 typedef)

## Return Values

Status prior to calling this function. This is the logical sum of `OSIntrMode_Irq` enumerated and `OSIntrMode_Fiq` enumerated.

`OSIntrMode_Irq`

`OS_INTRMODE_IRQ_DISABLE` | IRQ Disable (prohibited)
`OS_INTRMODE_IRQ_ENABLE` | IRQ Enable (permitted)

`OSIntrMode_Fiq`

`OS_INTRMODE_FIQ_DISABLE` | FIQ Disable (prohibited)
`OS_INTRMODE_FIQ_ENABLE` | FIQ Enable (permitted)

## Internal Operation

The CPSR register (current program status register) IRQ and FIQ interrupt control bits are set/reset.

## See Also

`OS_EnableInterrupts_IrqAndFiq, OS_DisableInterrupts_IrqAndFiq, OS_RestoreInterrupts
`

## Revision History

03/04/2004 Transition from `OS_RestoreInterrupts`.