From daa2ecbbad4f178f4695fa6c8f2629d2d8cb027c Mon Sep 17 00:00:00 2001 From: Ordinary205 <125112932+Ordinary205@users.noreply.github.com> Date: Mon, 5 Feb 2024 21:29:44 +0400 Subject: [PATCH] SceGnmFindResourcesPublic + SceGnmRegisterOwnerForSystem (#187) * sceGnmFindResourcesPublic + sceGnmRegisterOwnerForSystem * + * + * + * + --------- Co-authored-by: red-prig --- src/ps4_libscegnmdriver.pas | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/ps4_libscegnmdriver.pas b/src/ps4_libscegnmdriver.pas index 8697f44..29b0cc8 100644 --- a/src/ps4_libscegnmdriver.pas +++ b/src/ps4_libscegnmdriver.pas @@ -1978,17 +1978,39 @@ end; const SCE_GNM_ERROR_FAILURE=-1897004801; // $8eee00ff; +type + FoundResourceCallback=function( + resourceHandle:DWORD; + ownerHandle:DWORD; + callbackData:QWORD + ):Integer; SysV_ABI_CDecl; + function ps4_sceGnmGetResourceRegistrationBuffers({params?}):Int64; SysV_ABI_CDecl; begin Result:=SCE_GNM_ERROR_FAILURE; end; +function ps4_sceGnmFindResourcesPublic(const pTestArea:Pointer; + testSizeInBytes:QWORD; + foundResourceCallback:FoundResourceCallback; + callbackData:QWORD):Integer; SysV_ABI_CDecl; +begin + Writeln('sceGnmFindResourcesPublic:',callbackData); + Result:=SCE_GNM_ERROR_FAILURE; +end; + function ps4_sceGnmRegisterOwner(pOwnerHandle:PInteger;ownerName:Pchar):Integer; SysV_ABI_CDecl; begin Writeln('sceGnmRegisterOwner:',ownerName); Result:=SCE_GNM_ERROR_FAILURE; end; +function ps4_sceGnmRegisterOwnerForSystem(pOwnerHandle:PInteger;ownerName:Pchar):Integer; SysV_ABI_CDecl; +begin + Writeln('sceGnmRegisterOwnerForSystem:',ownerName); + Result:=SCE_GNM_ERROR_FAILURE; +end; + function ps4_sceGnmRegisterResource(pResourceHandle:PInteger; //ResourceHandle ownerHandle:Integer; //OwnerHandle pMemory:Pointer; @@ -2243,7 +2265,9 @@ begin lib^.set_proc($6F4F0082D3E51CF8,@ps4_sceGnmAreSubmitsAllowed); lib^.set_proc($78B41B36C29E4E45,@ps4_sceGnmGetResourceRegistrationBuffers); + lib^.set_proc($E0CBFD397CA9046F,@ps4_sceGnmFindResourcesPublic); lib^.set_proc($645A8A165DB768C7,@ps4_sceGnmRegisterOwner); + lib^.set_proc($8FA99242CDD481A6,@ps4_sceGnmRegisterOwnerForSystem); lib^.set_proc($9EF1307D8008993B,@ps4_sceGnmRegisterResource); lib^.set_proc($93C11792120FFA53,@ps4_sceGnmUnregisterResource); lib^.set_proc($7E12B0095563F679,@ps4_sceGnmUnregisterOwnerAndResources);