# OS_RestoreInterrupts_IrqAndFiq

## C Specification

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

## Arguments

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

## Return Values

The state before the function is called. This is the logical sum of `OSIntrMode_Irq` enum value and `OSIntrMode_Fiq` enum value.

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

Returns the `OSIntrMode_Fiq` enum value:

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

## Description

This function sets the interrupt state. It takes the interrupt state given by the argument. 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.

## 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/08/2005 Standardized the Japanese word for "interrupt."
03/04/2004 Transition from OS_RestoreInterrupts.