mirror of https://github.com/red-prig/fpPS4.git
sceKernelGetEventFilter and etc
This commit is contained in:
parent
185da861ac
commit
67530f145d
|
@ -1126,13 +1126,19 @@ begin
|
|||
|
||||
lib^.set_proc($0F439D14C8E9E3A2,@ps4_sceKernelCreateEqueue);
|
||||
lib^.set_proc($7F3C8C2ACF648A6D,@ps4_sceKernelWaitEqueue);
|
||||
lib^.set_proc($BF3FA9836CDDA292,@ps4_sceKernelGetEventUserData);
|
||||
|
||||
lib^.set_proc($E11EBF3AF2367040,@ps4_sceKernelAddUserEvent);
|
||||
lib^.set_proc($583B339926D6B839,@ps4_sceKernelAddUserEventEdge);
|
||||
lib^.set_proc($2C90F07523539C38,@ps4_sceKernelDeleteUserEvent);
|
||||
lib^.set_proc($17A7B4930A387279,@ps4_sceKernelTriggerUserEvent);
|
||||
|
||||
lib^.set_proc($9301B2CA3A21239D,@ps4_sceKernelGetEventData);
|
||||
lib^.set_proc($52EFE20C50BD6947,@ps4_sceKernelGetEventError);
|
||||
lib^.set_proc($434AABF40CAA2529,@ps4_sceKernelGetEventFflags);
|
||||
lib^.set_proc($DB708F3C8D6DC816,@ps4_sceKernelGetEventFilter);
|
||||
lib^.set_proc($989EDA8219A0BDF7,@ps4_sceKernelGetEventId);
|
||||
lib^.set_proc($BF3FA9836CDDA292,@ps4_sceKernelGetEventUserData);
|
||||
|
||||
//queue
|
||||
|
||||
//event_flag
|
||||
|
|
|
@ -137,14 +137,23 @@ function ps4_sceKernelWaitEqueue(
|
|||
out_num:PInteger;
|
||||
timo:PDWORD):Integer; SysV_ABI_CDecl;
|
||||
|
||||
function ps4_sceKernelGetEventUserData(ev:PSceKernelEvent):Pointer; SysV_ABI_CDecl;
|
||||
|
||||
function ps4_sceKernelAddUserEvent(eq:SceKernelEqueue;id:Integer):Integer; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelAddUserEventEdge(eq:SceKernelEqueue;id:Integer):Integer; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelDeleteUserEvent(eq:SceKernelEqueue;id:Integer):Integer; SysV_ABI_CDecl;
|
||||
|
||||
function ps4_sceKernelTriggerUserEvent(eq:SceKernelEqueue;id:Integer;udata:Pointer):Integer; SysV_ABI_CDecl;
|
||||
|
||||
//
|
||||
|
||||
function ps4_sceKernelGetEventData(ev:PSceKernelEvent):Int64; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelGetEventError(ev:PSceKernelEvent):DWORD; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelGetEventFflags(ev:PSceKernelEvent):DWORD; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelGetEventFilter(ev:PSceKernelEvent):Integer; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelGetEventId(ev:PSceKernelEvent):QWORD; SysV_ABI_CDecl;
|
||||
function ps4_sceKernelGetEventUserData(ev:PSceKernelEvent):Pointer; SysV_ABI_CDecl;
|
||||
|
||||
//
|
||||
|
||||
type
|
||||
TKFetchEvent=function(node:PKEventNode;ev:PSceKernelEvent):Boolean;
|
||||
TKAfterEvent=function(node:PKEventNode;data:Pointer):Boolean;
|
||||
|
@ -493,12 +502,6 @@ begin
|
|||
_sig_unlock;
|
||||
end;
|
||||
|
||||
function ps4_sceKernelGetEventUserData(ev:PSceKernelEvent):Pointer; SysV_ABI_CDecl;
|
||||
begin
|
||||
if (ev=nil) then Exit(nil);
|
||||
Result:=ev^.udata;
|
||||
end;
|
||||
|
||||
function _sceKernelAddUserEvent(eq:SceKernelEqueue;id,flags:Integer):Integer;
|
||||
var
|
||||
P:PPointer;
|
||||
|
@ -624,6 +627,44 @@ begin
|
|||
_sig_unlock;
|
||||
end;
|
||||
|
||||
///
|
||||
|
||||
function ps4_sceKernelGetEventData(ev:PSceKernelEvent):Int64; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ev^.data;
|
||||
end;
|
||||
|
||||
function ps4_sceKernelGetEventError(ev:PSceKernelEvent):DWORD; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ev^.fflags;
|
||||
if (Result<>0) then //px2sce
|
||||
begin
|
||||
Result:=Result+$80020000;
|
||||
end;
|
||||
end;
|
||||
|
||||
function ps4_sceKernelGetEventFflags(ev:PSceKernelEvent):DWORD; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ev^.fflags;
|
||||
end;
|
||||
|
||||
function ps4_sceKernelGetEventFilter(ev:PSceKernelEvent):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ev^.filter;
|
||||
end;
|
||||
|
||||
function ps4_sceKernelGetEventId(ev:PSceKernelEvent):QWORD; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ev^.ident;
|
||||
end;
|
||||
|
||||
function ps4_sceKernelGetEventUserData(ev:PSceKernelEvent):Pointer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ev^.udata;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue