Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

pspintmanager.h

Go to the documentation of this file.
00001 /*
00002  * PSP Software Development Kit - http://www.pspdev.org
00003  * -----------------------------------------------------------------------
00004  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
00005  *
00006  * pspintmanager.h - Interface to the system interupt manager.
00007  *
00008  * Copyright (c) 2005 James F. (tyranid@gmail.com)
00009  * Copyright (c) 2005 Florin Sasu (...)
00010  *
00011  * $Id: pspintmanager.h 1087 2005-09-27 06:07:47Z jim $
00012  */
00013 
00014 #ifndef PSPINTMANAGER_H
00015 #define PSPINTMANAGER_H
00016 
00017 #include <pspkerneltypes.h>
00018 
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 extern const char* PspInterruptNames[67];
00031 
00032 enum PspInterrupts
00033 {
00034         PSP_GPIO_INT = 4,
00035         PSP_ATA_INT  = 5,
00036         PSP_UMD_INT  = 6,
00037         PSP_MSCM0_INT = 7,
00038         PSP_WLAN_INT  = 8,
00039         PSP_AUDIO_INT = 10,
00040         PSP_I2C_INT   = 12,
00041         PSP_SIRCS_INT = 14,
00042         PSP_SYSTIMER0_INT = 15,
00043         PSP_SYSTIMER1_INT = 16,
00044         PSP_SYSTIMER2_INT = 17,
00045         PSP_SYSTIMER3_INT = 18,
00046         PSP_THREAD0_INT   = 19,
00047         PSP_NAND_INT      = 20,
00048         PSP_DMACPLUS_INT  = 21,
00049         PSP_DMA0_INT      = 22,
00050         PSP_DMA1_INT      = 23,
00051         PSP_MEMLMD_INT    = 24,
00052         PSP_GE_INT        = 25,
00053         PSP_VBLANK_INT = 30,
00054         PSP_MECODEC_INT  = 31,
00055         PSP_HPREMOTE_INT = 36,
00056         PSP_MSCM1_INT    = 60,
00057         PSP_MSCM2_INT    = 61,
00058         PSP_THREAD1_INT  = 65,
00059         PSP_INTERRUPT_INT = 66
00060 };
00061 
00062 enum PspSubInterrupts
00063 {
00064         PSP_GPIO_SUBINT = PSP_GPIO_INT,
00065         PSP_ATA_SUBINT  = PSP_ATA_INT,
00066         PSP_UMD_SUBINT  = PSP_UMD_INT,
00067         PSP_DMACPLUS_SUBINT = PSP_DMACPLUS_INT,
00068         PSP_GE_SUBINT = PSP_GE_INT,
00069         PSP_DISPLAY_SUBINT = PSP_VBLANK_INT
00070 };
00071 
00082 int sceKernelRegisterSubIntrHandler(int intno, int no, void *handler, void *arg);
00083 
00092 int sceKernelReleaseSubIntrHandler(int intno, int no);
00093 
00102 int sceKernelEnableSubIntr(int intno, int no);
00103 
00112 int sceKernelDisableSubIntr(int intno, int no);
00113 
00114 typedef struct tag_IntrHandlerOptionParam{
00115         int size;                               //+00
00116         u32     entry;                          //+04
00117         u32     common;                         //+08
00118         u32     gp;                                     //+0C
00119         u16     intr_code;                      //+10
00120         u16     sub_count;                      //+12
00121         u16     intr_level;                     //+14
00122         u16     enabled;                        //+16
00123         u32     calls;                          //+18
00124         u32     field_1C;                       //+1C
00125         u32     total_clock_lo;         //+20
00126         u32     total_clock_hi;         //+24
00127         u32     min_clock_lo;           //+28
00128         u32     min_clock_hi;           //+2C
00129         u32     max_clock_lo;           //+30
00130         u32     max_clock_hi;           //+34
00131 } PspIntrHandlerOptionParam;    //=38
00132 
00133 int QueryIntrHandlerInfo(SceUID intr_code, SceUID sub_intr_code, PspIntrHandlerOptionParam *data);
00134 
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138 
00141 #endif /* PSPINTMANAGER_H */

Generated on Wed Sep 28 07:52:09 2005 for pspsdk-1.0+beta by  doxygen 1.4.4