PSPSDK 2026-01-22
Loading...
Searching...
No Matches
pspinit.h
Go to the documentation of this file.
1/*
2 * PSP Software Development Kit - https://github.com/pspdev
3 * -----------------------------------------------------------------------
4 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5 *
6 * pspinit.h - Interface to InitForKernel.
7 *
8 * Copyright (c) 2007 moonlight
9 *
10 */
11#ifndef __PSPINIT_H__
12#define __PSPINIT_H__
13
14#include <psploadexec_kernel.h>
15
34
40typedef enum PSPInitApitype {
41 PSP_INIT_APITYPE_KERNEL = 0, /* ModuleMgrForKernel */
44 PSP_INIT_APITYPE_USER = 0x10, /* ModuleMgrForUser */
55
69 PSP_INIT_APITYPE_NPDRM_MS = 0x116, /* Distributed programs and data through the Playstation Store. */
73 PSP_INIT_APITYPE_NPDRM_EF = 0x118, /* NP-DRM: PlayStation Network Platform Digital Rights Management */
135 PSP_INIT_APITYPE_DEBUG = 0x420, /* doesn't start reboot */
136
137 // Alias
157
174
184
233
234
241
248
256
263#define sceKernelInitKeyConfig sceKernelApplicationType
264
272
273#endif
274
struct SceInit SceInit
This structure represents an Init control block.
PSPBootFrom SceBootMediumType
Definition pspinit.h:33
int sceKernelApplicationType()
Get the key configuration in which the system has booted.
PSPInitApitype
API types of an executable.
Definition pspinit.h:40
@ PSP_INIT_APITYPE_UNK161
Unknown.
Definition pspinit.h:121
@ PSP_INIT_APITYPE_DEBUG
Debug.
Definition pspinit.h:135
@ PSP_INIT_APITYPE_MS6
Unknown.
Definition pspinit.h:105
@ PSP_INIT_APITYPE_VSH1
Exit Game.
Definition pspinit.h:129
@ PSP_INIT_APITYPE_EMU_BOOT_EF
Emulated BOOT EF.
Definition pspinit.h:67
@ PSP_INIT_APITYPE_EMU_BOOT_MS
Emulated BOOT Memory-Stick.
Definition pspinit.h:63
@ PSP_INIT_APITYPE_EF_GAME
Definition pspinit.h:151
@ PSP_INIT_APITYPE_BUFFER_DECI
Definition pspinit.h:54
@ PSP_INIT_APITYPE_KERNEL_REBOOT
Kernel reboot.
Definition pspinit.h:133
@ PSP_INIT_APITYPE_BUFFER_APP
Definition pspinit.h:51
@ PSP_INIT_APITYPE_MS_APP
Definition pspinit.h:148
@ PSP_INIT_APITYPE_EF_UPDATER
Definition pspinit.h:150
@ PSP_INIT_APITYPE_EF2
PSP executable on a PBP in the internal memory (ef0:).
Definition pspinit.h:109
@ PSP_INIT_APITYPE_UMD2
Game/APP with update/DLC on a disc.
Definition pspinit.h:119
@ PSP_INIT_APITYPE_EF4
Applications (i.e.
Definition pspinit.h:113
@ PSP_INIT_APITYPE_EMU_EBOOT_EF
Emulated EBOOT EF.
Definition pspinit.h:65
@ PSP_INIT_APITYPE_BUFFER_USBWLAN
Definition pspinit.h:49
@ PSP_INIT_APITYPE_MS_GAME
Definition pspinit.h:147
@ PSP_INIT_APITYPE_EF3
Unknown.
Definition pspinit.h:111
@ PSP_INIT_APITYPE_DISC2
Definition pspinit.h:139
@ PSP_INIT_APITYPE_UMD_EMU_EF1
NP-9660 game on internal memory (ef0:).
Definition pspinit.h:87
@ PSP_INIT_APITYPE_MS_UPDATER
Definition pspinit.h:146
@ PSP_INIT_APITYPE_UMD_EMU_EF2
NP-9660 game with update/DLC (PBOOT.PBP) on internal memory (ef0:).
Definition pspinit.h:89
@ PSP_INIT_APITYPE_BUFFER_VSH
Definition pspinit.h:48
@ PSP_INIT_APITYPE_VSH_KERNEL
Exit VSH Kernel.
Definition pspinit.h:127
@ PSP_INIT_APITYPE_DISC_EMU_MS1
Definition pspinit.h:142
@ PSP_INIT_APITYPE_DNAS
Definition pspinit.h:45
@ PSP_INIT_APITYPE_NPDRM
Definition pspinit.h:46
@ PSP_INIT_APITYPE_EF_APP
Definition pspinit.h:152
@ PSP_INIT_APITYPE_DISC_EMU_EF2
Definition pspinit.h:145
@ PSP_INIT_APITYPE_EF5
Playstation One executable on a PBP in the internal memory (ef0:).
Definition pspinit.h:115
@ PSP_INIT_APITYPE_EMU_EBOOT_MS
Emulated EBOOT Memory-Stick.
Definition pspinit.h:61
@ PSP_INIT_APITYPE_UMD
Executable on a disc.
Definition pspinit.h:77
@ PSP_INIT_APITYPE_MS5
Playstation One executable on a PBP in the Memory Stick.
Definition pspinit.h:103
@ PSP_INIT_APITYPE_BUFFER_BOOT_INIT_BTCNF
Definition pspinit.h:52
@ PSP_INIT_APITYPE_GAME_BOOT
GAME BOOT.
Definition pspinit.h:59
@ PSP_INIT_APITYPE_GAME_EBOOT
GAME EBOOT.
Definition pspinit.h:57
@ PSP_INIT_APITYPE_DISC_EMU_MS2
Definition pspinit.h:143
@ PSP_INIT_APITYPE_MS1
Updater executable on a PBP in the Memory Stick.
Definition pspinit.h:95
@ PSP_INIT_APITYPE_EF6
Unknown.
Definition pspinit.h:117
@ PSP_INIT_APITYPE_MS4
Applications (i.e.
Definition pspinit.h:101
@ PSP_INIT_APITYPE_EF1
Updater executable on a PBP in the internal memory (ef0:).
Definition pspinit.h:107
@ PSP_INIT_APITYPE_NPDRM_MS
NP-DRM Memory-Stick.
Definition pspinit.h:69
@ PSP_INIT_APITYPE_UMD_EMU_MS2
NP-9660 game with update/DLC (PBOOT.PBP) on Memory Stick.
Definition pspinit.h:85
@ PSP_INIT_APITYPE_NPDRM_EF
NP-DRM EF.
Definition pspinit.h:73
@ PSP_INIT_APITYPE_BUFFER_BOOT_INIT_CONFIG
Definition pspinit.h:53
@ PSP_INIT_APITYPE_BUFFER_MS
Definition pspinit.h:50
@ PSP_INIT_APITYPE_VSH
Definition pspinit.h:47
@ PSP_INIT_APITYPE_MS2
PSP executable on a PBP in the Memory Stick.
Definition pspinit.h:97
@ PSP_INIT_APITYPE_DISC_DEBUG
Definition pspinit.h:141
@ PSP_INIT_APITYPE_UMD_DEBUG
Disc debugger.
Definition pspinit.h:81
@ PSP_INIT_APITYPE_USER
Definition pspinit.h:44
@ PSP_INIT_APITYPE_MLNAPP_EF
MerlinDRM Applications on internal memory (ef0:).
Definition pspinit.h:125
@ PSP_INIT_APITYPE_KERNEL
Definition pspinit.h:41
@ PSP_INIT_APITYPE_MS3
Unknown.
Definition pspinit.h:99
@ PSP_INIT_APITYPE_UNK117
Unknown.
Definition pspinit.h:71
@ PSP_INIT_APITYPE_DISC_UPDATER
Definition pspinit.h:140
@ PSP_INIT_APITYPE_USBWLAN
Game-sharing executable.
Definition pspinit.h:91
@ PSP_INIT_APITYPE_BUFFER_KERNEL
Definition pspinit.h:42
@ PSP_INIT_APITYPE_KERNEL_BLOCK
Definition pspinit.h:43
@ PSP_INIT_APITYPE_UMD_UPDATER
Updater executable on a disc.
Definition pspinit.h:79
@ PSP_INIT_APITYPE_VSH2
Exit VSH.
Definition pspinit.h:131
@ PSP_INIT_APITYPE_VSH_EXITVSH
Definition pspinit.h:155
@ PSP_INIT_APITYPE_USBWLAN_DEBUG
Unknown.
Definition pspinit.h:93
@ PSP_INIT_APITYPE_VSH_EXITGAME
Definition pspinit.h:154
@ PSP_INIT_APITYPE_EF_PS1
Definition pspinit.h:153
@ PSP_INIT_APITYPE_MLNAPP_MS
MerlinDRM Applications on Memory Stick.
Definition pspinit.h:123
@ PSP_INIT_APITYPE_MS_PS1
Definition pspinit.h:149
@ PSP_INIT_APITYPE_DISC_EMU_EF1
Definition pspinit.h:144
@ PSP_INIT_APITYPE_UNK119
Unknown.
Definition pspinit.h:75
@ PSP_INIT_APITYPE_UMD_EMU_MS1
NP-9660 game on Memory Stick.
Definition pspinit.h:83
@ PSP_INIT_APITYPE_DISC
Definition pspinit.h:138
struct SceBootCallback SceBootCallback
This structure represents a boot callback belonging to a module.
PSPKeyConfig SceApplicationType
Definition pspinit.h:173
SceInit * sceKernelQueryInitCB(void)
Retrieve Init's internal control block.
int sceKernelInitApitype()
Gets the api type.
PSPKeyConfig
Application types of an executable.
Definition pspinit.h:161
@ PSP_INIT_KEYCONFIG_VSH
The application is a VSH application (i.e.
Definition pspinit.h:163
@ PSP_INIT_KEYCONFIG_APP
The application is a PSP application (i.e.
Definition pspinit.h:171
@ PSP_INIT_KEYCONFIG_UPDATER
The application is an updater.
Definition pspinit.h:165
@ PSP_INIT_KEYCONFIG_GAME
The application is a PSP game.
Definition pspinit.h:167
@ PSP_INIT_KEYCONFIG_POPS
The application is a Playstation One game.
Definition pspinit.h:169
PSPBootFrom
The possible boot medium types for an executable.
Definition pspinit.h:19
@ PSP_BOOT_EF
The executable was booted via an unknown medium.
Definition pspinit.h:29
@ PSP_BOOT_FLASH
The executable was booted via Flash 0 (1, 2).
Definition pspinit.h:21
@ PSP_BOOT_FLASH3
The executable was booted via Flash 3.
Definition pspinit.h:31
@ PSP_BOOT_MS
The executable was booted via the Memory Stick medium.
Definition pspinit.h:27
@ PSP_BOOT_USBWLAN
The executable was booted via a Game-sharing medium.
Definition pspinit.h:25
@ PSP_BOOT_DISC
The executable was booted via a Disc medium.
Definition pspinit.h:23
int sceKernelBootFrom()
Gets the device in which the application was launched.
char * sceKernelInitFileName()
Gets the filename of the executable to be launched after all modules of the api.
unsigned int SceSize
Definition psptypes.h:103
int32_t s32
Definition psptypes.h:47
uint32_t u32
Definition psptypes.h:41
This structure represents a boot callback belonging to a module.
Definition pspinit.h:178
void * boot_callback_func
The boot callback function.
Definition pspinit.h:180
u32 gp
Global pointer value of the module.
Definition pspinit.h:182
This structure represents an Init control block.
Definition pspinit.h:189
s32 lpt_summary
Unknown.
Definition pspinit.h:223
SceBootCallback * boot_callbacks1
Pointer to boot callbacks of modules.
Definition pspinit.h:225
struct SceKernelLoadExecVSHParam vsh_param
VSH parameters.
Definition pspinit.h:197
s32 unk60
Unknown.
Definition pspinit.h:199
SceBootCallback * boot_callbacks2
Pointer to boot callbacks of modules.
Definition pspinit.h:229
u32 application_type
The application type of the currently loaded module.
Definition pspinit.h:215
void * param_sfo_base
The address of a memory protection block of type ::SCE_PROTECT_INFO_TYPE_PARAM_SFO.
Definition pspinit.h:219
SceBootCallback * cur_boot_callback2
The current boot callback 2 slot used to hold the registered boot callback.
Definition pspinit.h:231
void * disc_mod_addr
The address of a memory protection block of type ::SCE_PROTECT_INFO_TYPE_DISC_IMAGE.
Definition pspinit.h:195
s32 unk84
Unknown.
Definition pspinit.h:211
s32 unk88
Unknown.
Definition pspinit.h:213
s32 num_power_locks
The number of power locks used by Init.
Definition pspinit.h:217
void * file_mod_addr
The address of a memory protection block of type ::SCE_PROTECT_INFO_TYPE_FILE_NAME.
Definition pspinit.h:193
s32 unk64
Unknown.
Definition pspinit.h:201
s32 unk68
Unknown.
Definition pspinit.h:203
s32 unk80
Unknown.
Definition pspinit.h:209
s32 unk72
Unknown.
Definition pspinit.h:205
s32 apitype
The API type of the currently loaded module.
Definition pspinit.h:191
s32 unk76
Unknown.
Definition pspinit.h:207
SceSize param_sfo_size
The size of of the memory block pointed to by ::paramSfoBase.
Definition pspinit.h:221
SceBootCallback * cur_boot_callback1
The current boot callback 1 slot used to hold the registered boot callback.
Definition pspinit.h:227
Structure for LoadExecVSH* functions.
Definition psploadexec_kernel.h:30