Filesystem services: Difference between revisions

Line 258: Line 258:
| 0x7 || 0x8000000000000800 || ContentStorageAccess || 3 || [[#OpenContentStorageFileSystem]]
| 0x7 || 0x8000000000000800 || ContentStorageAccess || 3 || [[#OpenContentStorageFileSystem]]
|-
|-
| 0x8 || 0x8000000000001000 || ImageDirectoryAccess || 3 || [[#MountImageDirectory]]
| 0x8 || 0x8000000000001000 || ImageDirectoryAccess || 3 || [[#OpenImageDirectoryFileSystem]]
|-
|-
| 0x9 || 0x8000000000000084 || OpenBisFileSystemType28 || 3 || [[#OpenBisFileSystem]]
| 0x9 || 0x8000000000000084 || OpenBisFileSystemType28, OpenBisFileSystemType32 || 3 || [[#OpenBisFileSystem]]
|-
|-
| 0xA || 0x8000000000000080 || OpenBisFileSystemType29 || 3 || [[#OpenBisFileSystem]]
| 0xA || 0x8000000000000080 || OpenBisFileSystemType29 || 3 || [[#OpenBisFileSystem]]
Line 284: Line 284:
| 0x14 || 0x8000000000000020 ([1.0.0-2.3.0] 0x8000000000010082) || SystemSaveDataAccess1 || 3 || [[#OpenSaveDataFileSystemBySystemSaveDataId]]
| 0x14 || 0x8000000000000020 ([1.0.0-2.3.0] 0x8000000000010082) || SystemSaveDataAccess1 || 3 || [[#OpenSaveDataFileSystemBySystemSaveDataId]]
|-
|-
| 0x15 || 0x8000000000010082 ([1.0.0-2.3.0] 0x8000000000010080) || BisPartition0 || 3 || [[#OpenBisStorage]]
| 0x15 || 0x8000000000010082 ([1.0.0-2.3.0] 0x8000000000010080) || BisPartition0_9, BisPartition11_19 || 3 || [[#OpenBisStorage]]
|-
|-
| 0x16 || 0x8000000000010080 || BisPartition10 || 3 || [[#OpenBisStorage]]
| 0x16 || 0x8000000000010080 || BisPartition10 || 3 || [[#OpenBisStorage]]
Line 318: Line 318:
| 0x25 || 0xC000000000200000 ([1.0.0-2.3.0] 0x8000000000100008) || || ||
| 0x25 || 0xC000000000200000 ([1.0.0-2.3.0] 0x8000000000100008) || || ||
|-
|-
| 0x26 || 0x8000000000000100 ([1.0.0-2.3.0] 0xC000000000400000) || GameCard_System || 3 || [[#OpenGameCardStorage]],  [[#EraseGameCard]] (bit1), [[#WriteToGameCard]] (bit1)
| 0x26 || 0x8000000000000100 ([1.0.0-2.3.0] 0xC000000000400000) || GameCard_System || 3 || [[#OpenGameCardStorage]],  [[#EraseGameCard]] (bit1), [[#WriteToGameCard]] (bit1), [[#GetGameCardErrorInfo]] (bit1), [[#EraseAndWriteParamDirectly]] (bit1), [[#ReadParamDirectly]] (bit1), [[#ForceEraseGameCard]] (bit1)
|-
|-
| [3.0.0+] 0x27 || 0x8000000000100008 || MountContent_System || 1 || [[#MountContent]], [[#OpenDataStorageByDataId]]
| [3.0.0+] 0x27 || 0x8000000000100008 || MountContent_System || 1 || [[#OpenFileSystem]], [[#OpenDataStorageByDataId]]
|-
|-
| [3.0.0+] 0x28 || 0xC000000000400000 || HostAccess || 3 || [[#OpenHostFileSystemImpl]]
| [3.0.0+] 0x28 || 0xC000000000400000 || HostAccess || 3 || [[#OpenHostFileSystem]]
|-
|-
| [4.0.0+] 0x29 || 0x8000000000010000 || || ||
| [4.0.0+] 0x29 || 0x8000000000010000 || RegisteredUpdatePartitionAccess || 1 || [[#OpenRegisteredUpdatePartition]]
|-
|-
| [5.0.0+] 0x2A || 0x8000000000000000 || || ||
| [5.0.0+] 0x2A || 0x8000000000000000 || SaveDataInternalStorageAccess || 3 || [[#OpenSaveDataInternalStorageFileSystem]]
|}
|}


Line 356: Line 356:
| 0xA || 0x8000000000004028 || SaveDataDelete1 || [[#DeleteSaveDataFileSystem]], [[#RegisterSaveDataFileSystemAtomicDeletion]]
| 0xA || 0x8000000000004028 || SaveDataDelete1 || [[#DeleteSaveDataFileSystem]], [[#RegisterSaveDataFileSystemAtomicDeletion]]
|-
|-
| 0xB || 0x8000000000000060 || SaveDataIterators0 || [[#OpenSaveDataIterator]], [[#OpenSaveDataInfoIterator]]
| 0xB || 0x8000000000000060 || SaveDataInfoReader0 || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]]
|-
|-
| 0xC || 0x8000000000004020 || SaveDataIterators1 || [[#OpenSaveDataIterator]], [[#OpenSaveDataInfoIterator]]
| 0xC || 0x8000000000004020 || SaveDataInfoReader1 || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]]
|-
|-
| 0xD || 0x8000000000020000 || SaveThumbnails || [[#OpenSaveDataThumbnailFile]]
| 0xD || 0x8000000000020000 || SaveDataMeta || [[#OpenSaveDataMetaFile]]
|-
|-
| 0xE || 0x8000000000000400 || PosixTime || [[#SetCurrentPosixTime]]
| 0xE || 0x8000000000000400 || PosixTime || [[#SetCurrentPosixTime]], [[#SetCurrentPosixTimeWithTimeDifference]]
|-
|-
| 0xF || 0x8000000000004060 || SaveDataExtraData || [[#ReadSaveDataFileSystemExtraData]]
| 0xF || 0x8000000000004060 || SaveDataExtraData_Read || [[#ReadSaveDataFileSystemExtraData]]
|-
|-
| 0x10 || 0x8000000000080000 || GlobalMode || [[#SetGlobalAccessMode]]
| 0x10 || 0x8000000000080000 || GlobalAccessMode || [[#SetGlobalAccessMode]]
|-
|-
| 0x11 || 0x8000000000080000 || SpeedEmulation || [[#SetSpeedEmulationMode]]
| 0x11 || 0x8000000000080000 || SpeedEmulationMode || [[#SetSpeedEmulationMode]]
|-
|-
| 0x12 || Invalid || ||  
| 0x12 || Invalid || ||  
|-
|-
| 0x13 || 0xC000000000800000 || PaddingFiles || [[#CreatePaddingFile]], [[#DeletePaddingFiles]]  
| 0x13 || 0xC000000000800000 || PaddingFiles || [[#CreatePaddingFile]], [[#DeleteAllPaddingFiles]]  
|-
|-
| 0x14 || 0xC000000001000000 || SaveData_Debug || [[#CorruptSaveDataForDebug]]
| 0x14 || 0xC000000001000000 || SaveDataCorrupt0 || [[#CorruptSaveDataFileSystem]], [[#CorruptSaveDataFileSystemBySaveDataSpaceId]]
|-
|-
| 0x15 || 0x8000000001000060 ([1.0.0-4.1.0] 0xC000000002000000) || ||
| 0x15 || 0x8000000001000060 ([1.0.0-4.1.0] 0xC000000002000000) || SaveDataCorrupt1 || [[#CorruptSaveDataFileSystem]], [[#CorruptSaveDataFileSystemBySaveDataSpaceId]]
|-
|-
| [2.0.0+] 0x16 || 0x8000000000000060 ([1.0.0-4.1.0] 0x8000000004000000) || ||  
| [2.0.0+] 0x16 || 0x8000000000000060 ([1.0.0-4.1.0] 0x8000000004000000) || SaveDataVerify || [[#VerifySaveDataFileSystem]], [[#VerifySaveDataFileSystemBySaveDataSpaceId]]
|-
|-
| [2.0.0+] 0x17 || 0xC000000002000000 ([1.0.0-4.1.0] 0x8000000008000000) || SaveData_SystemManagement || [[#CreateSaveDataFileSystem]], [[#OpenSaveDataFileSystem]], [[#SetSaveDataRootPath]]
| [2.0.0+] 0x17 || 0xC000000002000000 ([1.0.0-4.1.0] 0x8000000008000000) || SaveData_SystemManagement || [[#CreateSaveDataFileSystem]], [[#OpenSaveDataFileSystem]], [[#SetSaveDataRootPath]]
|-
|-
| [2.0.0+] 0x18 || 0x8000000004000000 ([1.0.0-4.1.0] 0x8000000010000000) || ||  
| [2.0.0+] 0x18 || 0x8000000004000000 ([1.0.0-4.1.0] 0x8000000010000000) || SdCardFormat || [[#FormatSdCardFileSystem]]
|-
|-
| [2.0.0+] 0x19 || 0x8000000008000000 ([1.0.0-4.1.0] 0x8000000000000800) || ||  
| [2.0.0+] 0x19 || 0x8000000008000000 ([1.0.0-4.1.0] 0x8000000000000800) || RightsId || [[#GetRightsId]], [[#GetRightsIdAndKeyGenerationByPath]], [[#GetRightsIdByPath]]
|-
|-
| [2.0.0+] 0x1A || 0x8000000010000000 ([1.0.0-4.1.0] 0x8000000000004020) || ||  
| [2.0.0+] 0x1A || 0x8000000010000000 ([1.0.0-4.1.0] 0x8000000000004020) || ExternalKey || [[#RegisterExternalKey]], [[#UnregisterAllExternalKey]]
|-
|-
| [3.0.0+] 0x1B || 0x8000000000000800 ([1.0.0-4.1.0] 0x8000000000002020) || ||  
| [3.0.0+] 0x1B || 0x8000000000000800 ([1.0.0-4.1.0] 0x8000000000002020) || SdCardEncryptionSeed || [[#SetSdCardEncryptionSeed]]
|-
|-
| [3.0.0+] 0x1C || 0x8000000000004020 ([1.0.0-4.1.0] 0x8000000000000028) || ||  
| [3.0.0+] 0x1C || 0x8000000000004020 ([1.0.0-4.1.0] 0x8000000000000028) || SaveDataExtraData_Write0 || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraData2]]
|-
|-
| [4.0.0+] 0x1D || 0x8000000000000000 ([1.0.0-4.1.0] 0x8000000020000000) || ||  
| [4.0.0+] 0x1D || 0x8000000000000000 ([1.0.0-4.1.0] 0x8000000020000000) || SaveDataExtraData_Write1 || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraData2]]
|-
|-
| [4.0.0+] 0x1E || 0x8000000000002020 ([1.0.0-4.1.0] 0x8000000040000000) || ||  
| [4.0.0+] 0x1E || 0x8000000000002020 ([1.0.0-4.1.0] 0x8000000040000000) || SaveDataExtend0 || [[#ExtendSaveDataFileSystem]]
|-
|-
| [4.0.0+] 0x1F || 0x8000000000000028 ([1.0.0-4.1.0] 0x8000000000000000) || ||  
| [4.0.0+] 0x1F || 0x8000000000000028 ([1.0.0-4.1.0] 0x8000000000000000) || SaveDataExtend1 || [[#ExtendSaveDataFileSystem]]
|-
|-
| [4.0.0+] 0x20 || 0x8000000020000000 ([1.0.0-4.1.0] 0x8000000000000000) || ||  
| [4.0.0+] 0x20 || 0x8000000020000000 ([1.0.0-4.1.0] 0x8000000000000000) || UpdatePartitionRegister || [[#RegisterUpdatePartition]]
|-
|-
| [5.0.0+] 0x21 || 0x8000000040000000 || ||  
| [5.0.0+] 0x21 || 0x8000000040000000 || SaveDataTransfer || [[#OpenSaveDataTransferManager]]
|-
|-
| [5.0.0+] 0x22 || 0x0000000080000002 || ||  
| [5.0.0+] 0x22 || 0x0000000080000002 || SaveDataTransferVersion2 || [[#OpenSaveDataTransferManagerVersion2]]
|-
|-
| [5.0.0+] 0x23 || 0x8000000000000000 || ||  
| [5.0.0+] 0x23 || 0x8000000000000000 || MmcPatrol || [[#SuspendMmcPatrol]], [[#ResumeMmcPatrol]]
|-
|-
| [5.0.0+] 0x24 || 0x8000000000000000 || ||  
| [5.0.0+] 0x24 || 0x8000000000000000 || SaveDataTransferKey || [[#OverrideSaveDataTransferTokenSignVerificationKey]]
|-
|-
| [5.0.0+] 0x25 || 0x8000000080200000 || ||  
| [5.0.0+] 0x25 || 0x8000000080200000 || SdCardDetectionEventNotifier || [[#OpenSdCardDetectionEventNotifier]]
|-
|-
| [5.0.0+] 0x26 || 0x8000000080000110 || ||  
| [5.0.0+] 0x26 || 0x8000000080000110 || GameCardDetectionEventNotifier || [[#OpenGameCardDetectionEventNotifier]]
|-
|-
| [5.0.0+] 0x27 || 0x8000000000100008 || ||  
| [5.0.0+] 0x27 || 0x8000000000100008 || SystemDataUpdateEventNotifier || [[#OpenSystemDataUpdateEventNotifier]]
|-
|-
| [5.0.0+] 0x28 || 0x8000000080010000 || ||  
| [5.0.0+] 0x28 || 0x8000000080010000 || SystemDataUpdateEventNotify || [[#NotifySystemDataUpdateEvent]]
|-
|-
| [5.0.0+] 0x29 || 0x0000000080000001 || ||  
| [5.0.0+] 0x29 || 0x0000000080000001 || AccessFailureResolver || [[#OpenAccessFailureResolver]]
|-
|-
| [5.0.0+] 0x2A || 0x0000000080000001 || ||  
| [5.0.0+] 0x2A || 0x0000000080000001 || AccessFailureDetectionEvent || [[#GetAccessFailureDetectionEvent]]
|-
|-
| [5.0.0+] 0x2B || 0x0000000080000001 || ||
| [5.0.0+] 0x2B || 0x0000000080000001 || AccessFailureDetected || [[#IsAccessFailureDetected]]
|-
|-
| [5.0.0+] 0x2C || 0x0000000080000001 || ||  
| [5.0.0+] 0x2C || 0x0000000080000001 || AccessFailureResolve || [[#ResolveAccessFailure]]
|-
|-
| [5.0.0+] 0x2D || 0x0000000080000001 || ||  
| [5.0.0+] 0x2D || 0x0000000080000001 || AccessFailureAbandon || [[#AbandonAccessFailure]]
|-
|-
| [5.0.0+] 0x2E || 0x8000000040000000 || ||  
| [5.0.0+] 0x2E || 0x8000000040000000 || SaveDataInternalStorageTotalSize || [[#QuerySaveDataInternalStorageTotalSize]]
|-
|-
| [5.0.0+] 0x2F || 0x8000000080200000 || ||
| [5.0.0+] 0x2F || 0x8000000080200000 || SdCardAccessibility || [[#SetSdCardAccessibility]]
|-
|-
| [5.1.0+] 0x30 || 0x8000000080080000 || ||   
| [5.1.0+] 0x30 || 0x8000000080080000 || ||