# Interrupt Manager

## Detailed Description

This module contains routines to manage interrupts.

## Data Structures

struct | tag_IntrHandlerOptionParam

## Typedefs

typedef tag_IntrHandlerOptionParam | PspIntrHandlerOptionParam

## Enumerations

enum

PspInterrupts {
PSP_GPIO_INT = 4, PSP_ATA_INT = 5, PSP_UMD_INT = 6, PSP_MSCM0_INT = 7,
PSP_WLAN_INT = 8, PSP_AUDIO_INT = 10, PSP_I2C_INT = 12, PSP_SIRCS_INT = 14,
PSP_SYSTIMER0_INT = 15, PSP_SYSTIMER1_INT = 16, PSP_SYSTIMER2_INT = 17, PSP_SYSTIMER3_INT = 18,
PSP_THREAD0_INT = 19, PSP_NAND_INT = 20, PSP_DMACPLUS_INT = 21, PSP_DMA0_INT = 22,
PSP_DMA1_INT = 23, PSP_MEMLMD_INT = 24, PSP_GE_INT = 25, PSP_VBLANK_INT = 30,
PSP_MECODEC_INT = 31, PSP_HPREMOTE_INT = 36, PSP_MSCM1_INT = 60, PSP_MSCM2_INT = 61,
PSP_THREAD1_INT = 65, PSP_INTERRUPT_INT = 66
}

enum | PspSubInterrupts { PSP_GPIO_SUBINT = PSP_GPIO_INT, PSP_ATA_SUBINT = PSP_ATA_INT, PSP_UMD_SUBINT = PSP_UMD_INT, PSP_DMACPLUS_SUBINT = PSP_DMACPLUS_INT, PSP_GE_SUBINT = PSP_GE_INT, PSP_DISPLAY_SUBINT = PSP_VBLANK_INT }

## Functions

int | sceKernelRegisterSubIntrHandler (int intno, int no, void *handler, void *arg)
| Register a sub interrupt handler.
int | sceKernelReleaseSubIntrHandler (int intno, int no)
| Release a sub interrupt handler.
int | sceKernelEnableSubIntr (int intno, int no)
| Enable a sub interrupt.
int | sceKernelDisableSubIntr (int intno, int no)
| Disable a sub interrupt handler.
int | QueryIntrHandlerInfo (SceUID intr_code, SceUID sub_intr_code, PspIntrHandlerOptionParam *data)

## Variables

const char * | PspInterruptNames [67]

## Typedef Documentation

typedef struct tag_IntrHandlerOptionParam PspIntrHandlerOptionParam

## Enumeration Type Documentation

enum PspInterrupts

Enumerator:

  PSP_GPIO_INT |
  PSP_ATA_INT |
  PSP_UMD_INT |
  PSP_MSCM0_INT |
  PSP_WLAN_INT |
  PSP_AUDIO_INT |
  PSP_I2C_INT |
  PSP_SIRCS_INT |
  PSP_SYSTIMER0_INT |
  PSP_SYSTIMER1_INT |
  PSP_SYSTIMER2_INT |
  PSP_SYSTIMER3_INT |
  PSP_THREAD0_INT |
  PSP_NAND_INT |
  PSP_DMACPLUS_INT |
  PSP_DMA0_INT |
  PSP_DMA1_INT |
  PSP_MEMLMD_INT |
  PSP_GE_INT |
  PSP_VBLANK_INT |
  PSP_MECODEC_INT |
  PSP_HPREMOTE_INT |
  PSP_MSCM1_INT |
  PSP_MSCM2_INT |
  PSP_THREAD1_INT |
  PSP_INTERRUPT_INT |

enum PspSubInterrupts

Enumerator:

  PSP_GPIO_SUBINT |
  PSP_ATA_SUBINT |
  PSP_UMD_SUBINT |
  PSP_DMACPLUS_SUBINT |
  PSP_GE_SUBINT |
  PSP_DISPLAY_SUBINT |

## Function Documentation

int QueryIntrHandlerInfo | ( | SceUID | intr_code,
|  | SceUID | sub_intr_code,
|  | PspIntrHandlerOptionParam * | data
| ) |

int sceKernelDisableSubIntr | ( | int | intno,
|  | int | no
| ) |

Disable a sub interrupt handler.

Parameters:

  | intno | - The sub interrupt to disable.
  | no | - The sub interrupt handler number

Returns:
  < 0 on error.

int sceKernelEnableSubIntr | ( | int | intno,
|  | int | no
| ) |

Enable a sub interrupt.

Parameters:

  | intno | - The sub interrupt to enable.
  | no | - The sub interrupt handler number

Returns:
  < 0 on error.

int sceKernelRegisterSubIntrHandler | ( | int | intno,
|  | int | no,
|  | void * | handler,
|  | void * | arg
| ) |

Register a sub interrupt handler.

Parameters:

  | intno | - The interrupt number to register.
  | no | - The sub interrupt handler number (user controlled)
  | handler | - The interrupt handler
  | arg | - An argument passed to the interrupt handler

Returns:
  < 0 on error.

int sceKernelReleaseSubIntrHandler | ( | int | intno,
|  | int | no
| ) |

Release a sub interrupt handler.

Parameters:

  | intno | - The interrupt number to register.
  | no | - The sub interrupt handler number

Returns:
  < 0 on error.

## Variable Documentation

const char* PspInterruptNames[67]