Filesystem services: Difference between revisions
No edit summary |
|||
Line 395: | Line 395: | ||
| 0x0 || 0x8000000000000080 || CanInvalidateBisCache || [[#InvalidateBisCache]] | | 0x0 || 0x8000000000000080 || CanInvalidateBisCache || [[#InvalidateBisCache]] | ||
|- | |- | ||
| 0x1 || 0x8000000000000080 || CanEraseMmc || | | 0x1 || 0x8000000000000080 || CanEraseMmc || EraseMmc | ||
|- | |- | ||
| 0x2 || 0x8000000000000010 || CanGetGameCardDeviceCertificate || | | 0x2 || 0x8000000000000010 || CanGetGameCardDeviceCertificate || GetGameCardDeviceCertificate | ||
|- | |- | ||
| 0x3 || 0x8000000000000010 || CanGetGameCardIdSet || | | 0x3 || 0x8000000000000010 || CanGetGameCardIdSet || GetGameCardIdSet | ||
|- | |- | ||
| 0x4 || 0x8000000000000200 || CanFinalizeGameCardDriver || | | 0x4 || 0x8000000000000200 || CanFinalizeGameCardDriver || FinalizeGameCardDriver | ||
|- | |- | ||
| 0x5 || 0x8000000000000200 || CanGetGameCardAsicInfo || | | 0x5 || 0x8000000000000200 || CanGetGameCardAsicInfo || GetGameCardAsicInfo | ||
|- | |- | ||
| 0x6 || 0x8000000000002020 || CanCreateSaveData || [[#CreateSaveDataFileSystem]] | | 0x6 || 0x8000000000002020 || CanCreateSaveData || [[#CreateSaveDataFileSystem]] | ||
|- | |- | ||
| 0x7 || 0x8000000000000060 || CanDeleteSaveData || [[#DeleteSaveDataFileSystem]], | | 0x7 || 0x8000000000000060 || CanDeleteSaveData || [[#DeleteSaveDataFileSystem]], RegisterSaveDataFileSystemAtomicDeletion | ||
|- | |- | ||
| 0x8 || 0x8000000000000028 || CanCreateSystemSaveData || | | 0x8 || 0x8000000000000028 || CanCreateSystemSaveData || CreateSaveDataFileSystemBySystemSaveDataId | ||
|- | |- | ||
| 0x9 || 0x8000000000000020 || CanCreateOthersSystemSaveData || | | 0x9 || 0x8000000000000020 || CanCreateOthersSystemSaveData || CreateSaveDataFileSystemBySystemSaveDataId | ||
|- | |- | ||
| 0xA || 0x8000000000004028 || CanDeleteSystemSaveData || [[#DeleteSaveDataFileSystem]], | | 0xA || 0x8000000000004028 || CanDeleteSystemSaveData || [[#DeleteSaveDataFileSystem]], RegisterSaveDataFileSystemAtomicDeletion | ||
|- | |- | ||
| 0xB || 0x8000000000000060 || CanOpenSaveDataInfoReader || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]] | | 0xB || 0x8000000000000060 || CanOpenSaveDataInfoReader || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]] | ||
Line 419: | Line 419: | ||
| 0xC || 0x8000000000004020 || CanOpenSaveDataInfoReaderForSystem || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]] | | 0xC || 0x8000000000004020 || CanOpenSaveDataInfoReaderForSystem || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]] | ||
|- | |- | ||
| 0xD || 0x8000000000000040<br/>([1.0.0-5.1.0] 0x8000000000020000) || CanOpenSaveDataInfoReaderForInternal || OpenSaveDataInfoReaderWithFilter | | 0xD || 0x8000000000000040<br/>([1.0.0-5.1.0] 0x8000000000020000) || CanOpenSaveDataInfoReaderForInternal || [[#OpenSaveDataInfoReaderWithFilter]] | ||
|- | |- | ||
| 0xE || 0x8000000000020000<br/>([1.0.0-5.1.0] 0x8000000000000400) || CanOpenSaveDataMetaFile || | | 0xE || 0x8000000000020000<br/>([1.0.0-5.1.0] 0x8000000000000400) || CanOpenSaveDataMetaFile || OpenSaveDataMetaFile | ||
|- | |- | ||
| 0xF || 0x8000000000000400<br/>([1.0.0-5.1.0] 0x8000000000004060) || CanSetCurrentPosixTime || | | 0xF || 0x8000000000000400<br/>([1.0.0-5.1.0] 0x8000000000004060) || CanSetCurrentPosixTime || SetCurrentPosixTime, SetCurrentPosixTimeWithTimeDifference | ||
|- | |- | ||
| 0x10 || 0x8000000000004060<br/>([1.0.0-5.1.0] 0x8000000000080000) || CanReadSaveDataFileSystemExtraData || [[#ReadSaveDataFileSystemExtraData]] | | 0x10 || 0x8000000000004060<br/>([1.0.0-5.1.0] 0x8000000000080000) || CanReadSaveDataFileSystemExtraData || [[#ReadSaveDataFileSystemExtraData]] | ||
|- | |- | ||
| 0x11 || 0x8000000000080000 || CanSetGlobalAccessLogMode || [[# | | 0x11 || 0x8000000000080000 || CanSetGlobalAccessLogMode || [[#SetGlobalAccessLogMode]] | ||
|- | |- | ||
| 0x12 || 0x8000000000080000<br/>([1.0.0-5.1.0] Invalid) || CanSetSpeedEmulationMode || | | 0x12 || 0x8000000000080000<br/>([1.0.0-5.1.0] Invalid) || CanSetSpeedEmulationMode || SetSpeedEmulationMode | ||
|- | |- | ||
| 0x13 || Invalid<br/>([1.0.0-5.1.0] 0xC000000000800000) || || | | 0x13 || Invalid<br/>([1.0.0-5.1.0] 0xC000000000800000) || || | ||
|- | |- | ||
| 0x14 || 0xC000000000800000<br/>([1.0.0-5.1.0] 0xC000000001000000) || CanFillBis || | | 0x14 || 0xC000000000800000<br/>([1.0.0-5.1.0] 0xC000000001000000) || CanFillBis || CreatePaddingFile, DeleteAllPaddingFiles | ||
|- | |- | ||
| 0x15 || 0xC000000001000000<br/>([5.0.0-5.1.0] 0x8000000001000060)<br/>([1.0.0-4.1.0] 0xC000000002000000) || CanCorruptSaveData || | | 0x15 || 0xC000000001000000<br/>([5.0.0-5.1.0] 0x8000000001000060)<br/>([1.0.0-4.1.0] 0xC000000002000000) || CanCorruptSaveData || CorruptSaveDataFileSystem, CorruptSaveDataFileSystemBySaveDataSpaceId | ||
|- | |- | ||
| [2.0.0+] 0x16 || 0x8000000001000060<br/>([5.0.0-5.1.0] 0x8000000000000060)<br/>([ | | [2.0.0+] 0x16 || 0x8000000001000060<br/>([5.0.0-5.1.0] 0x8000000000000060)<br/>([2.0.0-4.1.0] 0x8000000004000000) || CanCorruptSystemSaveData || CorruptSaveDataFileSystem, CorruptSaveDataFileSystemBySaveDataSpaceId | ||
|- | |- | ||
| [2.0.0+] 0x17 || 0x8000000000000060<br/>([5.0.0-5.1.0] 0xC000000002000000)<br/>([ | | [2.0.0+] 0x17 || 0x8000000000000060<br/>([5.0.0-5.1.0] 0xC000000002000000)<br/>([2.0.0-4.1.0] 0x8000000008000000) || CanVerifySaveData || [[#VerifySaveDataFileSystem]], VerifySaveDataFileSystemBySaveDataSpaceId | ||
|- | |- | ||
| [2.0.0+] 0x18 || 0xC000000002000000<br/>([5.0.0-5.1.0] 0x8000000004000000)<br/>([ | | [2.0.0+] 0x18 || 0xC000000002000000<br/>([5.0.0-5.1.0] 0x8000000004000000)<br/>([2.0.0-4.1.0] 0x8000000010000000) || CanDebugSaveData || [[#CreateSaveDataFileSystem]], [[#OpenSaveDataFileSystem]], [[#SetSaveDataRootPath]] | ||
|- | |- | ||
| [2.0.0+] 0x19 || 0x8000000004000000<br/>([5.0.0-5.1.0] 0x8000000008000000)<br/>([ | | [2.0.0+] 0x19 || 0x8000000004000000<br/>([5.0.0-5.1.0] 0x8000000008000000)<br/>([2.0.0-4.1.0] 0x8000000000000800) || CanFormatSdCard || FormatSdCardFileSystem | ||
|- | |- | ||
| [2.0.0+] 0x1A || 0x8000000008000000<br/>([5.0.0-5.1.0] 0x8000000010000000)<br/>([ | | [2.0.0+] 0x1A || 0x8000000008000000<br/>([5.0.0-5.1.0] 0x8000000010000000)<br/>([2.0.0-4.1.0] 0x8000000000004020) || CanGetRightsId || GetRightsId, GetRightsIdAndKeyGenerationByPath, GetRightsIdByPath | ||
|- | |- | ||
| [3.0.0+] 0x1B || 0x8000000010000000<br/>([5.0.0-5.1.0] 0x8000000000000800)<br/>([ | | [3.0.0+] 0x1B || 0x8000000010000000<br/>([5.0.0-5.1.0] 0x8000000000000800)<br/>([3.0.0-4.1.0] 0x8000000000002020) || CanRegisterExternalKey || RegisterExternalKey, UnregisterAllExternalKey | ||
|- | |- | ||
| [3.0.0+] 0x1C || 0x8000000000000800<br/>([5.0.0-5.1.0] 0x8000000000004020)<br/>([ | | [3.0.0+] 0x1C || 0x8000000000000800<br/>([5.0.0-5.1.0] 0x8000000000004020)<br/>([3.0.0-4.1.0] 0x8000000000000028) || CanSetEncryptionSeed || [[#SetSdCardEncryptionSeed]] | ||
|- | |- | ||
| [4.0.0+] 0x1D || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000000)<br/>([ | | [4.0.0+] 0x1D || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000000)<br/>([4.0.0-4.1.0] 0x8000000020000000) || CanWriteSaveDataFileSystemExtraDataTimeStamp || WriteSaveDataFileSystemExtraData, WriteSaveDataFileSystemExtraDataWithMask | ||
|- | |- | ||
| [4.0.0+] 0x1E || 0x8000000000004020<br/>([5.0.0-5.1.0] 0x8000000000002020)<br/>([ | | [4.0.0+] 0x1E || 0x8000000000004020<br/>([5.0.0-5.1.0] 0x8000000000002020)<br/>([4.0.0-4.1.0] 0x8000000040000000) || CanWriteSaveDataFileSystemExtraDataFlags || WriteSaveDataFileSystemExtraData, WriteSaveDataFileSystemExtraDataWithMask | ||
|- | |- | ||
| [4.0.0+] 0x1F || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000028)<br/>([ | | [4.0.0+] 0x1F || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000028)<br/>([4.0.0-4.1.0] 0x8000000000000000) || CanWriteSaveDataFileSystemExtraDataCommitId || WriteSaveDataFileSystemExtraData, WriteSaveDataFileSystemExtraDataWithMask | ||
|- | |- | ||
| [4.0.0+] 0x20 || 0x8000000000000000<br/>([5.0.0-5.1.0] 0x8000000020000000)<br/>([ | | [4.0.0+] 0x20 || 0x8000000000000000<br/>([5.0.0-5.1.0] 0x8000000020000000)<br/>([4.0.0-4.1.0] 0x8000000000000000) || CanWriteSaveDataFileSystemExtraDataAll || WriteSaveDataFileSystemExtraData, WriteSaveDataFileSystemExtraDataWithMask | ||
|- | |- | ||
| [5.0.0+] 0x21 || 0x8000000000002020<br/>([1.0.0-5.1.0] 0x8000000040000000) || CanExtendSaveData || | | [5.0.0+] 0x21 || 0x8000000000002020<br/>([1.0.0-5.1.0] 0x8000000040000000) || CanExtendSaveData || ExtendSaveDataFileSystem | ||
|- | |- | ||
| [5.0.0+] 0x22 || 0x8000000000000028<br/>([1.0.0-5.1.0] 0x0000000080000002) || CanExtendSystemSaveData || | | [5.0.0+] 0x22 || 0x8000000000000028<br/>([1.0.0-5.1.0] 0x0000000080000002) || CanExtendSystemSaveData || ExtendSaveDataFileSystem | ||
|- | |- | ||
| [5.0.0+] 0x23 || 0x8000000020000000<br/>([1.0.0-5.1.0] 0x8000000000000000) || CanRegisterUpdatePartition || | | [5.0.0+] 0x23 || 0x8000000020000000<br/>([1.0.0-5.1.0] 0x8000000000000000) || CanRegisterUpdatePartition || RegisterUpdatePartition | ||
|- | |- | ||
| [5.0.0+] 0x24 || 0x8000000040000000<br/>([1.0.0-5.1.0] 0x8000000000000000) || CanOpenSaveDataTransferManager || [[#OpenSaveDataTransferManager]] | | [5.0.0+] 0x24 || 0x8000000040000000<br/>([1.0.0-5.1.0] 0x8000000000000000) || CanOpenSaveDataTransferManager || [[#OpenSaveDataTransferManager]] | ||
Line 469: | Line 469: | ||
| [5.0.0+] 0x25 || 0x8000000200000000<br/>([1.0.0-5.1.0] 0x8000000080200000) || CanOpenSaveDataTransferManagerVersion2 || [[#OpenSaveDataTransferManagerVersion2]] | | [5.0.0+] 0x25 || 0x8000000200000000<br/>([1.0.0-5.1.0] 0x8000000080200000) || CanOpenSaveDataTransferManagerVersion2 || [[#OpenSaveDataTransferManagerVersion2]] | ||
|- | |- | ||
| [5.0.0+] 0x26 || 0x8000000200002000<br/>([ | | [5.0.0+] 0x26 || 0x8000000200000000<br/>([6.0.0-8.1.0] 0x8000000200002000)<br/>([5.0.0-5.1.0] 0x8000000080000110) || || OpenSaveDataTransferManagerForSaveDataRepair | ||
|- | |- | ||
| [5.0.0+] 0x27 || 0x8000000240002000 <br/>([6.0.0-7.0.1] 0x8000000200002000)<br/>([ | | [5.0.0+] 0x27 || 0x8000000000000000<br/>([8.0.0-8.1.0] 0x8000000240002000)<br/>([6.0.0-7.0.1] 0x8000000200002000)<br/>([5.0.0-5.1.0] 0x8000000000100008) || || OpenSaveDataTransferManagerForSaveDataRepair | ||
|- | |- | ||
| [5.0.0+] 0x28 || 0x8000000000000000<br/>([ | | [5.0.0+] 0x28 || 0x8000000200002000<br/>([6.0.0-8.1.0] 0x8000000000000000)<br/>([5.0.0-5.1.0] 0x8000000080010000) || CanOpenOpenSaveDataTransferProhibiter || [[#OpenSaveDataTransferProhibiter]] | ||
|- | |- | ||
| [5.0.0+] 0x29 || 0x8000000000000000<br/>([ | | [5.0.0+] 0x29 || 0x8000000240002000<br/>([6.0.0-8.1.0] 0x8000000000000000)<br/>([5.0.0-5.1.0] 0x0000000080000001) || CanListAccessibleSaveDataOwnerId || [[#ListAccessibleSaveDataOwnerId]] | ||
|- | |- | ||
| [5.0.0+] 0x2A || 0x8000000080200000<br/>([ | | [5.0.0+] 0x2A || 0x8000000000000000<br/>([6.0.0-8.1.0] 0x8000000080200000)<br/>([5.0.0-5.1.0] 0x0000000080000001) || CanControlMmcPatrol || SuspendMmcPatrol, ResumeMmcPatrol | ||
|- | |- | ||
| [5.0.0+] 0x2B || 0x8000000080000110<br/>([ | | [5.0.0+] 0x2B || 0x8000000000000000<br/>([6.0.0-8.1.0] 0x8000000080000110)<br/>([5.0.0-5.1.0] 0x0000000080000001) || CanOverrideSaveDataTransferTokenSignVerificationKey || OverrideSaveDataTransferTokenSignVerificationKey | ||
|- | |- | ||
| [5.0.0+] 0x2C || 0x8000000000100008<br/>([ | | [5.0.0+] 0x2C || 0x8000000080200000<br/>([6.0.0-8.1.0] 0x8000000000100008)<br/>([5.0.0-5.1.0] 0x0000000080000001) || CanOpenSdCardDetectionEventNotifier || [[#OpenSdCardDetectionEventNotifier]] | ||
|- | |- | ||
| [5.0.0+] 0x2D || 0x8000000000010000<br/>([ | | [5.0.0+] 0x2D || 0x8000000080000110<br/>([6.0.0-8.1.0] 0x8000000000010000)<br/>([5.0.0-5.1.0] 0x0000000080000001) || CanOpenGameCardDetectionEventNotifier || [[#OpenGameCardDetectionEventNotifier]] | ||
|- | |- | ||
| [5.0.0+] 0x2E || 0x8000000100000000<br/>([ | | [5.0.0+] 0x2E || 0x8000000000100008<br/>([6.0.0-8.1.0] 0x8000000100000000)<br/>([5.0.0-5.1.0] 0x8000000040000000) || CanOpenSystemDataUpdateEventNotifier || OpenSystemDataUpdateEventNotifier | ||
|- | |- | ||
| [5.0.0+] 0x2F || 0x8000000100000000<br/>([ | | [5.0.0+] 0x2F || 0x8000000000010000<br/>([6.0.0-8.1.0] 0x8000000100000000)<br/>([5.0.0-5.1.0] 0x8000000080200000) || CanNotifySystemDataUpdateEvent || NotifySystemDataUpdateEvent | ||
|- | |- | ||
| [5.1.0+] 0x30 || 0x8000000100000000<br/>([1.0.0 | | [5.1.0+] 0x30 || 0x8000000100000000<br/>([5.1.0-6.0.0] 0x8000000080080000) || CanOpenAccessFailureDetectionEventNotifier || [[#OpenAccessFailureDetectionEventNotifier]] | ||
|- | |- | ||
| [6.0.0+] 0x31 || 0x8000000100000000 || | | [6.0.0+] 0x31 || 0x8000000100000000 || CanGetAccessFailureDetectionEvent || GetAccessFailureDetectionEvent | ||
|- | |- | ||
| [6.0.0+] 0x32 || 0x8000000100000000 || | | [6.0.0+] 0x32 || 0x8000000100000000 || CanIsAccessFailureDetected || IsAccessFailureDetected | ||
|- | |- | ||
| [6.0.0+] 0x33 || 0x8000000040000000 || | | [6.0.0+] 0x33 || 0x8000000100000000<br/>([6.0.0-8.1.0] 0x8000000040000000) || CanResolveAccessFailure || ResolveAccessFailure | ||
|- | |- | ||
| [6.0.0+] 0x34 || 0x8000000200000020 || | | [6.0.0+] 0x34 || 0x8000000100000000<br/>([6.0.0-8.1.0] 0x8000000200000020) || CanAbandonAccessFailure || AbandonAccessFailure | ||
|- | |- | ||
| [6.0.0+] 0x35 || 0x8000000000200000 || | | [6.0.0+] 0x35 || 0x8000000040000000<br/>([6.0.0-8.1.0] 0x8000000000200000) || CanQuerySaveDataInternalStorageTotalSize || QuerySaveDataInternalStorageTotalSize | ||
|- | |- | ||
| [6.0.0+] 0x36 || 0x4000000000000000 || | | [6.0.0+] 0x36 || 0x8000000200000020<br/>([6.0.0-8.1.0] 0x4000000000000000) || CanGetSaveDataCommitId || [[#GetSaveDataCommitId]] | ||
|- | |- | ||
| [6.0.0+] 0x37 || 0x8000000000000000<br/>([6.0.0-6.2.0] 0x8000000000080000) || | | [6.0.0+] 0x37 || 0x8000000000200000<br/>([7.0.0-8.1.0] 0x8000000000000000)<br/>([6.0.0-6.2.0] 0x8000000000080000) || CanSetSdCardAccessibility || SetSdCardAccessibility | ||
|- | |- | ||
| [6.0.0+] 0x38 || 0x8000000400000000<br/>([6.0.0-6.2.0] 0x8000000000000000) || | | [6.0.0+] 0x38 || 0x4000000000000000<br/>([7.0.0-8.1.0] 0x8000000400000000)<br/>([6.0.0-6.2.0] 0x8000000000000000) || CanSimulateDevice || SimulateDeviceDetectionEvent, SetSimulationEvent, ClearSimulationEvent | ||
|- | |- | ||
| [8.0.0+] 0x39 || 0x8000000000000010 || CanChallengeCardExistence || ChallengeCardExistence | | [8.0.0+] 0x39 || 0x8000000000000000<br/>([8.0.0-8.1.0] 0x8000000000000010) || CanCreateSaveDataWithHashSalt || [[#CreateSaveDataFileSystem]], [[#CreateSaveDataFileSystemWithHashSalt]] | ||
|- | |||
| [9.0.0+] 0x3A || 0x8000000400000000 || CanRegisterProgramIndexMapInfo || RegisterProgramIndexMapInfo | |||
|- | |||
| [9.0.0+] 0x3B || 0x8000000000000010 || CanChallengeCardExistence || ChallengeCardExistence | |||
|- | |||
| [9.0.0+] 0x3C || 0x8000000800000000 || || [[#CreateSaveDataFileSystem]], CreateSaveDataFileSystemWithHashSalt | |||
|- | |||
| [9.0.0+] 0x3D || 0x8000000800000000 || || [[#ReadSaveDataFileSystemExtraData]] | |||
|- | |||
| [9.0.0+] 0x3E || 0x8000000800000000 || || ExtendSaveDataFileSystem | |||
|- | |||
| [9.0.0+] 0x3F || 0x8000000800000000 || || [[#OpenSaveDataTransferProhibiter]] | |||
|- | |||
| [9.0.0+] 0x40 || 0x8000000800000000 || || [[#FindSaveDataWithFilter]] | |||
|} | |} | ||