00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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;
00116 u32 entry;
00117 u32 common;
00118 u32 gp;
00119 u16 intr_code;
00120 u16 sub_count;
00121 u16 intr_level;
00122 u16 enabled;
00123 u32 calls;
00124 u32 field_1C;
00125 u32 total_clock_lo;
00126 u32 total_clock_hi;
00127 u32 min_clock_lo;
00128 u32 min_clock_hi;
00129 u32 max_clock_lo;
00130 u32 max_clock_hi;
00131 } PspIntrHandlerOptionParam;
00132
00133 int QueryIntrHandlerInfo(SceUID intr_code, SceUID sub_intr_code, PspIntrHandlerOptionParam *data);
00134
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138
00141 #endif