mirror of
https://github.com/joel16/uofw.git
synced 2024-11-26 21:10:38 +00:00
init: Updated header files.
This commit is contained in:
parent
68aae80ad1
commit
c3e09159e7
@ -35,6 +35,8 @@
|
||||
#define SCE_USERSPACE_ADDR_K1 0xA8800000 /* K1 segment (uncached) */
|
||||
#define SCE_USERSPACE_SIZE 0x01800000 /* 24 MB */
|
||||
|
||||
#define SCE_USERSPACE_GAME_ADDR_K0 0x88900000 /* K0 segment (chached) */
|
||||
|
||||
#define UCACHED(ptr) (void *)((u32)(void *)(ptr) & 0x1FFFFFFF) /* KU0 - cached. */
|
||||
#define KCACHED(ptr) (void *)(K0_BASE | ((u32)(void *)(ptr) & 0x1FFFFFFF)) /* K0 - cached */
|
||||
#define KUNCACHED(ptr) (void *)(K1_BASE | ((u32)(void *)(ptr) & 0x1FFFFFFF)) /* K1 - uncached */
|
||||
|
@ -7,35 +7,8 @@
|
||||
|
||||
#include "common_imp.h"
|
||||
|
||||
#include "loadcore.h"
|
||||
#include "loadexec_kernel.h"
|
||||
|
||||
/** The internal name of the INIT module. */
|
||||
#define INIT_MODULE_NAME "sceInit"
|
||||
|
||||
typedef struct {
|
||||
s32 apiType; //0
|
||||
void *fileModAddr; //4
|
||||
u32 discModAddr; //8
|
||||
SceKernelLoadExecVSHParam vshParam; //12
|
||||
s32 unk60;
|
||||
s32 unk64;
|
||||
s32 unk68;
|
||||
s32 unk72;
|
||||
s32 unk76;
|
||||
s32 unk80;
|
||||
s32 unk84;
|
||||
s32 unk88;
|
||||
u32 applicationType; //92
|
||||
s32 numPowerLocks;
|
||||
void *paramSfoBase; //100
|
||||
SceSize paramSfoSize; //104
|
||||
s32 lptSummary;
|
||||
SceBootCallback *bootCallbacks1;
|
||||
void *unk116;
|
||||
SceBootCallback *bootCallbacks2; //120
|
||||
void *unk124;
|
||||
} SceInit;
|
||||
|
||||
#endif /* INIT_H */
|
||||
|
||||
|
@ -58,6 +58,9 @@
|
||||
/** Indicates the type of the protected information block is a disc image. */
|
||||
#define SCE_PROTECT_INFO_TYPE_DISC_IMAGE (0x40)
|
||||
|
||||
/** Indicates protected information block belongs to a NPDRM package. */
|
||||
#define SCE_PROTECT_INFO_TYPE_NPDRM_DATA (0x80)
|
||||
|
||||
/** Indicates the type of the protected information block is a user param. */
|
||||
#define SCE_PROTECT_INFO_TYPE_USER_PARAM (0x100)
|
||||
|
||||
@ -474,7 +477,10 @@ typedef struct {
|
||||
s32 unk12; //12
|
||||
/** Attributes. */
|
||||
u32 attr; //16
|
||||
/** Unknown. */
|
||||
/**
|
||||
* Contains the API type of the module prior to the allocation of memory for the module.
|
||||
* Once memory is allocated, ::bootData contains the ID of that memory partition.
|
||||
*/
|
||||
s32 bootData; //20
|
||||
/** The size of the arguments passed to the module's entry function? */
|
||||
u32 argSize; //24
|
||||
|
@ -4,11 +4,22 @@
|
||||
|
||||
#include "common_header.h"
|
||||
|
||||
#include "loadcore.h"
|
||||
#include "loadexec_kernel.h"
|
||||
|
||||
/**
|
||||
* Application types.
|
||||
*/
|
||||
enum SceApplicationType {
|
||||
SCE_INIT_APPLICATION_VSH = 0x100,
|
||||
/** The application is a VSH application (i.e. VSH modules). */
|
||||
SCE_INIT_APPLICATION_VSH = 0x100,
|
||||
/** The application is an updater. */
|
||||
SCE_INIT_APPLICATION_UPDATER = 0x110,
|
||||
/** The application is a PSP game. */
|
||||
SCE_INIT_APPLICATION_GAME = 0x200,
|
||||
/** The application is a Playstation One game. */
|
||||
SCE_INIT_APPLICATION_POPS = 0x300,
|
||||
/** The application is a PSP application (i.e. Skype). */
|
||||
SCE_INIT_APPLICATION_APP = 0x400,
|
||||
};
|
||||
|
||||
@ -22,8 +33,8 @@ enum SceInitApiType {
|
||||
SCE_INIT_APITYPE_EMU_EBOOT_EF = 0x114,
|
||||
SCE_INIT_APITYPE_EMU_BOOT_EF = 0x115,
|
||||
/* Kernel only */
|
||||
SCE_INIT_APITYPE_NPDRM_MS = 0x116,
|
||||
SCE_INIT_APITYPE_NPDRM_EF = 0x118,
|
||||
SCE_INIT_APITYPE_NPDRM_MS = 0x116, /* Distributed programs and data through the Playstation Store. */
|
||||
SCE_INIT_APITYPE_NPDRM_EF = 0x118, /* NP-DRM: PlayStation Network Platform Digital Rights Management */
|
||||
SCE_INIT_APITYPE_DISC = 0x120,
|
||||
SCE_INIT_APITYPE_DISC_UPDATER = 0x121,
|
||||
SCE_INIT_APITYPE_DISC_DEBUG = 0x122,
|
||||
@ -58,16 +69,76 @@ enum SceInitApiType {
|
||||
SCE_INIT_APITYPE_DEBUG = 0x420 /* doesn't start reboot */
|
||||
};
|
||||
|
||||
int sceKernelApplicationType(void);
|
||||
int sceKernelInitApitype(void);
|
||||
/**
|
||||
* This structure represents an Init control block. It holds information about the
|
||||
* currently booted module by Init.
|
||||
*/
|
||||
typedef struct {
|
||||
/** The API type of the currently loaded module. One of ::SceInitApiType. */
|
||||
s32 apiType; //0
|
||||
/** The address of a memory protection block of type ::SCE_PROTECT_INFO_TYPE_FILE_NAME. */
|
||||
void *fileModAddr; //4
|
||||
/** The address of a memory protection block of type ::SCE_PROTECT_INFO_TYPE_DISC_IMAGE. */
|
||||
void *discModAddr; //8
|
||||
/** VSH parameters. Used to reboot the kernel. */
|
||||
SceKernelLoadExecVSHParam vshParam; //12
|
||||
/** Unknown. */
|
||||
s32 unk60;
|
||||
/** Unknown. */
|
||||
s32 unk64;
|
||||
/** Unknown. */
|
||||
s32 unk68;
|
||||
/** Unknown. */
|
||||
s32 unk72;
|
||||
/** Unknown. */
|
||||
s32 unk76;
|
||||
/** Unknown. */
|
||||
s32 unk80;
|
||||
/** Unknown. */
|
||||
s32 unk84;
|
||||
/** Unknown. */
|
||||
s32 unk88;
|
||||
/** The application type of the currently loaded module. One of ::SceApplicationType. */
|
||||
u32 applicationType; //92
|
||||
/** The number of power locks used by init. */
|
||||
s32 numPowerLocks;
|
||||
/** The address of a memory protection block of type ::SCE_PROTECT_INFO_TYPE_PARAM_SFO. */
|
||||
void *paramSfoBase; //100
|
||||
/** The size of of the memory block pointed to by ::paramSfoBase. */
|
||||
SceSize paramSfoSize; //104
|
||||
/** Unknown. */
|
||||
s32 lptSummary;
|
||||
/** Pointer to boot callbacks of modules. */
|
||||
SceBootCallback *bootCallbacks1;
|
||||
/** Unknown. */
|
||||
void *unk116;
|
||||
/** Pointer to boot callbacks of modules. */
|
||||
SceBootCallback *bootCallbacks2; //120
|
||||
/** Unknown. */
|
||||
void *unk124;
|
||||
} SceInit;
|
||||
|
||||
int sceKernelRegisterChunk(int chunkId, int unk1);
|
||||
SceUID sceKernelGetChunk(int chunkId);
|
||||
/**
|
||||
* Get the application type of a module.
|
||||
*
|
||||
* @return The application type. One of ::SceApplicationType.
|
||||
*/
|
||||
s32 sceKernelApplicationType(void);
|
||||
|
||||
/**
|
||||
* Get the API type of a module.
|
||||
*
|
||||
* @return The API type. One of ::SceInitApiType.
|
||||
*/
|
||||
s32 sceKernelInitApitype(void);
|
||||
|
||||
s32 sceKernelRegisterChunk(SceUID chunkId, int unk1);
|
||||
SceUID sceKernelGetChunk(SceUID chunkId);
|
||||
|
||||
s32 sceKernelBootFrom(void);
|
||||
int sceKernelSetInitCallback(void *, int, int);
|
||||
|
||||
void *InitForKernel_040C934B(void);
|
||||
SceInit *sceKernelQueryInitCB(void); //InitForKernel_040C934B
|
||||
void *InitForKernel_D83A9BD7(void *);
|
||||
s32 InitForKernel_9D33A110(void);
|
||||
|
||||
|
@ -8,8 +8,15 @@
|
||||
#include "common_header.h"
|
||||
#include "modulemgr_options.h"
|
||||
|
||||
typedef struct {
|
||||
SceSize size; //0
|
||||
s32 unk4; //4
|
||||
SceOff fileOffset; //8
|
||||
u8 keyData[16]; //16 -- TODO: Confirm
|
||||
} SceNpDrm;
|
||||
|
||||
s32 sceKernelLoadModuleForLoadExecForUser(s32 apiType, const char *file, s32 flags, SceKernelLMOption *option);
|
||||
s32 sceKernelLoadModuleForLoadExecNpDrm(s32 apiType, const char *file, SceOff fileOffset, s32 buf[4], s32 flags, SceKernelLMOption *option);
|
||||
s32 sceKernelLoadModuleForLoadExecNpDrm(s32 apiType, const char *file, SceOff fileOffset, u8 keyData[16], s32 flags, SceKernelLMOption *option);
|
||||
s32 sceKernelLoadModuleForLoadExecVSHDisc(const char *file, s32 flags, SceKernelLMOption *option);
|
||||
s32 sceKernelLoadModuleForLoadExecVSHDiscUpdater(const char *file, s32 flags, SceKernelLMOption *option);
|
||||
s32 sceKernelLoadModuleForLoadExecVSHDiscDebug(const char *file, s32 flags, SceKernelLMOption *option);
|
||||
|
Loading…
Reference in New Issue
Block a user