FPPS4/src/ps4_libscerudp.pas

68 lines
1.5 KiB
Plaintext

unit ps4_libSceRudp;
{$mode ObjFPC}{$H+}
interface
uses
ps4_program,
Classes,
SysUtils;
implementation
uses
ps4_time;
function ps4_sceRudpInit(pool:Pointer;poolSize:QWORD):Integer; SysV_ABI_CDecl;
begin
Writeln('sceRudpInit:',HexStr(pool),':',poolSize);
Result:=0;
end;
function ps4_sceRudpSetEventHandler(handler:Pointer; //SceRudpEventHandler
arg:Pointer):Integer; SysV_ABI_CDecl;
begin
Writeln('sceRudpSetEventHandler:',HexStr(handler),':',HexStr(arg));
Result:=0;
end;
function ps4_sceRudpEnableInternalIOThread(stackSize,priority:DWORD):Integer; SysV_ABI_CDecl;
begin
Writeln('sceRudpEnableInternalIOThread:',stackSize,':',priority);
Result:=0;
end;
function ps4_sceRudpNetFlush:Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceRudpProcessEvents(timeout:QWORD // SceRudpUsec
):Integer; SysV_ABI_CDecl;
begin
ps4_usleep(timeout);
Result:=0;
end;
function Load_libSceRudp(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceRudp');
lib^.set_proc($6A6B817C8FC041CE,@ps4_sceRudpInit);
lib^.set_proc($4941157ACF20BE6C,@ps4_sceRudpSetEventHandler);
lib^.set_proc($E8F04DA6C8326B1C,@ps4_sceRudpEnableInternalIOThread);
lib^.set_proc($F8127DB2F0E68D8B,@ps4_sceRudpNetFlush);
lib^.set_proc($F54F66D581F449C4,@ps4_sceRudpProcessEvents);
end;
initialization
ps4_app.RegistredPreLoad('libSceRudp.prx',@Load_libSceRudp);
end.