vitasdk
Documentation of the vitasdk
proc_event.h
Go to the documentation of this file.
1 
6 #ifndef _PSP2KERN_KERNEL_PROC_EVENT_H_
7 #define _PSP2KERN_KERNEL_PROC_EVENT_H_
8 
9 #include <vitasdk/build_utils.h>
10 #include <psp2kern/types.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 typedef struct SceProcEventInvokeParam1 {
17  SceSize size; // SceProcEventInvokeParam1 struct size : 0x10
18  int unk_0x04;
19  int unk_0x08;
20  int unk_0x0C;
23 
24 typedef struct SceProcEventInvokeParam2 {
25  SceSize size; // SceProcEventInvokeParam2 struct size : 0x14
27  int unk_0x08;
28  int unk_0x0C;
29  int unk_0x10;
32 
33 typedef struct SceProcEventHandler {
34  SceSize size; // SceProcEventHandler struct size : 0x1C
35  int (* create)(SceUID pid, SceProcEventInvokeParam2 *a2, int a3);
36  int (* exit)(SceUID pid, SceProcEventInvokeParam1 *a2, int a3); // current process exit
37  int (* kill)(SceUID pid, SceProcEventInvokeParam1 *a2, int a3); // by SceShell
38  int (* stop)(SceUID pid, int event_type, SceProcEventInvokeParam1 *a3, int a4);
39  int (* start)(SceUID pid, int event_type, SceProcEventInvokeParam1 *a3, int a4);
40  int (* switch_process)(int event_id, int event_type, SceProcEventInvokeParam2 *a3, int a4); // switch display frame?
43 
53 SceUID ksceKernelRegisterProcEventHandler(const char *name, const SceProcEventHandler *handler, int a3);
54 
63 
76 int ksceKernelInvokeProcEventHandler(SceUID pid, int event_id, int event_type, void *param, void *a5, int a6);
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
82 #endif /* _PSP2KERN_KERNEL_PROC_EVENT_H_ */
SceUID pid
Definition: debug.h:1
int ksceKernelInvokeProcEventHandler(SceUID pid, int event_id, int event_type, void *param, void *a5, int a6)
Invoke process event handler.
SceSize size
Definition: proc_event.h:34
int(* create)(SceUID pid, SceProcEventInvokeParam2 *a2, int a3)
Definition: proc_event.h:35
int unk_0x10
Definition: proc_event.h:29
int(* kill)(SceUID pid, SceProcEventInvokeParam1 *a2, int a3)
Definition: proc_event.h:37
SceUID pid
Definition: proc_event.h:26
int(* stop)(SceUID pid, int event_type, SceProcEventInvokeParam1 *a3, int a4)
Definition: proc_event.h:38
int(* switch_process)(int event_id, int event_type, SceProcEventInvokeParam2 *a3, int a4)
Definition: proc_event.h:40
int unk_0x04
Definition: proc_event.h:18
SceSize size
Definition: proc_event.h:25
SceSize size
Definition: proc_event.h:17
int ksceKernelUnregisterProcEventHandler(SceUID uid)
Unregister process event handler.
int unk_0x08
Definition: proc_event.h:27
int unk_0x0C
Definition: proc_event.h:20
int(* start)(SceUID pid, int event_type, SceProcEventInvokeParam1 *a3, int a4)
Definition: proc_event.h:39
int unk_0x08
Definition: proc_event.h:19
int unk_0x0C
Definition: proc_event.h:28
VITASDK_BUILD_ASSERT_EQ(0x10, SceProcEventInvokeParam1)
int(* exit)(SceUID pid, SceProcEventInvokeParam1 *a2, int a3)
Definition: proc_event.h:36
SceUID ksceKernelRegisterProcEventHandler(const char *name, const SceProcEventHandler *handler, int a3)
Register process event handler.
Definition: proc_event.h:33
Definition: proc_event.h:16
Definition: proc_event.h:24
unsigned int SceSize
Definition: types.h:56
int SceUID
UIDs are used to describe many different kernel objects.
Definition: types.h:90