Changes

Jump to navigation Jump to search
1,283 bytes added ,  18:03, 4 April 2013
no edit summary
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=

Navigation menu