# OS_GetIrqMask

## C Specification

  `#include <nitro/os.h>`
  `OSIrqMask OS_GetIrqMask( void );`

## Arguments

None.

## Return Values

The setting for the current IRQ interrupt cause.

## Description

Obtains the setting for the currently established IRQ interrupt cause

The returned value is the logical sum whose value corresponds to the interrupt cause from the table below.

OS_IE_V_BLANK | V-blank interrupt
OS_IE_H_BLANK | H-blank interrupt
OS_IE_V_COUNT | V counter interrupt
OS_IE_TIMER0 | Timer0 interrupt
OS_IE_TIMER1 | Timer1 interrupt
OS_IE_TIMER2 | Timer2 interrupt
OS_IE_TIMER3 | Timer3 interrupt
OS_IE_DMA0 | DMA0 interrupt
OS_IE_DMA1 | DMA1 interrupt
OS_IE_DMA2 | DMA2 interrupt
OS_IE_DMA3 | DMA3 interrupt
OS_IE_KEY | Key interrupt *1
OS_IE_CARTRIDGE | Game Pak IREQ/DREQ interrupt
OS_IE_SUBP | ARM7 interrupt
OS_IE_SPFIFO_SEND | ARM9-ARM7 send FIFO empty interrupt
OS_IE_SPFIFO_RECV | ARM9-ARM7 receive FIFO not-empty interrupt
OS_IE_CARD_DATA | Card data transfer end interrupt
OS_IE_CARD_IREQ | Card IREQ interrupt
OS_IE_GXFIFO | Geometry command FIFO interrupt

*1 The hardware specification does not allow the use of the key interrupt. However, it can be used for waking from sleep.

## Internal Operation

Reads IE (Interrupt Enable) of the IO register and returns that value.

## See Also

`OS_SetIrqMask, OS_EnableIrqMask, OS_DisableIrqMask`

## Revision History

03/08/2005 Unified the Japanese term for "interrupt."
12/08/2004 Added warning about `OS_IE_KEY`.
11/24/2004 Deleted `OS_IE_SIO`.
09/01/2004 Changed "subprocessor" to "ARM7" and "between subprocessors" to "between the ARM7 and ARM9."
2003/12/01 Initial version.

CONFIDENTIAL