mirror of https://github.com/red-prig/fpPS4.git
sceSysmoduleLoadModuleInternal
This commit is contained in:
parent
264ded3072
commit
d06ac398f7
|
@ -142,6 +142,38 @@ const
|
|||
SCE_SYSMODULE_CES_CS =$010c;
|
||||
SCE_SYSMODULE_PLAYER_INVITATION_DIALOG =$010d;
|
||||
|
||||
// Internal
|
||||
SCE_SYSMODULE_INTERNAL_AUDIOOUT =$80000001; //libSceAudioOut
|
||||
SCE_SYSMODULE_INTERNAL_AUDIOIN =$80000002; //libSceAudioIn
|
||||
SCE_SYSMODULE_INTERNAL_AV_CAPTURE =$80000003; //libSceAvcap
|
||||
SCE_SYSMODULE_INTERNAL_SYSCORE =$80000004; //libSceSysCore
|
||||
SCE_SYSMODULE_INTERNAL_CDLG_UTILITY_SERVER=$80000007; //libSceCdlgUtilServer
|
||||
SCE_SYSMODULE_INTERNAL_KEYBOARD =$80000008; //libSceKeyboard
|
||||
SCE_SYSMODULE_INTERNAL_NETCTL =$80000009; //libSceNetCtl
|
||||
SCE_SYSMODULE_INTERNAL_HTTP =$8000000A; //libSceHttp
|
||||
SCE_SYSMODULE_INTERNAL_SSL =$8000000B; //libSceSsl
|
||||
SCE_SYSMODULE_INTERNAL_NP_COMMON =$8000000C; //libSceNpCommon
|
||||
SCE_SYSMODULE_INTERNAL_NP_MANAGER =$8000000D; //libSceNpManager
|
||||
SCE_SYSMODULE_INTERNAL_NP_WEB_API =$8000000E; //libSceNpWebApi
|
||||
SCE_SYSMODULE_INTERNAL_SAVE_DATA =$8000000F; //libSceSaveData
|
||||
SCE_SYSMODULE_INTERNAL_SYSTEM_SERVICE =$80000010; //libSceSystemService
|
||||
SCE_SYSMODULE_INTERNAL_USER_SERVICE =$80000011; //libSceUserService
|
||||
SCE_SYSMODULE_INTERNAL_VISION_MANAGER =$80000012; //libSceVisionManager
|
||||
SCE_SYSMODULE_INTERNAL_AC3_ENC =$80000013; //libSceAc3Enc
|
||||
SCE_SYSMODULE_INTERNAL_APP_INST_UTIL =$80000014; //libSceAppInstUtil
|
||||
SCE_SYSMODULE_INTERNAL_VDECCORE =$80000015; //libSceVdecCore
|
||||
SCE_SYSMODULE_INTERNAL_VENCCORE =$80000016; //libSceVencCore
|
||||
SCE_SYSMODULE_INTERNAL_HID_CONTROL =$80000017; //libSceHidControl
|
||||
SCE_SYSMODULE_INTERNAL_COMMON_DIALOG =$80000018; //libSceCommonDialog
|
||||
SCE_SYSMODULE_INTERNAL_PERF =$80000019; //libScePerf
|
||||
SCE_SYSMODULE_INTERNAL_CAMERA =$8000001A; //libSceCamera
|
||||
SCE_SYSMODULE_INTERNAL_NET =$8000001C; //libSceNet
|
||||
SCE_SYSMODULE_INTERNAL_IPMI =$8000001D; //libSceIpmi
|
||||
SCE_SYSMODULE_INTERNAL_VIDEO_OUT =$80000022; //libSceVideoOut
|
||||
SCE_SYSMODULE_INTERNAL_BGFT =$8000002A; //libSceBgft
|
||||
SCE_SYSMODULE_INTERNAL_PRECOMPILED_SHADERS=$80000064; //libScePrecompiledShaders
|
||||
SCE_SYSMODULE_INTERNAL_PAD =$80000024; //libScePad
|
||||
|
||||
SCE_SYSMODULE_ERROR_INVALID_VALUE=-2141581312; // 0x805A1000
|
||||
SCE_SYSMODULE_ERROR_UNLOADED =-2141581311; // 0x805A1001
|
||||
SCE_SYSMODULE_ERROR_FATAL =-2141581057; // 0x805A10FF
|
||||
|
@ -284,8 +316,46 @@ begin
|
|||
SCE_SYSMODULE_CES_CS :Result:='SCE_SYSMODULE_CES_CS';
|
||||
SCE_SYSMODULE_PLAYER_INVITATION_DIALOG :Result:='SCE_SYSMODULE_PLAYER_INVITATION_DIALOG';
|
||||
else
|
||||
Result:=HexStr(id,4);
|
||||
Result:='0x'+HexStr(id,4);
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetSysmoduleInternalName(id:DWord):RawByteString;
|
||||
begin
|
||||
Case id of
|
||||
SCE_SYSMODULE_INTERNAL_AUDIOOUT :Result:='SCE_SYSMODULE_INTERNAL_AUDIOOUT';
|
||||
SCE_SYSMODULE_INTERNAL_AUDIOIN :Result:='SCE_SYSMODULE_INTERNAL_AUDIOIN';
|
||||
SCE_SYSMODULE_INTERNAL_AV_CAPTURE :Result:='SCE_SYSMODULE_INTERNAL_AV_CAPTURE';
|
||||
SCE_SYSMODULE_INTERNAL_SYSCORE :Result:='SCE_SYSMODULE_INTERNAL_SYSCORE';
|
||||
SCE_SYSMODULE_INTERNAL_CDLG_UTILITY_SERVER:Result:='SCE_SYSMODULE_INTERNAL_CDLG_UTILITY_SERVER';
|
||||
SCE_SYSMODULE_INTERNAL_KEYBOARD :Result:='SCE_SYSMODULE_INTERNAL_KEYBOARD';
|
||||
SCE_SYSMODULE_INTERNAL_NETCTL :Result:='SCE_SYSMODULE_INTERNAL_NETCTL';
|
||||
SCE_SYSMODULE_INTERNAL_HTTP :Result:='SCE_SYSMODULE_INTERNAL_HTTP';
|
||||
SCE_SYSMODULE_INTERNAL_SSL :Result:='SCE_SYSMODULE_INTERNAL_SSL';
|
||||
SCE_SYSMODULE_INTERNAL_NP_COMMON :Result:='SCE_SYSMODULE_INTERNAL_NP_COMMON';
|
||||
SCE_SYSMODULE_INTERNAL_NP_MANAGER :Result:='SCE_SYSMODULE_INTERNAL_NP_MANAGER';
|
||||
SCE_SYSMODULE_INTERNAL_NP_WEB_API :Result:='SCE_SYSMODULE_INTERNAL_NP_WEB_API';
|
||||
SCE_SYSMODULE_INTERNAL_SAVE_DATA :Result:='SCE_SYSMODULE_INTERNAL_SAVE_DATA';
|
||||
SCE_SYSMODULE_INTERNAL_SYSTEM_SERVICE :Result:='SCE_SYSMODULE_INTERNAL_SYSTEM_SERVICE';
|
||||
SCE_SYSMODULE_INTERNAL_USER_SERVICE :Result:='SCE_SYSMODULE_INTERNAL_USER_SERVICE';
|
||||
SCE_SYSMODULE_INTERNAL_VISION_MANAGER :Result:='SCE_SYSMODULE_INTERNAL_VISION_MANAGER';
|
||||
SCE_SYSMODULE_INTERNAL_AC3_ENC :Result:='SCE_SYSMODULE_INTERNAL_AC3_ENC';
|
||||
SCE_SYSMODULE_INTERNAL_APP_INST_UTIL :Result:='SCE_SYSMODULE_INTERNAL_APP_INST_UTIL';
|
||||
SCE_SYSMODULE_INTERNAL_VDECCORE :Result:='SCE_SYSMODULE_INTERNAL_VDECCORE';
|
||||
SCE_SYSMODULE_INTERNAL_VENCCORE :Result:='SCE_SYSMODULE_INTERNAL_VENCCORE';
|
||||
SCE_SYSMODULE_INTERNAL_HID_CONTROL :Result:='SCE_SYSMODULE_INTERNAL_HID_CONTROL';
|
||||
SCE_SYSMODULE_INTERNAL_COMMON_DIALOG :Result:='SCE_SYSMODULE_INTERNAL_COMMON_DIALOG';
|
||||
SCE_SYSMODULE_INTERNAL_PERF :Result:='SCE_SYSMODULE_INTERNAL_PERF';
|
||||
SCE_SYSMODULE_INTERNAL_CAMERA :Result:='SCE_SYSMODULE_INTERNAL_CAMERA';
|
||||
SCE_SYSMODULE_INTERNAL_NET :Result:='SCE_SYSMODULE_INTERNAL_NET';
|
||||
SCE_SYSMODULE_INTERNAL_IPMI :Result:='SCE_SYSMODULE_INTERNAL_IPMI';
|
||||
SCE_SYSMODULE_INTERNAL_VIDEO_OUT :Result:='SCE_SYSMODULE_INTERNAL_VIDEO_OUT';
|
||||
SCE_SYSMODULE_INTERNAL_BGFT :Result:='SCE_SYSMODULE_INTERNAL_BGFT';
|
||||
SCE_SYSMODULE_INTERNAL_PRECOMPILED_SHADERS:Result:='SCE_SYSMODULE_INTERNAL_PRECOMPILED_SHADERS';
|
||||
SCE_SYSMODULE_INTERNAL_PAD :Result:='SCE_SYSMODULE_INTERNAL_PAD';
|
||||
else
|
||||
Result:='0x'+HexStr(id,8);
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
|
|
|
@ -442,11 +442,14 @@ const
|
|||
type
|
||||
PSCE_APP_ENV=^TSCE_APP_ENV;
|
||||
TSCE_APP_ENV=packed record
|
||||
unk1:array[0..15] of Byte; //16
|
||||
ustr:array[0.. 9] of char; //10
|
||||
unk2:array[0..37] of Byte; //38
|
||||
flags:Byte; //1 eLoadOptions
|
||||
unk3:array[0.. 6] of Byte; //7
|
||||
AppId:Integer; //4
|
||||
unk1:Integer; //4
|
||||
unk2:Integer; //4
|
||||
AppType:Integer; //4
|
||||
TitleId:array[0.. 9] of char; //10
|
||||
unk3:array[0..37] of Byte; //38
|
||||
flags:Byte; //1 eLoadOptions
|
||||
unk4:array[0.. 6] of Byte; //7
|
||||
end;
|
||||
|
||||
//sysctl to KERN_PROC_ENV
|
||||
|
@ -460,6 +463,7 @@ begin
|
|||
end;
|
||||
|
||||
env^:=Default(TSCE_APP_ENV);
|
||||
env^.AppId:=pid;
|
||||
|
||||
_set_errno(0);
|
||||
Result:=0;
|
||||
|
@ -880,10 +884,19 @@ function ps4_sceSysmoduleIsLoadedInternal(id:DWord):Integer; SysV_ABI_CDecl;
|
|||
begin
|
||||
if ((id or $80000000)=$80000000) then Exit(SCE_SYSMODULE_ERROR_INVALID_VALUE);
|
||||
|
||||
Writeln('sceSysmoduleIsLoadedInternal:',GetSysmoduleName(id));
|
||||
Writeln('sceSysmoduleIsLoadedInternal:',GetSysmoduleInternalName(id));
|
||||
Result:=0; //0 -> loaded ; SCE_SYSMODULE_ERROR_UNLOADED -> not loaded
|
||||
end;
|
||||
|
||||
function ps4_sceSysmoduleLoadModuleInternal(id:DWord):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
if ((id or $80000000)=$80000000) then Exit(SCE_SYSMODULE_ERROR_INVALID_VALUE);
|
||||
if ((Word(id)=$80) and (SDK_VERSION>=$3000000)) then Exit(SCE_SYSMODULE_ERROR_INVALID_VALUE);
|
||||
|
||||
Writeln('sceSysmoduleLoadModuleInternal:',GetSysmoduleInternalName(id));
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceSysmoduleLoadModuleInternalWithArg(id:Word;
|
||||
argc:size_t;
|
||||
argp:PPointer;
|
||||
|
@ -893,7 +906,7 @@ begin
|
|||
if ((id or $80000000)=$80000000) or (flags<>0) then Exit(SCE_SYSMODULE_ERROR_INVALID_VALUE);
|
||||
if ((Word(id)=$80) and (SDK_VERSION>=$3000000)) then Exit(SCE_SYSMODULE_ERROR_INVALID_VALUE);
|
||||
|
||||
Writeln('sceSysmoduleLoadModuleInternalWithArg:',GetSysmoduleName(id));
|
||||
Writeln('sceSysmoduleLoadModuleInternalWithArg:',GetSysmoduleInternalName(id));
|
||||
if (pRes<>nil) then pRes^:=0;
|
||||
Result:=0;
|
||||
end;
|
||||
|
@ -915,6 +928,7 @@ begin
|
|||
lib^.set_proc($7CC3F934750E68C9,@ps4_sceSysmoduleIsLoaded);
|
||||
|
||||
lib^.set_proc($CA714A4396DF1A4B,@ps4_sceSysmoduleIsLoadedInternal);
|
||||
lib^.set_proc($DFD895E44D47A029,@ps4_sceSysmoduleLoadModuleInternal);
|
||||
lib^.set_proc($847AC6A06A0D7FEB,@ps4_sceSysmoduleLoadModuleInternalWithArg);
|
||||
|
||||
lib^.set_proc($E1F539CAF3A4546E,@ps4_sceSysmoduleGetModuleInfoForUnwind);
|
||||
|
|
Loading…
Reference in New Issue