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($0F439D14C8E9E3A2,@ps4_sceKernelCreateEqueue);
|
||||||
lib^.set_proc($7F3C8C2ACF648A6D,@ps4_sceKernelWaitEqueue);
|
lib^.set_proc($7F3C8C2ACF648A6D,@ps4_sceKernelWaitEqueue);
|
||||||
lib^.set_proc($BF3FA9836CDDA292,@ps4_sceKernelGetEventUserData);
|
|
||||||
|
|
||||||
lib^.set_proc($E11EBF3AF2367040,@ps4_sceKernelAddUserEvent);
|
lib^.set_proc($E11EBF3AF2367040,@ps4_sceKernelAddUserEvent);
|
||||||
lib^.set_proc($583B339926D6B839,@ps4_sceKernelAddUserEventEdge);
|
lib^.set_proc($583B339926D6B839,@ps4_sceKernelAddUserEventEdge);
|
||||||
lib^.set_proc($2C90F07523539C38,@ps4_sceKernelDeleteUserEvent);
|
lib^.set_proc($2C90F07523539C38,@ps4_sceKernelDeleteUserEvent);
|
||||||
lib^.set_proc($17A7B4930A387279,@ps4_sceKernelTriggerUserEvent);
|
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
|
//queue
|
||||||
|
|
||||||
//event_flag
|
//event_flag
|
||||||
|
|
|
@ -137,14 +137,23 @@ function ps4_sceKernelWaitEqueue(
|
||||||
out_num:PInteger;
|
out_num:PInteger;
|
||||||
timo:PDWORD):Integer; SysV_ABI_CDecl;
|
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_sceKernelAddUserEvent(eq:SceKernelEqueue;id:Integer):Integer; SysV_ABI_CDecl;
|
||||||
function ps4_sceKernelAddUserEventEdge(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_sceKernelDeleteUserEvent(eq:SceKernelEqueue;id:Integer):Integer; SysV_ABI_CDecl;
|
||||||
|
|
||||||
function ps4_sceKernelTriggerUserEvent(eq:SceKernelEqueue;id:Integer;udata:Pointer):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
|
type
|
||||||
TKFetchEvent=function(node:PKEventNode;ev:PSceKernelEvent):Boolean;
|
TKFetchEvent=function(node:PKEventNode;ev:PSceKernelEvent):Boolean;
|
||||||
TKAfterEvent=function(node:PKEventNode;data:Pointer):Boolean;
|
TKAfterEvent=function(node:PKEventNode;data:Pointer):Boolean;
|
||||||
|
@ -493,12 +502,6 @@ begin
|
||||||
_sig_unlock;
|
_sig_unlock;
|
||||||
end;
|
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;
|
function _sceKernelAddUserEvent(eq:SceKernelEqueue;id,flags:Integer):Integer;
|
||||||
var
|
var
|
||||||
P:PPointer;
|
P:PPointer;
|
||||||
|
@ -624,6 +627,44 @@ begin
|
||||||
_sig_unlock;
|
_sig_unlock;
|
||||||
end;
|
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.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue