Filesystem services PXI: Difference between revisions
| No edit summary | TimmSkiller (talk | contribs)  Update HasFile/HasDirectory | ||
| (20 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 202: | 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 234: | 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 250: | 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 270: | 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 302: | 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 322: | 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 386: | 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 398: | 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.... | |||
| | ? | |||
| | This was removed with [[3.0.0-5]]. | |||
| |- | |- | ||
| | 0x003F0000 | | 0x003F0000 | ||
| Line 442: | Line 368: | ||
| | 0x00400040 | | 0x00400040 | ||
| | [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | DeleteAllExtSaveDataOnNand | | [[FSPXI:DeleteAllExtSaveDataOnNand|DeleteAllExtSaveDataOnNand]] | ||
| |- | |- | ||
| | 0x00410000 | | 0x00410000 | ||
| Line 450: | Line 376: | ||
| | 0x00420000 | | 0x00420000 | ||
| | [[1.0.0-0]] | | [[1.0.0-0]] | ||
| | CreateSeed | | [[FSPXI:CreateSeed|CreateSeed]] | ||
| |- | |- | ||
| | 0x00430042 | | 0x00430042 | ||
| Line 458: | Line 384: | ||
| | 0x00440040 | | 0x00440040 | ||
| | [[2.0.0-2]] | | [[2.0.0-2]] | ||
| | GetArchiveResource | | [[FSPXI:GetArchiveResource|GetArchiveResource]] | ||
| |- | |- | ||
| | 0x00450002 | | 0x00450002 | ||
| Line 470: | 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 505: | 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 519: | 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 532: | 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 | ||