Line 163: |
Line 163: |
| |- | | |- |
| | 86 || [10.0.0+] [[#OpenSaveDataMover]] | | | 86 || [10.0.0+] [[#OpenSaveDataMover]] |
| + | |- |
| + | | 87 || [11.0.0+] [[#OpenSaveDataTransferManagerForRepair]] |
| |- | | |- |
| | 100 || OpenImageDirectoryFileSystem | | | 100 || OpenImageDirectoryFileSystem |
| + | |- |
| + | | 101 || [11.0.0+] OpenBaseFileSystem |
| |- | | |- |
| | 110 || [[#OpenContentStorageFileSystem]] | | | 110 || [[#OpenContentStorageFileSystem]] |
Line 282: |
Line 286: |
| | 1013 || [9.0.0+] UnsetSaveDataRootPath | | | 1013 || [9.0.0+] UnsetSaveDataRootPath |
| |- | | |- |
− | | 1014 || [10.0.0+] OutputMultiProgramTagAccessLog | + | | 1014 || [10.0.0-10.2.0] OutputMultiProgramTagAccessLog |
| + | |- |
| + | | 1016 || [11.0.0+] FlushAccessLogOnSdCard |
| + | |- |
| + | | 1017 || [11.0.0+] OutputApplicationInfoAccessLog |
| |- | | |- |
| | 1100 || [4.0.0+] OverrideSaveDataTransferTokenSignVerificationKey | | | 1100 || [4.0.0+] OverrideSaveDataTransferTokenSignVerificationKey |
Line 915: |
Line 923: |
| | ([9.0.0-9.2.0] 0x40) || || 0x8000000800000000 || | | | ([9.0.0-9.2.0] 0x40) || || 0x8000000800000000 || |
| |- | | |- |
− | | [9.0.0+] 0x40 || CanReadOwnSaveDataFileSystemExtraData || 0x8000000800000000 || [[#ReadSaveDataFileSystemExtraData]] | + | | ([10.0.0-10.1.1] 0x40) || || 0x8000000800000000 || |
| |- | | |- |
− | | [10.0.0+] 0x41 || CanExtendOwnSaveData || 0x8000000800000000 || ExtendSaveDataFileSystem | + | | [9.0.0+] 0x40 || CanDeleteOwnSaveData || 0x8000000800000000 || [[#DeleteSaveDataFileSystem]] |
| |- | | |- |
− | | [10.0.0+] 0x42 || CanOpenOwnSaveDataTransferProhibiter || 0x8000000800000000 || [[#OpenSaveDataTransferProhibiter]] | + | | ([9.0.0-10.1.1] 0x41) || || 0x8000000800000000 || |
| |- | | |- |
− | | [10.0.0+] 0x43 || CanFindOwnSaveDataWithFilter || 0x8000000800000000 || [[#FindSaveDataWithFilter]] | + | | [9.0.0+] 0x41 || CanReadOwnSaveDataFileSystemExtraData || 0x8000000800000000 || [[#ReadSaveDataFileSystemExtraData]] |
| + | |- |
| + | | ([10.0.0-10.1.1] 0x42) || || 0x8000000800000000 || |
| + | |- |
| + | | [10.0.0+] 0x42 || CanExtendOwnSaveData || 0x8000000800000000 || ExtendSaveDataFileSystem |
| + | |- |
| + | | ([10.0.0-10.1.1] 0x43) || || 0x8000000800000000 || |
| + | |- |
| + | | [10.0.0+] 0x43 || CanOpenOwnSaveDataTransferProhibiter || 0x8000000800000000 || [[#OpenSaveDataTransferProhibiter]] |
| + | |- |
| + | | [10.2.0+] 0x44 || CanFindOwnSaveDataWithFilter || 0x8000000800000000 || [[#FindSaveDataWithFilter]] |
| |} | | |} |
| | | |
Line 969: |
Line 987: |
| | | |
| == CreateSaveDataFileSystem == | | == CreateSaveDataFileSystem == |
− | Takes a 0x40-byte [[#SaveDataAttribute]], a 0x40-byte [[#SaveDataCreationInfo]], and a 0x10-byte input struct. | + | Takes a 0x40-byte [[#SaveDataAttribute]], a 0x40-byte [[#SaveDataCreationInfo]], and a 0x10-byte input struct which governs creation of a saveMeta file. |
| | | |
− | Only the first 0x5-bytes in the 0x10-byte struct are initialized: all-zero when automatically creating savedata during savecommon mount by official user-processes. In the dedicated save-creation code in official user-processes: +0 u32 = 0x40060, +4 u8 = 1. | + | Only the first 0x5-bytes in the 0x10-byte struct are initialized: all-zero when automatically creating savedata during savecommon mount by official user-processes. In the dedicated save-creation code in official user-processes: +0 u32 = 0x40060 meta file size, +4 u8 = 1 meta index which dictates meta file name. |
| | | |
− | Creates regular savedata. | + | Creates non-system savedata. |
| | | |
| == CreateSaveDataFileSystemBySystemSaveDataId == | | == CreateSaveDataFileSystemBySystemSaveDataId == |
Line 1,047: |
Line 1,065: |
| == OpenSaveDataMover == | | == OpenSaveDataMover == |
| Takes 2 input [[#SaveDataSpaceId]], an input u64 size and a TransferMemory handle. Returns an output [[#ISaveDataMover]]. | | Takes 2 input [[#SaveDataSpaceId]], an input u64 size and a TransferMemory handle. Returns an output [[#ISaveDataMover]]. |
| + | |
| + | == OpenSaveDataTransferManagerForRepair == |
| + | No input, returns an output [[#ISaveDataTransferManagerForRepair]]. |
| | | |
| == OpenContentStorageFileSystem == | | == OpenContentStorageFileSystem == |
Line 1,594: |
Line 1,615: |
| == Cancel == | | == Cancel == |
| No input/output. | | No input/output. |
| + | |
| + | = ISaveDataTransferManagerForRepair = |
| + | This is "nn::fssrv::sf::ISaveDataTransferManagerForRepair". |
| + | |
| + | This was added with [[11.0.0]]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 80 || [[#OpenSaveDataExporter]] |
| + | |- |
| + | | 90 || [[#OpenSaveDataImporter]] |
| + | |} |
| + | |
| + | == OpenSaveDataExporter == |
| + | Takes a total of 0x10-bytes of input, returns an [[#ISaveDataDivisionExporter]]. |
| + | |
| + | == OpenSaveDataImporter == |
| + | Takes 1-byte of input, a type-0x5 input buffer, returns an [[#ISaveDataDivisionImporter]]. |
| | | |
| = ISaveDataExporter = | | = ISaveDataExporter = |
Line 1,693: |
Line 1,734: |
| |- | | |- |
| | 70 || [10.0.0+] DecryptAndVerifyInitialData | | | 70 || [10.0.0+] DecryptAndVerifyInitialData |
| + | |- |
| + | | 80 || [11.0.0+] DecryptoAndVerifyPortContext |
| |} | | |} |
| | | |
Line 1,820: |
Line 1,863: |
| |- | | |- |
| | 36 || [6.0.0+] [[#SuspendImport]] | | | 36 || [6.0.0+] [[#SuspendImport]] |
| + | |- |
| + | | 37 || [11.0.0+] FinalizeImportWithoutSwap |
| |- | | |- |
| | 48 || [[#OpenSaveDataChunkImporter]] | | | 48 || [[#OpenSaveDataChunkImporter]] |