PSPSDK 2026-09-28
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
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
int sceKernelInitApitype(void)
Gets the api type.
int sceKernelApplicationType(void)
Get the key configuration in which the system has booted.
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.
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
char * sceKernelInitFileName(void)
Gets the filename of the executable to be launched after all modules of the api.
int sceKernelBootFrom(void)
Gets the device in which the application was launched.
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
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