diff --git a/kernel/ps4_libkernel.pas b/kernel/ps4_libkernel.pas index 4da3af77..290df379 100644 --- a/kernel/ps4_libkernel.pas +++ b/kernel/ps4_libkernel.pas @@ -1234,7 +1234,9 @@ begin lib^.set_proc($DEAC603387B31130,@ps4_scePthreadAttrSetaffinity); lib^.set_proc($F3EB39073663C528,@ps4_scePthreadAttrGetaffinity); + lib^.set_proc($24D91556C54398E9,@ps4_pthread_attr_getguardsize); lib^.set_proc($B711ED9E027E7B27,@ps4_scePthreadAttrGetguardsize); + lib^.set_proc($46EDFA7E24ED2730,@ps4_scePthreadAttrGetstackaddr); lib^.set_proc($D2A3AD091FD91DC9,@ps4_pthread_attr_getstacksize); diff --git a/kernel/ps4_pthread_attr.pas b/kernel/ps4_pthread_attr.pas index fe6ca617..b23cbc51 100644 --- a/kernel/ps4_pthread_attr.pas +++ b/kernel/ps4_pthread_attr.pas @@ -60,7 +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_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; + function ps4_scePthreadAttrGetstackaddr(pAttr:p_pthread_attr_t;stackAddr:PPointer):Integer; SysV_ABI_CDecl; function ps4_pthread_attr_getstacksize(pAttr:p_pthread_attr_t;stackSize:PQWORD):Integer; SysV_ABI_CDecl; @@ -259,14 +261,19 @@ begin Result:=0; end; -function ps4_scePthreadAttrGetguardsize(pAttr:p_pthread_attr_t;guardSize:PQWORD):Integer; SysV_ABI_CDecl; +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(SCE_KERNEL_ERROR_EINVAL); - if (pAttr^=nil) then Exit(SCE_KERNEL_ERROR_EINVAL); + if (pAttr=nil) or (guardSize=nil) then Exit(EINVAL); + if (pAttr^=nil) then Exit(EINVAL); guardSize^:=pAttr^^.guardsize_attr; Result:=0; end; +function ps4_scePthreadAttrGetguardsize(pAttr:p_pthread_attr_t;guardSize:PQWORD):Integer; SysV_ABI_CDecl; +begin + Result:=px2sce(ps4_pthread_attr_getguardsize(pAttr,guardSize)); +end; + function ps4_scePthreadAttrGetstackaddr(pAttr:p_pthread_attr_t;stackAddr:PPointer):Integer; SysV_ABI_CDecl; begin if (pAttr=nil) or (stackAddr=nil) then Exit(SCE_KERNEL_ERROR_EINVAL);