00001 /* 00002 * PSP Software Development Kit - http://www.pspdev.org 00003 * ----------------------------------------------------------------------- 00004 * Licensed under the BSD license, see LICENSE in PSPSDK root for details. 00005 * 00006 * psploadexec_kernel.h - Interface to LoadExecForKernel. 00007 * 00008 * Copyright (c) 2007 - DA (Taken from the 303oe SDK) 00009 * 00010 * $Id$ 00011 */ 00012 00013 #ifndef PSPLOADEXEC_KERNEL_H 00014 #define PSPLOADEXEC_KERNEL_H 00015 00016 #include <pspkerneltypes.h> 00017 #include <psploadexec.h> 00018 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00028 00030 struct SceKernelLoadExecVSHParam { 00032 SceSize size; 00034 SceSize args; 00036 void * argp; 00038 const char * key; 00040 u32 vshmain_args_size; 00042 void *vshmain_args; 00044 char *configfile; 00046 u32 unk4; 00048 u32 unk5; 00049 }; 00050 00051 #if _PSP_FW_VERSION < 200 00052 00061 int sceKernelLoadExecBufferPlain(SceSize bufsize, void *buf, struct SceKernelLoadExecParam *param); 00062 #endif 00063 00074 int sceKernelExitVSHVSH(struct SceKernelLoadExecVSHParam *param); 00075 00076 #if _PSP_FW_VERSION >= 200 00077 00087 int sceKernelExitVSHKernel(struct SceKernelLoadExecVSHParam *param); 00088 #endif 00089 00099 int sceKernelLoadExecVSHDisc(const char *file, struct SceKernelLoadExecVSHParam *param); 00100 00110 int sceKernelLoadExecVSHDiscUpdater(const char *file, struct SceKernelLoadExecVSHParam *param); 00111 00121 int sceKernelLoadExecVSHMs1(const char *file, struct SceKernelLoadExecVSHParam *param); 00122 00132 int sceKernelLoadExecVSHMs2(const char *file, struct SceKernelLoadExecVSHParam *param); 00133 00143 int sceKernelLoadExecVSHMs3(const char *file, struct SceKernelLoadExecVSHParam *param); 00144 00145 #if _PSP_FW_VERSION >= 300 00146 /*** 00147 * Executes a new executable from a memory stick. 00148 * It is the function used by the firmware to execute psx games 00149 * 00150 * @param file - The file to execute. 00151 * @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL. 00152 * 00153 * @returns < 0 on some errors. 00154 * @note - Available since firmware 3.00 00155 */ 00156 int sceKernelLoadExecVSHMs4(const char *file, struct SceKernelLoadExecVSHParam *param); 00157 #endif 00158 00161 #ifdef __cplusplus 00162 } 00163 #endif 00164 00165 #endif