Filesystem services: Difference between revisions

No edit summary
(5 intermediate revisions by the same user not shown)
Line 1,519: Line 1,519:
|-
|-
| 8 || [4.0.0+] RegisteredUpdate
| 8 || [4.0.0+] RegisteredUpdate
|}
= ContentType =
This is "nn::fs::ContentType".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Meta
|-
| 1 || Control
|-
| 2 || Manual
|-
| 3 || Logo
|-
| 4 || Data
|}
|}


Line 1,546: Line 1,564:
| 1 || User
| 1 || User
|-
|-
| 2 || SdCard
| 2 || SdSystem
|-
| 3 || [3.0.0+] Temporary
|-
|-
| 3 || [3.0.0+] TemporaryStorage
| 4 || [4.0.0+] SdUser
|-
|-
| 100 || [3.0.0+] ProperSystem
| 100 || [3.0.0+] ProperSystem
|-
| 100 || [3.0.0+] SafeMode
|}
|}


Line 1,562: Line 1,584:
! Value || Name
! Value || Name
|-
|-
| 0 || SystemSaveData
| 0 || System
|-
| 1 || Account
|-
|-
| 1 || SaveData
| 2 || Bcat
|-
|-
| 2 || BcatDeliveryCacheStorage
| 3 || Device
|-
|-
| 3 || DeviceSaveData
| 4 || [3.0.0+] Temporary
|-
|-
| 4 || [3.0.0+] TemporaryStorage
| 5 || [3.0.0+] Cache
|-
|-
| 5 || [3.0.0+] CacheStorage
| 6 || [4.0.0+] SystemBcat
|}
 
= SaveDataRank =
This is "nn::fs::SaveDataRank".
 
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Primary
|-
| 1 || Secondary
|}
 
= SaveDataEnumerateOption =
This is "nn::fs::SaveDataEnumerateOption".
 
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 1 || AllRank
|}
 
= SaveDataFlags =
This is "nn::fs::SaveDataFlags".
 
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 1 || KeepAfterResettingSystemSaveData
|-
| 2 || KeepAfterRefurbishment
|-
| 4 || KeepAfterResettingSystemSaveDataWithoutUserSaveData
|}
 
= SaveDataMetaType =
This is "nn::fs::SaveDataMetaType".
 
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || None
|-
| 1 || Thumbnail
|-
| 2 || ExtensionContext
|}
|}


Line 1,582: Line 1,656:
! Value || Name
! Value || Name
|-
|-
| 0 || System
| 0 || Nand
|-
|-
| 1 || SdCard
| 1 || SdCard
Line 1,594: Line 1,668:
! Value || Name
! Value || Name
|-
|-
| 0 || System
| 0 || Nand
|-
|-
| 1 || SdCard
| 1 || SdCard
Line 1,609: Line 1,683:
|-
|-
| 1 || SdCard
| 1 || SdCard
|}
= Priority =
This is "nn::fs::Priority".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Realtime
|-
| 1 || Normal
|-
| 2 || Low
|}
= PriorityRaw =
This is "nn::fs::PriorityRaw".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Realtime
|-
| 1 || Normal
|-
| 2 || Low
|-
| 3 || Background
|}
= AbortSpecifier =
This is "nn::fs::AbortSpecifier".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Default
|-
| 1 || Abort
|-
| 2 || ReturnResult
|}
= OperationId =
This is "nn::fs::OperationId".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Clear
|-
| 1 || ClearSignature
|-
| 2 || InvalidateCache
|-
| 3 || QueryRange
|}
= MountHostOption =
This is "nn::fs::MountHostOption".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 1 || PseudoCaseSensitive
|}
= BisPartitionId =
This is "nn::fs::BisPartitionId".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || BootPartition1Root
|-
| 10 || BootPartition2Root
|-
| 20 || UserDataRoot
|-
| 21 || BootConfigAndPackage2Part1
|-
| 22 || BootConfigAndPackage2Part2
|-
| 23 || BootConfigAndPackage2Part3
|-
| 24 || BootConfigAndPackage2Part4
|-
| 25 || BootConfigAndPackage2Part5
|-
| 26 || BootConfigAndPackage2Part6
|-
| 27 || CalibrationBinary
|-
| 28 || CalibrationFile
|-
| 29 || SafeMode
|-
| 30 || User
|-
| 31 || System
|-
| 32 || SystemProperEncryption
|-
| 33 || SystemProperPartition
|-
| 34 || SignedSystemPartitionOnSafeMode
|}
= MmcSpeedMode =
This is "nn::fs::MmcSpeedMode".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Identification
|-
| 1 || LegacySpeed
|-
| 2 || HighSpeed
|-
| 3 || Hs200
|-
| 4 || Hs400
|-
| 5 || Unknown
|}
= MmcPartition =
This is "nn::fs::MmcPartition".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || UserData
|-
| 1 || BootPartition1
|-
| 2 || BootPartition2
|}
= GameCardPartition =
This is "nn::fs::GameCardPartition".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || Update
|-
| 1 || Normal
|-
| 2 || Secure
|-
| 3 || [4.0.0+] Logo
|}
= GameCardPartitionRaw =
This is "nn::fs::GameCardPartitionRaw".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || NormalReadOnly
|-
| 1 || SecureReadOnly
|-
| 2 || RootWriteOnly
|}
= GameCardAttribute =
This is "nn::fs::GameCardAttribute".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 1 || AutoBootFlag
|-
| 2 || HistoryEraseFlag
|-
| 4 || RepairToolFlag
|}
= GameCardSize =
This is "nn::fs::GameCardSize".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 1 || Size1GB
|-
| 2 || Size2GB
|-
| 4 || Size4GB
|-
| 8 || Size8GB
|-
| 16 || Size16GB
|-
| 32 || Size32GB
|}
= GameCardClockRate =
This is "nn::fs::GameCardClockRate".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 25 || ClockRate25MHz
|-
| 50 || ClockRate50MHz
|}
= SimulatingDeviceType =
This is "nn::fs::SimulatingDeviceType".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || eMMC
|-
| 1 || SdCard
|-
| 2 || GameCard
|}
= SimulatingDeviceDetectionMode =
This is "nn::fs::SimulatingDeviceDetectionMode".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || NoSimulation
|-
| 1 || DeviceAttached
|-
| 2 || DeviceRemoved
|}
= SimulatingDeviceAccessFailureEventType =
This is "nn::fs::SimulatingDeviceAccessFailureEventType".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || None
|-
| 1 || AccessTimeoutFailure
|-
| 2 || AccessFailure
|-
| 3 || DataCorruption
|}
= SimulatingDeviceTargetOperation =
This is "nn::fs::SimulatingDeviceTargetOperation".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 1 || Read
|-
| 2 || Write
|}
= SpeedEmulationMode =
This is "nn::fs::SpeedEmulationMode".
{| class="wikitable" border="1"
|-
! Value || Name
|-
| 0 || None
|-
| 1 || Faster
|-
| 2 || Slower
|-
| 3 || Random
|}
|}


