diff --git a/kernel/ps4_rwlock.pas b/kernel/ps4_rwlock.pas index bb20a0c..a655d5b 100644 --- a/kernel/ps4_rwlock.pas +++ b/kernel/ps4_rwlock.pas @@ -23,7 +23,7 @@ type end; p_pthread_rwlockattr=^pthread_rwlockattr_t; - pthread_rwlockattr_t=packed record + pthread_rwlockattr_t=bitpacked record _type:0..3; //2 _shared:0..1; //1 _align:0..536870911; //29 diff --git a/src/ps4_libsceappcontent.pas b/src/ps4_libsceappcontent.pas index 042037e..c3985a0 100644 --- a/src/ps4_libsceappcontent.pas +++ b/src/ps4_libsceappcontent.pas @@ -67,6 +67,34 @@ begin end; end; +const + SCE_NP_UNIFIED_ENTITLEMENT_LABEL_SIZE=17; + +type + SceNpUnifiedEntitlementLabel=packed record + data:array[0..SCE_NP_UNIFIED_ENTITLEMENT_LABEL_SIZE-1] of AnsiChar; + padding:array[0..2] of Byte; + end; + + pSceAppContentAddcontInfo=^SceAppContentAddcontInfo; + SceAppContentAddcontInfo=packed record + entitlementLabel:SceNpUnifiedEntitlementLabel; + status:DWORD; //SceAppContentAddcontDownloadStatus + end; + +function ps4_sceAppContentGetAddcontInfoList(serviceLabel:DWORD; //SceNpServiceLabel + list:pSceAppContentAddcontInfo; + listNum:DWORD; + hitNum:PDWORD):Integer; SysV_ABI_CDecl; +begin + Result:=0; + Writeln('sceAppContentGetAddcontInfoList:0x',HexStr(serviceLabel,8)); + if (hitNum<>nil) then + begin + hitNum^:=0; + end; +end; + const SCE_APP_CONTENT_MOUNTPOINT_DATA_MAXSIZE=16; SCE_APP_CONTENT_ADDCONT_MOUNT_MAXNUM =64; @@ -96,6 +124,7 @@ begin lib^.set_proc($47D940F363AB68DB,@ps4_sceAppContentInitialize); lib^.set_proc($F7D6FCD88297A47E,@ps4_sceAppContentAppParamGetInt); + lib^.set_proc($C6777C049CC0C669,@ps4_sceAppContentGetAddcontInfoList); lib^.set_proc($6EE61B78B3865A60,@ps4_sceAppContentTemporaryDataMount2); end; diff --git a/src/ps4_libscenet.pas b/src/ps4_libscenet.pas index ce42d5c..0620d27 100644 --- a/src/ps4_libscenet.pas +++ b/src/ps4_libscenet.pas @@ -58,6 +58,12 @@ begin Result:=111; end; +function ps4_sceNetEpollCreate(name:PChar;flags:Integer):Integer; SysV_ABI_CDecl; +begin + Writeln('sceNetEpollCreate:',name,':',flags); + Result:=3; +end; + const AF_INET = 2; AF_INET6 = 10; @@ -367,6 +373,7 @@ begin lib^.set_proc($76024169E2671A9A,@ps4_sceNetPoolCreate); lib^.set_proc($2BB465AD3908FE6C,@ps4_sceNetPoolDestroy); lib^.set_proc($0B85200C71CFBDDC,@ps4_sceNetResolverCreate); + lib^.set_proc($485E3B901D8C353A,@ps4_sceNetEpollCreate); lib^.set_proc($F0A729E5DFEAD54A,@ps4_sceNetInetPton); lib^.set_proc($BFA338B7179C0AEA,@ps4_sceNetEtherNtostr); lib^.set_proc($E8E7346CBB0861ED,@ps4_sceNetGetMacAddress);