diff --git a/kernel/ps4_libkernel.pas b/kernel/ps4_libkernel.pas index 0d8ab989..cf3e715d 100644 --- a/kernel/ps4_libkernel.pas +++ b/kernel/ps4_libkernel.pas @@ -1234,6 +1234,9 @@ begin lib^.set_proc($DEAC603387B31130,@ps4_scePthreadAttrSetaffinity); lib^.set_proc($F3EB39073663C528,@ps4_scePthreadAttrGetaffinity); + lib^.set_proc($24AC86DD25B2035D,@ps4_pthread_attr_setguardsize); + lib^.set_proc($125F9C436D03CA75,@ps4_scePthreadAttrSetguardsize); + lib^.set_proc($24D91556C54398E9,@ps4_pthread_attr_getguardsize); lib^.set_proc($B711ED9E027E7B27,@ps4_scePthreadAttrGetguardsize); diff --git a/kernel/ps4_pthread_attr.pas b/kernel/ps4_pthread_attr.pas index 64a2e3d6..9883643d 100644 --- a/kernel/ps4_pthread_attr.pas +++ b/kernel/ps4_pthread_attr.pas @@ -60,6 +60,9 @@ function ps4_scePthreadAttrSetinheritsched(pAttr:p_pthread_attr_t;sched_inherit function ps4_scePthreadAttrSetaffinity(pAttr:p_pthread_attr_t;mask:QWORD):Integer; SysV_ABI_CDecl; function ps4_scePthreadAttrGetaffinity(pAttr:p_pthread_attr_t;mask:PQWORD):Integer; SysV_ABI_CDecl; +function ps4_pthread_attr_setguardsize(pAttr:p_pthread_attr_t;guardSize:QWORD):Integer; SysV_ABI_CDecl; +function ps4_scePthreadAttrSetguardsize(pAttr:p_pthread_attr_t;guardSize:QWORD):Integer; SysV_ABI_CDecl; + function ps4_pthread_attr_getguardsize(pAttr:p_pthread_attr_t;guardSize:PQWORD):Integer; SysV_ABI_CDecl; function ps4_scePthreadAttrGetguardsize(pAttr:p_pthread_attr_t;guardSize:PQWORD):Integer; SysV_ABI_CDecl; @@ -266,6 +269,19 @@ begin Result:=0; end; +function ps4_pthread_attr_setguardsize(pAttr:p_pthread_attr_t;guardSize:QWORD):Integer; SysV_ABI_CDecl; +begin + if (pAttr=nil) then Exit(EINVAL); + if (pAttr^=nil) then Exit(EINVAL); + pAttr^^.guardsize_attr:=guardSize; + Result:=0; +end; + +function ps4_scePthreadAttrSetguardsize(pAttr:p_pthread_attr_t;guardSize:QWORD):Integer; SysV_ABI_CDecl; +begin + Result:=px2sce(ps4_pthread_attr_setguardsize(pAttr,guardSize)); +end; + function ps4_pthread_attr_getguardsize(pAttr:p_pthread_attr_t;guardSize:PQWORD):Integer; SysV_ABI_CDecl; begin if (pAttr=nil) or (guardSize=nil) then Exit(EINVAL);