Line 1,656: Line 2,024:
| 0x0
| 0x0
| 0x8
| 0x8
| 0 for SystemSaveData. SaveData: 0 can be used for accessing the savedata associated with the current FS session titleID, otherwise when set this is the titleID associated with the savedata to access.
| TitleId (0 for SystemSaveData)</br>SaveData: 0 can be used for accessing the savedata associated with the current FS session titleID, otherwise when set this is the titleID associated with the savedata to access.
|-
|-
| 0x8
| 0x8
| 0x10
| 0x10
| userID for user-specific savedata(saveuser) when set, otherwise when zero this indicates the common savedata(savecommon). This is loaded from [[Account_services]].
| UserId</br>For user-specific savedata(saveuser) when set, otherwise when zero this indicates the common savedata(savecommon). This is loaded from [[Account_services]].
|-
|-
| 0x18
| 0x18
| 0x8
| 0x8
| u64 [[Flash_Filesystem|saveID]]. 0 for SaveData.
| [[Flash_Filesystem|SystemSaveDataId]] (0 for SaveData)
|-
|-
| 0x20
| 0x20
Line 1,672: Line 2,040:
| 0x21
| 0x21
| 0x1
| 0x1
| Save data 'rank' or 'precedence'. 0 if this save data is considered the primary save data. 1 if it's considered the secondary save data.
| [[#SaveDataRank]]
|-
|-
| 0x22
| 0x22
| 0x2
| 0x2
| Save data index
| SaveDataIndex
|-
|-
| 0x24
| 0x24
Line 1,710: Line 2,078:
| 0x0
| 0x0
| 0x8
| 0x8
| Save data size.
| SaveDataSize
|-
|-
| 0x8
| 0x8
| 0x8
| 0x8
| Save data journal size.
| JournalSize
|-
|-
| 0x10
| 0x10
| 0x8
| 0x8
| Save data block size. 0x4000 for SystemSaveData/SaveData/DeviceSaveData/BcatSaveData.
| AvailableSize</br>0x4000 for SystemSaveData/SaveData/DeviceSaveData/BcatSaveData.
|-
|-
| 0x18
| 0x18
| 0x8
| 0x8
| Save data owner id. Official user-processes only uses 0 here for SystemSaveData/SaveData. For the dedicated save-creation code with SaveData/DeviceSaveData, this value comes from an input param with official user-processes. For BcatSaveData, this is the hard-coded [[Title_list|titleID]] of the bcat-sysmodule.
| OwnerId</br>Official user-processes only uses 0 here for SystemSaveData/SaveData. For the dedicated save-creation code with SaveData/DeviceSaveData, this value comes from an input param with official user-processes. For BcatSaveData, this is the hard-coded [[Title_list|titleID]] of the bcat-sysmodule.
|-
|-
| 0x20
| 0x20
| 0x4
| 0x4
| Save data flags. Written using an input param for official user-processes. Hard-coded 0 for BcatSaveData.
| [[#SaveDataFlags]]</br>Written using an input param for official user-processes. Hard-coded 0 for BcatSaveData.
|-
|-
| 0x24
| 0x24
| 0x1
| 0x1
| [[#SaveDataSpaceId]]. Official user-processes only uses 0 here for SystemSaveData, 1 for SaveData/DeviceSaveData/BcatSaveData.
| [[#SaveDataSpaceId]]</br>Official user-processes only uses 0 here for SystemSaveData, 1 for SaveData/DeviceSaveData/BcatSaveData.
|-
|-
| 0x25
| 0x25
Line 1,752: Line 2,120:


= SaveDataInfo =
= SaveDataInfo =
This is "nn::fs::SaveDataInfo".
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,792: Line 2,162:
| 0x38
| 0x38
| 0x2
| 0x2
| Save data index
| SaveDataIndex
|-
|-
| 0x3A
| 0x3A
| 0x1
| 0x1
| Save data 'rank' or 'precedence'. 0 if this save data is considered the primary save data. 1 if it's considered the secondary save data.
| [[#SaveDataRank]]
|-
|-
| 0x3B
| 0x3B