Filesystem services PXI: Difference between revisions
No edit summary |
TimmSkiller (talk | contribs) Update HasFile/HasDirectory |
||
(18 intermediate revisions by 6 users not shown) | |||
Line 3: | Line 3: | ||
|- | |- | ||
! Command Header, starting with [[3.0.0-5]] | ! Command Header, starting with [[3.0.0-5]] | ||
! Available since system version | ! Available since system version | ||
! Description | ! Description | ||
Line 237: | Line 12: | ||
| 0x00020142 | | 0x00020142 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| DeleteFile | | [[FSPXI:DeleteFile|DeleteFile]] | ||
|- | |- | ||
| 0x00030244 | | 0x00030244 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| RenameFile | | [[FSPXI:RenameFile|RenameFile]] | ||
|- | |- | ||
| 0x00040142 | | 0x00040142 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| DeleteDirectory | | [[FSPXI:DeleteDirectory|DeleteDirectory]] | ||
|- | |- | ||
| 0x00050202 | | 0x00050202 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CreateFile | | [[FSPXI:CreateFile|CreateFile]] | ||
|- | |- | ||
| 0x00060182 | | 0x00060182 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CreateDirectory | | [[FSPXI:CreateDirectory|CreateDirectory]] | ||
|- | |- | ||
| 0x00070244 | | 0x00070244 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| RenameDirectory | | [[FSPXI:RenameDirectory|RenameDirectory]] | ||
|- | |- | ||
| 0x00080102 | | 0x00080102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| OpenDirectory | | [[FSPXI:OpenDirectory|OpenDirectory]] | ||
|- | |- | ||
| 0x00090142 | | 0x00090142 | ||
Line 269: | Line 44: | ||
| 0x000A00C2 | | 0x000A00C2 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CalculateFileHashSHA256 | | [[FSPXI:CalculateFileHashSHA256|CalculateFileHashSHA256]] | ||
|- | |- | ||
| 0x000B0182 | | 0x000B0182 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| WriteFile | | [[FSPXI:WriteFile|WriteFile]] | ||
|- | |- | ||
| 0x000C0104 | | 0x000C0104 | ||
Line 285: | Line 60: | ||
| 0x000E0100 | | 0x000E0100 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| SetFileSize | | [[FSPXI:SetFileSize|SetFileSize]] | ||
|- | |- | ||
| 0x000F0080 | | 0x000F0080 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CloseFile | | [[FSPXI:CloseFile|CloseFile]] | ||
|- | |- | ||
| 0x001000C2 | | 0x001000C2 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| ReadDirectory | | [[FSPXI:ReadDirectory|ReadDirectory]] | ||
|- | |- | ||
| 0x00110080 | | 0x00110080 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CloseDirectory | | [[FSPXI:CloseDirectory|CloseDirectory]] | ||
|- | |- | ||
| 0x001200C2 | | 0x001200C2 | ||
Line 305: | Line 80: | ||
| 0x00130102 | | 0x00130102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:HasFile|HasFile]] | ||
|- | |- | ||
| 0x00140102 | | 0x00140102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:HasDirectory|HasDirectory]] | ||
|- | |- | ||
| | | 0x001500C0 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:CommitSaveData|CommitSaveData]] | ||
|- | |- | ||
| 0x00160080 | | 0x00160080 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CloseArchive | | [[FSPXI:CloseArchive|CloseArchive]] | ||
|- | |- | ||
| 0x00170080 | | 0x00170080 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:LockArchive|LockArchive]] (archivehandlelo, archivehandlehi) | ||
|- | |- | ||
| 0x00180000 | | 0x00180000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetCardType | | [[FSPXI:GetCardType|GetCardType]] | ||
|- | |- | ||
| 0x00190000 | | 0x00190000 | ||
Line 337: | Line 112: | ||
| 0x001B0000 | | 0x001B0000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetSdmcFatFsError | | [[FSPXI:GetSdmcFatFsError|GetSdmcFatFsError]] | ||
|- | |- | ||
| 0x001C0000 | | 0x001C0000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:IsSdmcDetected|IsSdmcDetected]] | ||
|- | |- | ||
| 0x001D0000 | | 0x001D0000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:IsSdmcWritable|IsSdmcWritable]] | ||
|- | |- | ||
| 0x001E0042 | | 0x001E0042 | ||
Line 357: | Line 132: | ||
| 0x00200000 | | 0x00200000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetSdmcSpeedInfo | | [[FSPXI:GetSdmcSpeedInfo|GetSdmcSpeedInfo]] | ||
|- | |- | ||
| 0x00210000 | | 0x00210000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetNandSpeedInfo | | [[FSPXI:GetNandSpeedInfo|GetNandSpeedInfo]] | ||
|- | |- | ||
| 0x00220042 | | 0x00220042 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetSdmcLog | | [[FSPXI:GetSdmcLog|GetSdmcLog]] | ||
|- | |- | ||
| 0x00230042 | | 0x00230042 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetNandLog | | [[FSPXI:GetNandLog|GetNandLog]] | ||
|- | |- | ||
| 0x00240000 | | 0x00240000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| ClearSdmcLog | | [[FSPXI:ClearSdmcLog|ClearSdmcLog]] | ||
|- | |- | ||
| 0x00250000 | | 0x00250000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| ClearNandLog | | [[FSPXI:ClearNandLog|ClearNandLog]] | ||
|- | |- | ||
| 0x00260000 | | 0x00260000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:CardSlotIsInserted|CardSlotIsInserted]] | ||
|- | |- | ||
| 0x00270000 | | 0x00270000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CardSlotPowerOn | | [[FSPXI:CardSlotPowerOn|CardSlotPowerOn]] | ||
|- | |- | ||
| 0x00280000 | | 0x00280000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CardSlotPowerOff | | [[FSPXI:CardSlotPowerOff|CardSlotPowerOff]] | ||
|- | |- | ||
| 0x00290000 | | 0x00290000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:CardSlotGetIFPowerStatus|CardSlotGetIFPowerStatus]] | ||
|- | |- | ||
| 0x002A0040 | | 0x002A0040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]] | | [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]] | ||
|- | |- | ||
| 0x002B0080 | | 0x002B0080 | ||
Line 421: | Line 196: | ||
| 0x003000C2 | | 0x003000C2 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| [[FSPXI: | | [[FSPXI:CardNorDirectRead_4xIO|CardNorDirectRead_4xIO]] | ||
|- | |- | ||
| 0x00310082 | | 0x00310082 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CardNorDirectCpuWriteWithoutVerify | | [[FSPXI:CardNorDirectCpuWriteWithoutVerify|CardNorDirectCpuWriteWithoutVerify]] | ||
|- | |- | ||
| 0x00320040 | | 0x00320040 | ||
Line 433: | Line 208: | ||
| 0x00330080 | | 0x00330080 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetProductInfo | | [[FSPXI:GetProductInfo|GetProductInfo]] | ||
|- | |- | ||
| 0x00340040 | | 0x00340040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| SetCardSpiBaudrate | | [[FSPXI:SetCardSpiBaudrate|SetCardSpiBaudrate]] | ||
|- | |- | ||
| 0x00350040 | | 0x00350040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| SetCardSpiBusMode | | [[FSPXI:SetCardSpiBusMode|SetCardSpiBusMode]] | ||
|- | |- | ||
| 0x00360040 | | 0x00360040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | | [[FSPXI:SendInitializeInfoTo9|SendInitializeInfoTo9]] | ||
|- | |- | ||
| | | 0x00370100 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CreateExtSaveData | | [[FSPXI:CreateExtSaveData|CreateExtSaveData]] | ||
|- | |- | ||
| | | 0x00380100 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| DeleteExtSaveData | | [[FSPXI:DeleteExtSaveData|DeleteExtSaveData]] | ||
|- | |- | ||
| | | 0x00390102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| EnumerateExtSaveData | | [[FSPXI:EnumerateExtSaveData|EnumerateExtSaveData]] | ||
|- | |- | ||
| 0x003A0100 | | 0x003A0100 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetSpecialContentIndex | | [[FSPXI:GetSpecialContentIndex|GetSpecialContentIndex]] | ||
|- | |- | ||
| 0x003B00C2 | | 0x003B00C2 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetLegacyRomHeader | | [[FSPXI:GetLegacyRomHeader|GetLegacyRomHeader]] | ||
|- | |- | ||
| | | 0x003C0102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| GetLegacyBannerData | | [[FSPXI:GetLegacyBannerData|GetLegacyBannerData]] | ||
|- | |- | ||
| | | 0x003D0040 | ||
| ? | | ? | ||
| [[FSPXI:FormatCardNorDevice|FormatCardNorDevice]] | |||
|- | |||
| 0x003E0000 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]] | |||
|- | |||
| 0x003F0040 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:DeleteAllExtSaveDataOnNand|DeleteAllExtSaveDataOnNand]] | |||
|- | |||
| 0x00400000 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]] | |||
|- | |||
| 0x00410000 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:CreateSeed|CreateSeed]] | |||
|- | |||
| 0x00420042 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]] | |||
|- | |||
| 0x00430040 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:GetArchiveResource|GetArchiveResource]] | |||
|- | |||
| 0x00440002 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]] | |||
|- | |||
| 0x00450002 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]] | |||
|- | |||
| 0x00460102 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:GetLegacySubBannerData|GetLegacySubBannerData]] | |||
|- | |||
| 0x00470042 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:GenerateRandomBytes|GenerateRandomBytes]] | |||
|- | |||
| 0x004800C2 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:GetFileLastModified|GetFileLastModified]] | |||
|- | |||
| 0x00490102 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:ReadSpecialFile|ReadSpecialFile]] | |||
|- | |||
| 0x004A0040 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:GetSpecialFileSize|GetSpecialFileSize]] | |||
|- | |||
| 0x004B0000 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:StartDeviceMoveAsSource|StartDeviceMoveAsSource]] | |||
|- | |||
| 0x004C0240 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:StartDeviceMoveAsDestination|StartDeviceMoveAsDestination]] | |||
|- | |||
| 0x004D01C4 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:ReadFileSHA256|ReadFileSHA256]] | |||
|- | |||
| 0x004E0204 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:WriteFileSHA256|WriteFileSHA256]] | |||
|- | |||
| 0x004F0080 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:SetCtrCardLatencyParameter|SetCtrCardLatencyParameter]] (u64) | |||
|- | |||
| 0x00500040 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:SetPriority|SetPriority]] | |||
|- | |||
| 0x00510040 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:SwitchCleanupInvalidSaveData|SwitchCleanupInvalidSaveData]] | |||
|- | |||
| 0x00520042 | |||
| [[3.0.0-5]] | |||
| [[FSPXI:EnumerateSystemSaveData|EnumerateSystemSaveData]] | |||
|- | |||
| 0x00530000 | |||
| [[3.0.0-5]] | |||
| Stubbed with [[4.0.0-7]]. | |||
|- | |||
| 0x00540000 | |||
| [[4.0.0-7]] | |||
| Stubbed with [[4.0.0-7]]. | |||
|- | |||
| 0x00550082 | |||
| [[4.0.0-7]] | |||
| [[FSPXI:ReadNandReport|ReadNandReport]] | |||
|- | |||
| 0x00560102 | |||
| [[9.6.0-24|9.6.0-X]] | |||
| ? | | ? | ||
|} | |||
= Pre 3.x = | |||
{| class="wikitable" border="1" | |||
|- | |||
! Command Header, prior to [[3.0.0-5]] | |||
! Available since system version | |||
! Description | |||
|- | |- | ||
| 0x003E.... | | 0x003E.... | ||
| ? | | ? | ||
| This was removed with | | This was removed with [[3.0.0-5]]. | ||
|- | |- | ||
| 0x003F0000 | | 0x003F0000 | ||
Line 485: | Line 368: | ||
| 0x00400040 | | 0x00400040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| DeleteAllExtSaveDataOnNand | | [[FSPXI:DeleteAllExtSaveDataOnNand|DeleteAllExtSaveDataOnNand]] | ||
|- | |- | ||
| 0x00410000 | | 0x00410000 | ||
Line 493: | Line 376: | ||
| 0x00420000 | | 0x00420000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
| CreateSeed | | [[FSPXI:CreateSeed|CreateSeed]] | ||
|- | |- | ||
| 0x00430042 | | 0x00430042 | ||
Line 501: | Line 384: | ||
| 0x00440040 | | 0x00440040 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| GetArchiveResource | | [[FSPXI:GetArchiveResource|GetArchiveResource]] | ||
|- | |- | ||
| 0x00450002 | | 0x00450002 | ||
Line 513: | Line 396: | ||
| 0x00470082 | | 0x00470082 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| | | This was removed with [[3.0.0-5]]. | ||
|- | |- | ||
| 0x00480102 | | 0x00480102 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| GetLegacySubBannerData | | [[FSPXI:GetLegacySubBannerData|GetLegacySubBannerData]] | ||
|- | |- | ||
| 0x00490042 | | 0x00490042 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| | | ? | ||
|- | |- | ||
| 0x004A00C2 | | 0x004A00C2 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| | | [[FSPXI:GetFileLastModified|GetFileLastModified]] | ||
|- | |- | ||
| 0x004B0102 | | 0x004B0102 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| ReadSpecialFile | | [[FSPXI:ReadSpecialFile|ReadSpecialFile]] | ||
|- | |- | ||
| 0x004C0040 | | 0x004C0040 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| GetSpecialFileSize | | [[FSPXI:GetSpecialFileSize|GetSpecialFileSize]] | ||
|- | |- | ||
|} | |} | ||
Commands listed in the previous chart marked as available since [[1.0.0-0]] that are not shown in this chart are the same between both. | |||
=Errors= | =Errors= | ||
Line 548: | Line 433: | ||
| 0xC86044D2 | | 0xC86044D2 | ||
| Failed to write file. Partition is full. | | Failed to write file. Partition is full. | ||
|- | |||
| 0xC8804471 | |||
| Attempted to open a file under a directory which doesn't exist. | |||
|- | |- | ||
| 0xC8804478 | | 0xC8804478 | ||
Line 562: | Line 450: | ||
|- | |- | ||
| 0xC92044E6 | | 0xC92044E6 | ||
| Operation not allowed with the current file openflags ( | | Operation not allowed with the current file openflags/file already in use (if file was previously opened for writing). | ||
|- | |||
| 0xC92044E7 | |||
| Resource locked. | |||
|- | |- | ||
| 0xC9204509 | | 0xC9204509 | ||
Line 575: | Line 466: | ||
| 0xC960F401 | | 0xC960F401 | ||
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit23 (0x00800000) | | [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit23 (0x00800000) | ||
|- | |||
| 0xD8604664 | |||
| FSUSER: Returned when attempting to create a file in savedata when the current total number of files is already the [[FS:FormatSaveData|maximum]]. | |||
|- | |- | ||
| 0xD9004587 | | 0xD9004587 |