From accf9ec255e6d102aef5c1a9cf04a8059cb769b9 Mon Sep 17 00:00:00 2001 From: Ordinary205 <125112932+Ordinary205@users.noreply.github.com> Date: Sat, 3 Feb 2024 19:30:51 +0400 Subject: [PATCH] SceNpSignalingCreateContextA + listen + shutdown + ScePadOutputReport (#184) * SceNpSignalingCreateContextA * SceKernelAddTimerEvent + SceKernelDeleteTimerEvent * listen * ScePadOutputReport * Remove SceKernelAddTimerEvent * shutdown * - * + --------- Co-authored-by: red-prig --- kernel/ps4_libkernel.pas | 2 ++ kernel/ps4_scesocket.pas | 13 +++++++++++++ src/np/ps4_libscenpsignaling.pas | 11 ++++++++++- src/ps4_libscepad.pas | 6 ++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/kernel/ps4_libkernel.pas b/kernel/ps4_libkernel.pas index b4b4e868..cd45e277 100644 --- a/kernel/ps4_libkernel.pas +++ b/kernel/ps4_libkernel.pas @@ -1981,6 +1981,8 @@ begin lib^.set_proc($7C5C469311766D5A,@ps4_setsockopt); lib^.set_proc($4FC7C447EB481A09,@ps4_select); lib^.set_proc($95493AC2B197C8CC,@ps4_recvfrom); + lib^.set_proc($A719C299A82BB5AA,@ps4_listen); + lib^.set_proc($4D4BA2612DA413CB,@ps4_shutdown); //socket diff --git a/kernel/ps4_scesocket.pas b/kernel/ps4_scesocket.pas index 5f0e7915..5ef6fa74 100644 --- a/kernel/ps4_scesocket.pas +++ b/kernel/ps4_scesocket.pas @@ -35,6 +35,9 @@ function ps4_recvfrom(s:SceNetId; addr:pSceNetSockaddr; paddrlen:pSceNetSocklen_t):Integer; SysV_ABI_CDecl; +function ps4_listen(s:SceNetId;backlog:Integer):Integer; SysV_ABI_CDecl; + +function ps4_shutdown(s:SceNetId;how:Integer):Integer; SysV_ABI_CDecl; implementation @@ -74,5 +77,15 @@ begin Result:=0; end; +function ps4_listen(s:SceNetId;backlog:Integer):Integer; SysV_ABI_CDecl; +begin + Result:=0; +end; + +function ps4_shutdown(s:SceNetId;how:Integer):Integer; SysV_ABI_CDecl; +begin + Result:=0; +end; + end. diff --git a/src/np/ps4_libscenpsignaling.pas b/src/np/ps4_libscenpsignaling.pas index 3eca77a9..2ce1fd21 100644 --- a/src/np/ps4_libscenpsignaling.pas +++ b/src/np/ps4_libscenpsignaling.pas @@ -38,6 +38,14 @@ begin Result:=0; end; +function ps4_sceNpSignalingCreateContextA(npId:pSceNpId; + handler:SceNpSignalingHandler; + arg:Pointer; + ctxId:PDWORD):Integer; SysV_ABI_CDecl; +begin + Result:=0; +end; + function Load_libSceNpSignaling(Const name:RawByteString):TElf_node; var lib:PLIBRARY; @@ -47,7 +55,8 @@ begin lib:=Result._add_lib('libSceNpSignaling'); lib^.set_proc($DCA3AE0B84666595,@ps4_sceNpSignalingInitialize); - lib^.set_proc($E7262311D778B7C6,@ps4_sceNpSignalingCreateContext) + lib^.set_proc($E7262311D778B7C6,@ps4_sceNpSignalingCreateContext); + lib^.set_proc($7432CD15D63C770B,@ps4_sceNpSignalingCreateContextA); end; initialization diff --git a/src/ps4_libscepad.pas b/src/ps4_libscepad.pas index a19ec7fc..e66d7867 100644 --- a/src/ps4_libscepad.pas +++ b/src/ps4_libscepad.pas @@ -385,6 +385,11 @@ begin Result:=ps4_scePadGetControllerInformation(handle,@pInfo^.base); end; +function ps4_scePadOutputReport(param_1:Integer;param_2:Byte;param_3:Pointer;param_4:QWORD):Integer; SysV_ABI_CDecl; +begin + Result:=0; +end; + function Load_libScePad(Const name:RawByteString):TElf_node; var lib:PLIBRARY; @@ -412,6 +417,7 @@ begin lib^.set_proc($AF8E260317521BE5,@ps4_scePadSetAngularVelocityDeadbandState); lib^.set_proc($58522249F5C652AF,@ps4_scePadOpenExt); lib^.set_proc($8466DFD904C19AA7,@ps4_scePadGetExtControllerInformation); + lib^.set_proc($0EB52EF1C3EB8DEF,@ps4_scePadOutputReport); end; initialization