mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
Return SCE_APP_CONTENT_ERROR_NOT_MOUNTED instead of throwing APS5_INVALID_ARG_EX when a mount point other than /download0 is passed to sceAppContentDownloadDataFormat or sceAppContentDownloadDataGetAvailableSpaceKb, aligning with sceAppContentTemporaryDataFormat. Check null mount_point in sceAppContentDownloadDataGetAvailableSpaceKb with SCE_APP_CONTENT_ERROR_PARAMETER.
3.4 KiB
3.4 KiB
libSceAppContent technical debt
Unknown function info
- sceAppContentDownloadDataGetAvailableSpaceKb (libSceAppContent) - a title whose
param.jsondeclaresdownloadDataSize0 gets 0 KB and OK; the console's behaviour for a title without a download data area is unverified (it may return an error instead). KytyPS5 does not special-case it, and shadPS4 stubs 1048576 KB - sceAppContentDownloadDataFormat (libSceAppContent) - empties the
/download0directory, creating it if needed. Imported by PPSA01317. A null mount point returnsPARAMETERand another mount point returnsNOT_MOUNTEDas insceAppContentTemporaryDataFormatandsceAppContentDownloadDataGetAvailableSpaceKb; the console's error codes for both and its behaviour with files still open are unverified
Functional
- Additional content (libSceAppContent) is not installed or mounted:
sceAppContentAddcontMountanswersNOT_FOUNDfor every entitlement label andsceAppContentAddcontUnmountfor every mount point, as no add-content mount is ever handed out;sceAppContentGetAddcontInfoanswersDRM_NO_ENTITLEMENTfor every label andsceAppContentGetAddcontInfoListreports 0 entries;sceAppContentAddcontEnqueueDownloadanswersPARAMETERfor a null label andNOT_FOUNDotherwise, since no download is ever queued;sceAppContentAddcontDeleteanswersPARAMETERfor a null label andNOT_FOUNDotherwise, since no additional content is ever installed.sceAppContentGetAddcontDownloadProgressanswersPARAMETERfor a null label or progress andNOT_FOUNDotherwise, as dlc_emu does for a label that is not installed additional content, and never writes the progress. Its 16-byte layout (DataSize, thenDownloadedSize, both 64-bit) follows SharpProspero and is unused here. The signatures ofsceAppContentAddcontEnqueueDownloadandsceAppContentGetAddcontDownloadProgressfollow SharpProspero, and the signature ofsceAppContentAddcontDeletefollows dlc_emu; dlc_emu is not a console measurement and no console source gives the error codes, so the signatures and the error codes are unverified - Temporary app-content storage tracks one
/temp0mount, preserves its files on unmount, and rejects new path resolutions until remount. Mount, format, space-query and unmount errors follow fpPS4; the pointer ABI is also declared by SharpProspero. Existing open host descriptors remain usable after unmount; console behaviour with open files is unverified. Host filesystem failures still throw.