uOFW
Reverse engineered PSP kernel 6.60.
Loading...
Searching...
No Matches
modulemgr_kernel.h
1/* Copyright (C) 2011 - 2015 The uOFW team
2 See the file COPYING for copying permission.
3*/
4
5#ifndef MODULEMGR_KERNEL_H
6#define MODULEMGR_KERNEL_H
7
8#include "common_header.h"
9#include "modulemgr_moduleInfo.h"
10#include "modulemgr_options.h"
11
12#define SCE_SECURE_INSTALL_ID_LEN (16)
13#define SCE_NPDRM_LICENSEE_KEY_LEN (16)
14
15typedef struct {
16 SceSize size; //0
17 s32 unk4; //4
18 SceOff fileOffset; //8
19 u8 keyData[SCE_NPDRM_LICENSEE_KEY_LEN]; //16 -- TODO: Confirm
20} SceNpDrm;
21
22/* load module */
23SceUID sceKernelLoadModuleForLoadExecForUser(s32 apiType, const char *file, s32 flag,
24 const SceKernelLMOption *pOption);
25SceUID sceKernelLoadModuleForLoadExecVSHDisc(const char *path, s32 flag,
26 const SceKernelLMOption *pOption);
27SceUID sceKernelLoadModuleForLoadExecVSHDiscUpdater(const char *path, s32 flag,
28 const SceKernelLMOption *pOption);
29SceUID sceKernelLoadModuleForLoadExecVSHDiscDebug(const char *path, s32 flag,
30 const SceKernelLMOption *pOption);
31SceUID sceKernelLoadModuleForLoadExecVSHDiscEmu(s32 apiType, const char *path, s32 flag,
32 const SceKernelLMOption *pOption);
33SceUID ModuleMgrForKernel_C2A5E6CA(s32 apiType, const char *path, s32 flag,
34 const SceKernelLMOption *pOption);
35SceUID sceKernelLoadModuleForLoadExecVSHMs1(s32 apiType, const char *path, s32 flag,
36 const SceKernelLMOption *pOption);
37SceUID sceKernelLoadModuleForLoadExecVSHMs2(s32 apiType, const char *path, s32 flag,
38 const SceKernelLMOption *pOption);
39SceUID sceKernelLoadModuleForLoadExecVSHMs3(s32 apiType, const char *path, s32 flag,
40 const SceKernelLMOption *pOption);
41SceUID sceKernelLoadModuleForLoadExecVSHMs4(s32 apiType, const char *path, s32 flag,
42 const SceKernelLMOption *pOption);
43SceUID sceKernelLoadModuleForLoadExecVSHMs5(s32 apiType, const char *path, s32 flag,
44 const SceKernelLMOption *pOption);
45SceUID sceKernelLoadModuleForLoadExecVSHMs6(s32 apiType, const char *path, s32 flag,
46 const SceKernelLMOption *pOption);
47SceUID ModuleMgrForKernel_8DD336D4(s32 apiType, const char *path, s32 flag,
48 const SceKernelLMOption *pOption);
49SceUID sceKernelLoadModuleForLoadExecNpDrm(s32 apiType, const char *path, SceOff fileOffset,
50 const char *secureInstallId, s32 flag, const SceKernelLMOption *pOption);
51SceUID sceKernelLoadModuleVSH(const char *path, s32 flag, const SceKernelLMOption *pOption);
52SceUID sceKernelLoadModuleVSHByID(SceUID inputId, s32 flag, const SceKernelLMOption *pOption);
53SceUID sceKernelLoadModuleForKernel(const char *path, s32 flag, const SceKernelLMOption *pOption);
54SceUID sceKernelLoadModuleByIDForKernel(SceUID inputId, s32 flag, const SceKernelLMOption *pOption);
55SceUID sceKernelLoadModuleToBlock(const char *path, SceUID blockId, SceUID *pNewBlockId,
56 s32 flag, const SceKernelLMOption *pOption);
57SceUID sceKernelLoadModuleBootInitConfig(const char *path, s32 flag,
58 const SceKernelLMOption *pOption);
59SceUID sceKernelLoadModuleDeci(const char *path, s32 flag, const SceKernelLMOption *pOption);
60
61/* load module buffer */
62SceUID sceKernelLoadModuleBufferMs(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
63SceUID sceKernelLoadModuleBufferApp(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
64SceUID sceKernelLoadModuleBufferVSH(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
65SceUID sceKernelLoadModuleBufferForKernel(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
66SceUID sceKernelLoadModuleBufferBootInitBtcnf(SceSize size, void *base, s32 flag,
67 const SceKernelLMOption *pOption, s32 opt);
68s32 sceKernelLoadModuleBufferBootInitConfig(void);
69
70SceUID sceKernelLoadModuleBufferForExitGame(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
71SceUID sceKernelLoadModuleBufferForExitVSHKernel(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
72SceUID sceKernelLoadModuleBufferForRebootKernel(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
73SceUID sceKernelLoadModuleBufferForExitVSHVSH(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
74
75SceUID sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan(s32 apiType, void *base, s32 flag,
76 const SceKernelLMOption *pOption);
77SceUID sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug(s32 apiType, void *base, s32 flag,
78 const SceKernelLMOption *pOption);
79
80s32 sceKernelLoadModuleBootInitBtcnf(void *base, s32 flag, const SceKernelLMOption *pOption);
81
82/* start module */
83s32 sceKernelStartModule(SceUID modId, SceSize args, const void *argp, s32 *pModResult,
84 const SceKernelSMOption *pOption);
85
86/* stop module */
87s32 sceKernelStopModule(SceUID modId, SceSize args, const void *argp, s32 *pModResult,
88 const SceKernelSMOption *pOption);
89
90/* unload module */
91SceUID sceKernelUnloadModule(SceUID modId);
92
93s32 sceKernelStopUnloadSelfModuleWithStatus(s32 exitStatus, SceSize args, void *argp,
94 s32 *pModResult, const SceKernelSMOption *pOption);
95s32 sceKernelStopUnloadSelfModule(SceSize args, void *argp, s32 *pModResult,
96 const SceKernelSMOption *pOption);
97
98s32 sceKernelSelfStopUnloadModule(s32 exitStatus, SceSize args, void *argp); /* backward compatibility. */
99
100/* obtain module information */
101s32 sceKernelQueryModuleInfo(SceUID modId, SceKernelModuleInfo *pModInfo);
102SceUID sceKernelGetModuleId(void);
103SceUID sceKernelGetModuleIdByAddress(const void *addr);
104SceUID sceKernelSearchModuleByName(const char *name);
105SceUID sceKernelSearchModuleByAddress(const void *addr);
106
107s32 sceKernelGetModuleIdList(SceUID *pModIdList, SceSize size, u32 *pIdCount);
108
109/* PSP reboot phase functions */
110s32 sceKernelRebootBeforeForUser(void *arg);
111s32 sceKernelRebootPhaseForKernel(s32 arg1, void *argp, s32 arg3, s32 arg4);
112s32 sceKernelRebootBeforeForKernel(void *argp, s32 arg2, s32 arg3, s32 arg4);
113
114/* NP-DRM key functions */
115s32 sceKernelSetNpDrmGetModuleKeyFunction(s32(*function)(SceUID fd, void *, void *));
116s32 sceKernelNpDrmGetModuleKey(SceUID fd, void *arg2, void *arg3);
117
118/* Misc */
119s32 sceKernelModuleMgrMode(s32 mode);
120
121#endif /* MODULEMGR_KERNEL_H */
122
Definition modulemgr_options.h:20
Definition modulemgr_moduleInfo.h:12
Definition modulemgr_options.h:38