Files
AnyPS5/docs/dev/debt/libSceFsInternalForVsh.md
T

180 lines
12 KiB
Markdown

# libSceFsInternalForVsh technical debt
### Silent stubs
- [sceFsErriCtl and sceFsErriGetState](../../../core/libs/prx/libSceFsInternalForVsh/Export.cpp) return 0x8002002d without managing error reporting control or state.
### Unknown function info
- [sceBdSchedCancelBackgroundCopyRequest, sceBdSchedCancelPrioritizedBackgroundCopyRequest, sceBdSchedConfigure, sceBdSchedConfigure2, sceBdSchedDeconfigure, sceBdSchedGetBackgroundCopyRequest, sceBdSchedGetExtentMap, sceBdSchedGetPrioritizedBackgroundCopyRequest, sceBdSchedGetState, sceBdSchedSetBackgroundCopyRequest, sceBdSchedSetDiscIdentity, sceBdSchedSetPrioritizedBackgroundCopyRequest, sceBdSchedStartGame, sceBdSchedStartRipping, sceBdSchedStopScheduling, sceFsBfsCheckCleanFlag, sceFsBindApplication, sceFsBindPackages, sceFsCheckFormat, sceFsCheckSingleUser, sceFsCreateExfatPartition, sceFsCreatePfsSaveDataImage, sceFsCreatePfsTrophyDataImage, sceFsCreatePprPfsTrophyDataImage, sceFsDeviceAlignedPread, sceFsDeviceAlignedPwrite, sceFsDevpfsA53IocGetBuildMetadataStatus, sceFsDevpfsCancelWaitEvent, sceFsDevpfsCreateForVSH, sceFsDevpfsDeleteForVSH, sceFsDevpfsDeregisterEvent, sceFsDevpfsEventComplete, sceFsDevpfsEventResponseComplete, sceFsDevpfsFetchMetaEntry, sceFsDevpfsFsck, sceFsDevpfsInitFetchMetaEntryCtx, sceFsDevpfsMountForFSMP, sceFsDevpfsRegisterEvent, sceFsDevpfsWaitEvent, sceFsDrfsRegisterSocket, sceFsDrfsResumeSocket, sceFsExfatMkfsExternalHdd, sceFsExfatfsMkfs, sceFsExtUSBSchedDestroy, sceFsExtUSBSchedInsert, sceFsExtUSBSchedInsertForHDD, sceFsExternalStorageDeconfigure, sceFsExternalStorageGetRawDevice, sceFsExternalStorageInitialize, sceFsExternalStorageVerifyMetadata, sceFsGetAttribute, sceFsGetClusterStatistics, sceFsGetDeviceSectorsize, sceFsGetFsMetadata, sceFsGetFsMetadataWithProgress, sceFsGetSmrInfo, sceFsGschedCtl, sceFsISSchedConfigCurrentThread, sceFsISSchedConfigDescriptor, sceFsISSchedConfigThread, sceFsISSchedMapStat, sceFsISSchedResultToPriority, sceFsISSchedResultToSlot, sceFsISSchedStatCurrentThread, sceFsISSchedStatDescriptor, sceFsISSchedStatThread, sceFsISSchedUnmapStat, sceFsInitCreatePfsSaveDataOpt, sceFsInitCreatePfsTrophyDataOpt, sceFsInitMountDownloadDataOpt, sceFsInitMountGamePkgOpt, sceFsInitMountLwfsCompatOpt, sceFsInitMountLwfsOpt, sceFsInitMountPprPkgOpt, sceFsInitMountSaveDataOpt, sceFsInitMountTrophyDataOpt, sceFsInitUmountDownloadDataOpt, sceFsInitUmountGamePkgOpt, sceFsInitUmountLwfsCompatOpt, sceFsInitUmountLwfsOpt, sceFsInitUmountPprPkgOpt, sceFsInitUmountSaveDataOpt, sceFsInitUmountTrophyDataOpt, sceFsInitWorkspaceFileMetadataParam, sceFsLvdAttach, sceFsLvdAttach2, sceFsLvdAttachPartiallyCryptedDownloadData, sceFsLvdAttachSingleDefaultImage, sceFsLvdAttachSingleImage, sceFsLvdDetach, sceFsLvdDisableLayer, sceFsLvdEnableLayer, sceFsLvdSetDiscIdentity, sceFsLvdWaitResumed, sceFsMlfsMount, sceFsMlfsMountWithFlags, sceFsMlfsUmount, sceFsMountDownloadData, sceFsMountGamePkg, sceFsMountLwfs, sceFsMountLwfsCompat, sceFsMountPartiallyCryptedDownloadData, sceFsMountPprPkg, sceFsMountSaveData, sceFsMountTrophyData, sceFsNsfsAddOverlayToNamespace, sceFsNsfsMountWithFlags, sceFsNsfsSetGlobalExclude, sceFsNsfsUmount, sceFsPartitionTrim, sceFsReserveCluster, sceFsSetAttribute, sceFsSetClusterCacheSize, sceFsSetFileReservedTotal, sceFsSetSystemReserveSize, sceFsSetWorkspaceFileHash, sceFsStatWorkspace, sceFsSysStorageGetStatus, sceFsTransactionCancel, sceFsTransactionSaveDataInitMountOpt, sceFsTransactionSaveDataMount, sceFsTransactionStart, sceFsTrophyImageError, sceFsUfsAllocateAdditionalContents, sceFsUfsAllocateAligned, sceFsUfsAllocateDownloadData, sceFsUfsAllocateGameImage, sceFsUfsAllocatePatchImage, sceFsUfsAllocateSaveData, sceFsUfsAllocateTrophyData, sceFsUfsCheckCleanFlag, sceFsUfsCheckFixedCylinderGroupSize, sceFsUfsCollectTelemetry, sceFsUfsCollectTelemetry2, sceFsUfsDirectWrite, sceFsUfsEstimateZoneCapacityForUser, sceFsUfsExtendFile, sceFsUfsFsck, sceFsUfsFsckWithMM, sceFsUfsGetExtentMap, sceFsUfsGrowLwfs, sceFsUfsGrowfs, sceFsUfsHideBlocksFromUser, sceFsUfsInitalizeSparseFile, sceFsUfsLargewriteFsck, sceFsUfsLargewriteFsckWithMM, sceFsUfsMkLwfs, sceFsUfsMkfs, sceFsUfsMkfsForExternalHDD, sceFsUfsMkfsForSystem, sceFsUfsMkfsWithFixedCylinderGroupSize, sceFsUfsReallocateSparseFile, sceFsUfsRecryptBlocks, sceFsUfsRecryptGetState, sceFsUfsRecryptIsUnfinished, sceFsUfsRecryptSyncMetadata, sceFsUfsSeekHoleInFile, sceFsUfsStopOperation, sceFsUmountDownloadData, sceFsUmountGamePkg, sceFsUmountLwfs, sceFsUmountLwfsCompat, sceFsUmountSaveData, sceFsUmountTrophyData, sceFsUmountWorkspace, sceFsUnbindApplication, sceFsUnbindPackages, sceFsWsCreate, sceFsWsDelete, sceFsWsFetchFileMetadata, sceFsWsFsck, sceFsWsGetStatus, sceFsWsMount and sceFsWsUmount](../../../core/libs/prx/libSceFsInternalForVsh/Export.cpp) (libSceFsInternalForVsh) - names and NIDs are present in the [PS5 3.20 export inventory](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceFsInternalForVsh.c), but no credible prototypes were found. The declarations have no parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified
### Additional callable exports
- [Additional callable exports](../../../core/libs/prx/libSceFsInternalForVsh/Export.cpp) - 163 entries present in both version-labelled images are import-resolution declarations only. None is listed in the pinned public 3.20 catalogue for this library. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv).
| Name | NID |
| --- | --- |
| `sceFsBfsAllocateAdditionalContents` | `gyqYJnZGUeg` |
| `sceFsBfsAllocateGameImage` | `Hwr6oTQrHYA` |
| `sceFsBfsAllocatePatchImage` | `dRB3R2dK7lM` |
| `sceFsBfsAllocateSaveData` | `eLrSG2GpWfU` |
| `sceFsBfsAllocateTrophyData` | `pG3cfObys9w` |
| `sceFsBfsApplyPatch` | `qtWlhnEzWqs` |
| `sceFsBfsCancelPatch` | `VOFWv+ZZgpc` |
| `sceFsBfsCommitPatch` | `OCV7fw1WFHY` |
| `sceFsBfsContainerBind` | `U0Kb1beVNHk` |
| `sceFsBfsContainerCreate` | `Zr6b1pGvea0` |
| `sceFsBfsContainerQuery` | `zR4vUK1nJxM` |
| `sceFsBfsContainerUnbind` | `pGk-HIsJgPc` |
| `sceFsBfsContainerUpdate` | `7WUxqTxbHH8` |
| `sceFsBfsExtendFile` | `eVZX55IE8Qw` |
| `sceFsBfsFormat` | `NdmkyL4E+6A` |
| `sceFsBfsFsck` | `YaWCv3JUFdM` |
| `sceFsBfsGcGetStatus` | `j8aGZfdbhc8` |
| `sceFsBfsGcMove` | `hLLe9yb4CI8` |
| `sceFsBfsGetAvailableSize` | `MSQ1n+tzSEA` |
| `sceFsBfsGetBindStatus` | `MqHkPiPliiQ` |
| `sceFsBfsGetContainers` | `mw0lr-KcAVM` |
| `sceFsBfsGetFileSize` | `07w8uSyyDgo` |
| `sceFsBfsGetMapping` | `fOZZcF1L-4I` |
| `sceFsBfsGetSCFStatus` | `EV39PBp42ss` |
| `sceFsBfsGetStatus` | `A--9Ydn8BOU` |
| `sceFsBfsM2Format` | `rPXZMK+AG0I` |
| `sceFsBfsMount` | `geq37pht+aU` |
| `sceFsBfsTrim` | `B2Waw07963I` |
| `sceFsBfsUnprotect` | `oNxcT+bbrd8` |
| `sceFsCreatePprPfsSaveDataImage` | `koGUBftreVg` |
| `sceFsCreateWorkspace` | `vjXtNys5x6M` |
| `sceFsDeleteWorkspace` | `Yola1NbNquE` |
| `sceFsDevpfsAllocateFile` | `A8RiikwWk-U` |
| `sceFsDevpfsAllocateSparseFile` | `OD0v8qAhYWo` |
| `sceFsDevpfsMountForVSH` | `nLkSa8Hcik0` |
| `sceFsDevpfsSystemPowerEvent` | `d+s2iU87ZzI` |
| `sceFsDevpfsTermFetchMetaEntryCtx` | `73RHx-09jRA` |
| `sceFsDevpfsUmountForFSMP` | `8x7XaKzCy-A` |
| `sceFsDevpfsUmountForVSH` | `bMPogEwPp+g` |
| `sceFsDevpfsWriteChunk` | `sCqqQQYUiK8` |
| `sceFsDrfsDestroyContext` | `UUgb-PXhk2Q` |
| `sceFsDrfsDisconnect` | `KNujEf-sWXY` |
| `sceFsDrfsInitContext` | `ajihfYkZJ6I` |
| `sceFsDrfsMount` | `igEsGj+Ys5o` |
| `sceFsDrfsSuspendSocket` | `G+qmQeVtF9Q` |
| `sceFsDrfsUmount` | `1UNNe8ym0-A` |
| `sceFsDrfsUnregisterSocket` | `f-AL1VFNUAo` |
| `sceFsDrfsWaitEvent` | `9yYkQ0ZT4+s` |
| `sceFsFetchWorkspaceFileMetadata` | `pf-lA0kywn4` |
| `sceFsInitCreatePprPfsSaveDataOpt` | `ns-+qa8Pd5c` |
| `sceFsInitCreateWorkspaceOpt` | `G+lXWFmyIrc` |
| `sceFsInitDeleteWorkspaceOpt` | `tAnh6QH6lR0` |
| `sceFsInitMountWorkspaceOpt` | `vjXmWuIa46I` |
| `sceFsInitUmountWorkspaceOpt` | `HSLfRvvCFJ8` |
| `sceFsIsActiveBankSystemEx` | `ZIXa1o3EEao` |
| `sceFsIsActiveBankSystem` | `d3BVR4cnRxo` |
| `sceFsM2StorageCheckCleanFlag` | `nnQ-729CENw` |
| `sceFsM2StorageDeconfigure` | `vYKMA1Eyvks` |
| `sceFsM2StorageFsckWithMM` | `Q3Dx5zpjZds` |
| `sceFsM2StorageGetM2UniqueId` | `e6RvxzRHg0g` |
| `sceFsM2StorageInitialize` | `afZqNcRuBfg` |
| `sceFsM2StorageMount` | `3gF9wsB0078` |
| `sceFsM2StorageUnmount` | `5QhQmY1NL-Y` |
| `sceFsM2StorageVerifyMetadata` | `V6i6yMSwqo4` |
| `sceFsMountPprSaveData` | `rFjyPw4dCiw` |
| `sceFsMountWorkspace` | `WB69f40fP8s` |
| `sceFsNewfsDefault` | `Ggp-Q5xJa20` |
| `sceFsNsfsMount` | `Qjoa0WfIKfs` |
| `sceFsPartitionSwitchBank` | `90NDXvGAt2E` |
| `sceFsPathMappingResolve` | `LRhP2sMzWKA` |
| `sceFsPlaygoDisable` | `WvQjGuJgbDQ` |
| `sceFsPlaygoEnable` | `ELZxyxIOpuM` |
| `sceFsPlaygoInitializeParams` | `5WGkFjeeTy0` |
| `sceFsPlaygoSetParams` | `JB6h0wNjfXE` |
| `sceFsTransactionCommit` | `sSqVfkgfjFs` |
| `sceFsTransactionPprNoCowSaveDataMount` | `aOFarTYiGKg` |
| `sceFsTransactionPprSaveDataMount` | `hdK6CFu85Yk` |
| `sceFsTransactionSaveDataReadParam` | `3ebHTSYhPZY` |
| `sceFsTransactionSaveDataUmount` | `8X8J-jiHTn0` |
| `sceFsTransactionSaveDataWriteParam` | `CBUzOsP0eS8` |
| `sceFsUfsCoerceCryptMode` | `6HcKx4a0alU` |
| `sceFsUfsMkfsProsperoApplicationTemporaryData` | `pMwPp537VNk` |
| `sceFsUfsMkfsProsperoDownloadData` | `VFD9HXJT5PY` |
| `sceFsUmountPprPkg` | `S5+bpaH0TWk` |
| `sceFsUpdatePackageMetadataApp0` | `IEepZ-CjqQQ` |
| `sceFsWorkspaceCoreDump` | `XLW5WuNYVfo` |
| `sceFsWsWriteFile` | `DnuQ4XKoF+s` |
| `sceFsWsWriteFileExtdata` | `JTQE83+A0rM` |
| `Unknown` | `+gVdjPejLwc` |
| `Unknown` | `-HW6neCER+A` |
| `Unknown` | `0JhonchgIa8` |
| `Unknown` | `0XlyVxRNeIw` |
| `Unknown` | `1lLh9mukbz0` |
| `Unknown` | `2UgTmJt2dsc` |
| `Unknown` | `3TFUof4RLWM` |
| `Unknown` | `41PqBeun5cU` |
| `Unknown` | `4uqQOvVpISA` |
| `Unknown` | `68F1C7m2pO4` |
| `Unknown` | `6Bku+Im1Pew` |
| `Unknown` | `89zs8+EWQYQ` |
| `Unknown` | `9X3ydcDhbhw` |
| `Unknown` | `AnMWzsLhsYk` |
| `Unknown` | `CFlYeKz+HYs` |
| `Unknown` | `DEHwNbsX2BA` |
| `Unknown` | `DNjr3qYr-lY` |
| `Unknown` | `DSmBrz8enws` |
| `Unknown` | `Elqj7jkJd5s` |
| `Unknown` | `GNeCtmqY-58` |
| `Unknown` | `GsHxp1IXkfA` |
| `Unknown` | `KesAmkrIb9Y` |
| `Unknown` | `KrZEB+TsZ5k` |
| `Unknown` | `LGPQXeAAFdc` |
| `Unknown` | `LrpsS5hGlyY` |
| `Unknown` | `M9342PuS+y0` |
| `Unknown` | `MQs7RB-KfYM` |
| `Unknown` | `N7SnQKgSGA4` |
| `Unknown` | `NHH7572Mh30` |
| `Unknown` | `NUfgeY29b9E` |
| `Unknown` | `NdL2fJF8e78` |
| `Unknown` | `NrSqjlYMetU` |
| `Unknown` | `O6akvoAE6k0` |
| `Unknown` | `P8F9U9uTPqA` |
| `Unknown` | `Rwk7z377rco` |
| `Unknown` | `SyNglOzKCV8` |
| `Unknown` | `T3LiDkpiS7s` |
| `Unknown` | `UD35isX9168` |
| `Unknown` | `W8CmA+wZ9+w` |
| `Unknown` | `WwEWgYYuAmo` |
| `Unknown` | `XwPXO+lxKy0` |
| `Unknown` | `Y-AXyBKGn8I` |
| `Unknown` | `Z9o0nKENoCQ` |
| `Unknown` | `ZcrLUvsmmrU` |
| `Unknown` | `a5ex0HGaufY` |
| `Unknown` | `b5kZJiwZPT8` |
| `Unknown` | `bGBEeJ2B6XE` |
| `Unknown` | `cDZDkhZeK4o` |
| `Unknown` | `cUyUz68FKBc` |
| `Unknown` | `czWRa7s1ogE` |
| `Unknown` | `dKQBYtuMOWA` |
| `Unknown` | `eV9ctY+OiOo` |
| `Unknown` | `g3Lf8TiVEBM` |
| `Unknown` | `gcOITai35ls` |
| `Unknown` | `gerE9e47NoU` |
| `Unknown` | `gtzIEP+e2jo` |
| `Unknown` | `hfb5Y906dYA` |
| `Unknown` | `hhPrQak7oFg` |
| `Unknown` | `iJQ7aolqS1A` |
| `Unknown` | `juY2ugdopus` |
| `Unknown` | `k-WaWvM74jI` |
| `Unknown` | `lZ+oSeAyI8Q` |
| `Unknown` | `lxyJjALNmp4` |
| `Unknown` | `mvNIgoNVeWA` |
| `Unknown` | `nIMoeyl3SRY` |
| `Unknown` | `noVGZAYgjI8` |
| `Unknown` | `oP09BdVEs7o` |
| `Unknown` | `pt+umHHWgvM` |
| `Unknown` | `rOoqs69ugy8` |
| `Unknown` | `rakMRjDRGS4` |
| `Unknown` | `s7X-JxrF650` |
| `Unknown` | `v3jcGxw1mR8` |
| `Unknown` | `v9uqOhwlhjs` |
| `Unknown` | `yadgQseaDKA` |
| `Unknown` | `ydRWehw26Kk` |