Line 1: |
Line 1: |
| [[Category:Services]] | | [[Category:Services]] |
| + | |
| = Filesystem service "fs:USER" = | | = Filesystem service "fs:USER" = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 5: |
Line 6: |
| ! Command Header | | ! Command Header |
| ! Description | | ! Description |
| + | ! Required exheader accessinfo bitmask |
| |- | | |- |
| | 0x000100C6 | | | 0x000100C6 |
| | Dummy1 | | | Dummy1 |
| + | | None |
| |- | | |- |
| | 0x040100C4 | | | 0x040100C4 |
| | Control | | | Control |
| + | | None |
| |- | | |- |
| | 0x08010002 | | | 0x08010002 |
| | [[FS:Initialize|Initialize]] | | | [[FS:Initialize|Initialize]] |
| + | | None |
| |- | | |- |
| | 0x080201C2 | | | 0x080201C2 |
| | [[FS:OpenFile|OpenFile]] | | | [[FS:OpenFile|OpenFile]] |
| + | | None |
| |- | | |- |
| | 0x08030204 | | | 0x08030204 |
| | [[FS:OpenFileDirectly|OpenFileDirectly]] | | | [[FS:OpenFileDirectly|OpenFileDirectly]] |
| + | | None |
| |- | | |- |
| | 0x08040142 | | | 0x08040142 |
| | [[FS:DeleteFile|DeleteFile]] | | | [[FS:DeleteFile|DeleteFile]] |
| + | | None |
| |- | | |- |
| | 0x08050244 | | | 0x08050244 |
| | RenameFile | | | RenameFile |
| + | | None |
| |- | | |- |
| | 0x08060142 | | | 0x08060142 |
| | DeleteDirectory | | | DeleteDirectory |
| + | | None |
| |- | | |- |
| | 0x08070142 | | | 0x08070142 |
| | DeleteDirectoryRecursively | | | DeleteDirectoryRecursively |
| + | | None |
| |- | | |- |
| | 0x08080202 | | | 0x08080202 |
| | CreateFile | | | CreateFile |
| + | | None |
| |- | | |- |
| | 0x08090182 | | | 0x08090182 |
| | [[FS:CreateDirectory|CreateDirectory]] | | | [[FS:CreateDirectory|CreateDirectory]] |
| + | | None |
| |- | | |- |
| | 0x080A0244 | | | 0x080A0244 |
| | RenameDirectory | | | RenameDirectory |
| + | | None |
| |- | | |- |
| | 0x080B0102 | | | 0x080B0102 |
| | [[FS:OpenDirectory|OpenDirectory]] | | | [[FS:OpenDirectory|OpenDirectory]] |
| + | | None |
| |- | | |- |
| | 0x080C00C2 | | | 0x080C00C2 |
| | [[FS:OpenArchive|OpenArchive]] | | | [[FS:OpenArchive|OpenArchive]] |
| + | | None |
| |- | | |- |
| | 0x080D0144 | | | 0x080D0144 |
| | ControlArchive | | | ControlArchive |
| + | | None |
| |- | | |- |
| | 0x080E0080 | | | 0x080E0080 |
| | [[FS:CloseArchive|CloseArchive]] | | | [[FS:CloseArchive|CloseArchive]] |
| + | | None |
| |- | | |- |
| | 0x080F0180 | | | 0x080F0180 |
| | FormatThisUserSaveData | | | FormatThisUserSaveData |
| + | | None |
| |- | | |- |
| | 0x08100200 | | | 0x08100200 |
| | CreateSystemSaveData | | | CreateSystemSaveData |
| + | | 0x4, for when the input saveID doesn't match the exheader saveID. |
| |- | | |- |
| | 0x08110040 | | | 0x08110040 |
| | DeleteSystemSaveData | | | DeleteSystemSaveData |
| + | | 0x1004, for when the input saveID doesn't match the exheader saveID. |
| |- | | |- |
| | 0x08120080 | | | 0x08120080 |
| | GetFreeBytes | | | GetFreeBytes |
| + | | None |
| |- | | |- |
| | 0x08130000 | | | 0x08130000 |
| | GetCardType | | | GetCardType |
| + | | 0x1017 |
| |- | | |- |
| | 0x08140000 | | | 0x08140000 |
| | GetSdmcArchiveResource | | | GetSdmcArchiveResource |
| + | | None |
| |- | | |- |
| | 0x08150000 | | | 0x08150000 |
| | GetNandArchiveResource | | | GetNandArchiveResource |
| + | | None |
| |- | | |- |
| | 0x08160000 | | | 0x08160000 |
| | GetSdmcFatfsError | | | GetSdmcFatfsError |
| + | | 0x2 |
| |- | | |- |
| | 0x08170000 | | | 0x08170000 |
| | IsSdmcDetected | | | IsSdmcDetected |
| + | | None |
| |- | | |- |
| | 0x08180000 | | | 0x08180000 |
| | IsSdmcWritable | | | IsSdmcWritable |
| + | | None |
| |- | | |- |
| | 0x08190042 | | | 0x08190042 |
| | GetSdmcCid | | | GetSdmcCid |
| + | | 0x2 |
| |- | | |- |
| | 0x081A0042 | | | 0x081A0042 |
| | GetNandCid | | | GetNandCid |
| + | | 0x2 |
| |- | | |- |
| | 0x081B0000 | | | 0x081B0000 |
| | GetSdmcSpeedInfo | | | GetSdmcSpeedInfo |
| + | | 0x2 |
| |- | | |- |
| | 0x081C0000 | | | 0x081C0000 |
| | GetNandSpeedInfo | | | GetNandSpeedInfo |
| + | | 0x2 |
| |- | | |- |
| | 0x081D0042 | | | 0x081D0042 |
| | GetSdmcLog | | | GetSdmcLog |
| + | | 0x2 |
| |- | | |- |
| | 0x081E0042 | | | 0x081E0042 |
| | GetNandLog | | | GetNandLog |
| + | | 0x2 |
| |- | | |- |
| | 0x081F0000 | | | 0x081F0000 |
| | ClearSdmcLog | | | ClearSdmcLog |
| + | | 0x2 |
| |- | | |- |
| | 0x08200000 | | | 0x08200000 |
| | ClearNandLog | | | ClearNandLog |
| + | | 0x2 |
| |- | | |- |
| | 0x08210000 | | | 0x08210000 |
| | CardSlotIsInserted | | | CardSlotIsInserted |
| + | | 0x1017 |
| |- | | |- |
| | 0x08220000 | | | 0x08220000 |
| | CardSlotPowerOn | | | CardSlotPowerOn |
| + | | 0x2 |
| |- | | |- |
| | 0x08230000 | | | 0x08230000 |
| | CardSlotPowerOff | | | CardSlotPowerOff |
| + | | 0x2 |
| |- | | |- |
| | 0x08240000 | | | 0x08240000 |
| | CardSlotGetCardIFPowerStatus | | | CardSlotGetCardIFPowerStatus |
| + | | 0x2 |
| |- | | |- |
| | 0x08250040 | | | 0x08250040 |
| | CardNorDirectCommand | | | CardNorDirectCommand |
| + | | 0x2 |
| |- | | |- |
| | 0x08260080 | | | 0x08260080 |
| | CardNorDirectCommandWithAddress | | | CardNorDirectCommandWithAddress |
| + | | 0x2 |
| |- | | |- |
| | 0x08270082 | | | 0x08270082 |
| | CardNorDirectRead | | | CardNorDirectRead |
| + | | 0x2 |
| |- | | |- |
| | 0x082800C2 | | | 0x082800C2 |
| | CardNorDirectReadWithAddress | | | CardNorDirectReadWithAddress |
| + | | 0x2 |
| |- | | |- |
| | 0x08290082 | | | 0x08290082 |
| | CardNorDirectWrite | | | CardNorDirectWrite |
| + | | 0x2 |
| |- | | |- |
| | 0x082A00C2 | | | 0x082A00C2 |
| | CardNorDirectWriteWithAddress | | | CardNorDirectWriteWithAddress |
| + | | 0x2 |
| |- | | |- |
| | 0x082B00C2 | | | 0x082B00C2 |
| | CardNorDirectRead_4xIO | | | CardNorDirectRead_4xIO |
| + | | 0x2 |
| |- | | |- |
| | 0x082C0082 | | | 0x082C0082 |
| | CardNorDirectCpuWriteWithoutVerify | | | CardNorDirectCpuWriteWithoutVerify |
| + | | 0x2 |
| |- | | |- |
| | 0x082D0040 | | | 0x082D0040 |
| | CardNorDirectSectorEraseWithoutVerify | | | CardNorDirectSectorEraseWithoutVerify |
| + | | 0x2 |
| |- | | |- |
| | 0x082E0040 | | | 0x082E0040 |
| | GetProductInfo | | | GetProductInfo |
| + | | 0x1005 |
| |- | | |- |
| | 0x082F0040 | | | 0x082F0040 |
| | [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]] | | | [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]] |
| + | | 0x1005 |
| |- | | |- |
| | 0x08300182 | | | 0x08300182 |
| | CreateExtSaveData | | | CreateExtSaveData |
| + | | 0xC, for when the input extdataID doesn't match the exheader extdataID. |
| |- | | |- |
| | 0x08310180 | | | 0x08310180 |
| | CreateSharedExtSaveData | | | CreateSharedExtSaveData |
| + | | 0x1005 |
| |- | | |- |
| | 0x08320102 | | | 0x08320102 |
| | [[FS:ReadExtSaveDataIcon|ReadExtSaveDataIcon]] | | | [[FS:ReadExtSaveDataIcon|ReadExtSaveDataIcon]] |
| + | | 0x100D, for when the input extdataID doesn't match the exheader extdataID. |
| |- | | |- |
| | 0x08330082 | | | 0x08330082 |
| | EnumerateExtSaveData | | | EnumerateExtSaveData |
| + | | 0x1005 |
| |- | | |- |
| | 0x08340082 | | | 0x08340082 |
| | EnumerateSharedExtSaveData | | | EnumerateSharedExtSaveData |
| + | | 0x1005 |
| |- | | |- |
| | 0x08350080 | | | 0x08350080 |
| | DeleteExtSaveData | | | DeleteExtSaveData |
| + | | 0x100D, for when the input extdataID doesn't match the exheader extdataID. |
| |- | | |- |
| | 0x08360080 | | | 0x08360080 |
| | DeleteSharedExtSaveData | | | DeleteSharedExtSaveData |
| + | | 0x1005 |
| |- | | |- |
| | 0x08370040 | | | 0x08370040 |
| | SetCardSpiBaudRate | | | SetCardSpiBaudRate |
| + | | 0x2 |
| |- | | |- |
| | 0x08380040 | | | 0x08380040 |
| | SetCardSpiBusMode | | | SetCardSpiBusMode |
| + | | 0x2 |
| |- | | |- |
| | 0x08390000 | | | 0x08390000 |
| | SendInitializeInfoTo9 | | | SendInitializeInfoTo9 |
| + | | None |
| |- | | |- |
| | 0x083A0100 | | | 0x083A0100 |
| | GetSpecialContentIndex | | | GetSpecialContentIndex |
| + | | 0x1005 |
| |- | | |- |
| | 0x083B00C2 | | | 0x083B00C2 |
| | GetLegacyRomHeader | | | GetLegacyRomHeader |
| + | | 0x1015 |
| |- | | |- |
| | 0x083C00C2 | | | 0x083C00C2 |
| | GetLegacyBannerData | | | GetLegacyBannerData |
| + | | 0x1015 |
| |- | | |- |
| | 0x083D0100 | | | 0x083D0100 |
| | CheckAuthorityToAccessExtSaveData | | | CheckAuthorityToAccessExtSaveData |
| + | | 0x44 |
| |- | | |- |
| | 0x083E00C2 | | | 0x083E00C2 |
| | QueryTotalQuotaSize | | | QueryTotalQuotaSize |
| + | | None |
| |- | | |- |
| | 0x083F00C0 | | | 0x083F00C0 |
| | GetExtDataBlockSize | | | GetExtDataBlockSize |
| + | | None |
| |- | | |- |
| | 0x08400040 | | | 0x08400040 |
Line 206: |
Line 273: |
| | 0x08410000 | | | 0x08410000 |
| | DeleteSdmcRoot | | | DeleteSdmcRoot |
| + | | 0x1005 |
| |- | | |- |
| | 0x08420040 | | | 0x08420040 |
| | DeleteAllExtSaveDataOnNand | | | DeleteAllExtSaveDataOnNand |
| + | | 0x1005 |
| |- | | |- |
| | 0x08430000 | | | 0x08430000 |
| | [[FS:InitializeCtrFileSystem|InitializeCtrFileSystem]] | | | [[FS:InitializeCtrFileSystem|InitializeCtrFileSystem]] |
| + | | None |
| |- | | |- |
| | 0x08440000 | | | 0x08440000 |
| | CreateSeed | | | CreateSeed |
| + | | 0x2 |
| |- | | |- |
| | 0x084500C2 | | | 0x084500C2 |
| | GetFormatInfo | | | GetFormatInfo |
| + | | ? |
| |- | | |- |
| | 0x08460102 | | | 0x08460102 |
| | GetLegacyRomHeader2 | | | GetLegacyRomHeader2 |
| + | | 0x1015 |
| |- | | |- |
| | 0x08470180 | | | 0x08470180 |
| | FormatCtrCardUserSaveData | | | FormatCtrCardUserSaveData |
| + | | 0x6 |
| |- | | |- |
| | 0x08480042 | | | 0x08480042 |
| | GetSdmcCtrRootPath | | | GetSdmcCtrRootPath |
| + | | 0x100D |
| |- | | |- |
| | 0x08490040 | | | 0x08490040 |
| | GetArchiveResource | | | GetArchiveResource |
| + | | ? |
| |- | | |- |
| | 0x084A0002 | | | 0x084A0002 |
| | ExportIntegrityVerificationSeed | | | ExportIntegrityVerificationSeed |
| + | | 0x4000 |
| |- | | |- |
| | 0x084B0002 | | | 0x084B0002 |
| | ImportIntegrityVerificationSeed | | | ImportIntegrityVerificationSeed |
| + | | 0x4000 |
| |- | | |- |
| | 0x084C0242 | | | 0x084C0242 |
| | FormatSaveData | | | FormatSaveData |
| + | | 0x6, in some cases this right isn't needed however. |
| |- | | |- |
| | 0x084D0102 | | | 0x084D0102 |
| | GetLegacySubBannerData | | | GetLegacySubBannerData |
| + | | 0x1015 |
| |- | | |- |
| | 0x084E0342 | | | 0x084E0342 |
| | [[FS:UpdateSha256Context|UpdateSha256Context]] | | | [[FS:UpdateSha256Context|UpdateSha256Context]] |
| + | | 0x5 |
| |- | | |- |
| | 0x084F0102 | | | 0x084F0102 |
| | ReadSpecialFile | | | ReadSpecialFile |
| + | | None |
| |- | | |- |
| | 0x08500040 | | | 0x08500040 |
| | GetSpecialFileSize | | | GetSpecialFileSize |
| + | | None |
| |- | | |- |
| | 0x08520100 | | | 0x08520100 |
| | Unknown (u32 flags, u64 extdataID) | | | Unknown (u32 flags, u64 extdataID) |
| + | | ? |
| |- | | |- |
| | 0x08620040 | | | 0x08620040 |
| + | | ? |
| | ? | | | ? |
| |- | | |- |
| | 0x08630000 | | | 0x08630000 |
| + | | ? |
| | ? | | | ? |
| |} | | |} |
| + | |
| + | When access rights are required for a command, at least one of the bits in the process accessinfo specified in the above table for the command must be set. Error 0xD9004676 is returned when a process attempts to use a command which it doesn't have access rights for the command. |
| | | |
| =File service= | | =File service= |