Difference between revisions of "FS:OpenArchive"

From 3dbrew
Jump to navigation Jump to search
 
(2 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
|-
 
|-
 
| 1
 
| 1
| Archive idcode
+
| [[Filesystem_services#ArchiveId|Archive ID]]
 
|-
 
|-
 
| 2
 
| 2
| [[FS:OpenFile|LowPath]].Type
+
| [[Filesystem_services#PathType|Path Type]]
 
|-
 
|-
 
| 3
 
| 3
| LowPath.Size
+
| Path Size (including null-terminator)
 
|-
 
|-
 
| 4
 
| 4
| (LowPath.Size<<14)  <nowiki>|</nowiki> 2
+
| (PathSize << 14)  <nowiki>|</nowiki> 2
 
|-
 
|-
 
| 5
 
| 5
| LowPath.Data pointer
+
| Path Data Pointer
 
|}
 
|}
  
Line 34: Line 34:
 
|-
 
|-
 
| 1
 
| 1
| Resultcode
+
| Result code
 
|-
 
|-
| 2
+
| 2-3
| Archive handle lower word
+
| u64, Archive Handle
|-
 
| 3
 
| Archive handle upper word
 
|}
 
 
 
=Archive idcodes =
 
{| class="wikitable" border="1"
 
|-
 
!  Idcode
 
!  Description
 
!  Accessible via [[Filesystem_services|FS]]
 
!  Accessible via [[Filesystem_services_PXI|FSPXI]]
 
!  Requires binary [[FS:OpenFile|Lowpath]]
 
|-
 
| 0x00000003
 
| Application RomFS
 
| Yes
 
| No
 
| No
 
|-
 
| 0x00000004
 
| SaveData (the saveID/mediatype for this is loaded from data originally from the user process' exheader)
 
| Yes
 
| No
 
| No
 
|-
 
| 0x00000006
 
| ExtSaveData
 
| Yes
 
| No
 
| Yes
 
|-
 
| 0x00000007
 
| Shared ExtSaveData
 
| Yes
 
| No
 
| Yes
 
|-
 
| 0x00000008
 
| SystemSaveData
 
| Yes
 
| No
 
| Yes
 
|-
 
| 0x00000009
 
| SDMC
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x0000000A
 
| SDMC Write-Only
 
| Yes
 
| No
 
| No
 
|-
 
| 0x12345678
 
| ExtSaveData for BOSS
 
| Yes
 
| No
 
| Yes
 
|-
 
| 0x12345679
 
| CARD SPI FS
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x1234567B
 
| ExtSaveData, and ExtSaveData for BOSS
 
| No
 
| Yes
 
| Yes
 
|-
 
| 0x1234567C
 
| SystemSaveData
 
| No
 
| Yes
 
| Yes
 
|-
 
| 0x1234567D
 
| NAND RW
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x1234567E
 
| NAND RO
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x1234567F
 
| NAND RO Write FS
 
| No
 
| Yes
 
| No
 
|-
 
| 0x2345678A
 
| User/GameCard SaveData (for check), and other uses (FS can only mount the latter) (lo hi mediatype reserved)
 
| Yes
 
| Yes
 
| Yes
 
|-
 
| 0x2345678B
 
| ?
 
| No
 
| No
 
| Yes
 
|-
 
| 0x2345678C
 
| ?
 
| No
 
| No
 
| Yes
 
|-
 
| 0x2345678D
 
| ?
 
| No
 
| No
 
| No
 
|-
 
| 0x2345678E
 
| SaveData, ExeFS, and RomFS (For [[Filesystem_services|fs:LDR]], only ExeFS)
 
| Yes
 
| Yes
 
| Yes
 
|-
 
| 0x567890AB
 
| NAND CTR FS
 
| No
 
| Yes
 
| No
 
|-
 
| 0x567890AC
 
| TWL PHOTO
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x567890AD
 
| ?
 
| No
 
| Yes
 
| No
 
|-
 
| 0x567890AE
 
| NAND TWL FS
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x567890AF
 
| NAND W FS
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x567890B0
 
| ?
 
| No
 
| Yes
 
| No
 
|-
 
| 0x567890B1
 
| Gamecard SaveData (for check). This is a wrapper for UserSaveDataForCheck: the OpenArchive code for that is called with archive-lowpath TID=0/mediatype=2(gamecard).
 
| Yes
 
| No
 
| No
 
|-
 
| 0x567890B2
 
| UserSaveData (for check). This is the same as the regular SaveData archive, except with this the savedata ID and mediatype is loaded from the input archive lowpath.
 
| Yes
 
| No
 
| Yes
 
|-
 
| 0x567890B4
 
| ?
 
| Yes
 
| No
 
| No
 
 
|}
 
|}
Archives listed as not requiring a binary lowpath, use lowpath type [[FS:OpenFile|empty]].
 
 
 
 
Archives CTR NAND, NAND RO Write FS, TWL NAND, NAND W FS, and CARD SPI FS require the corresponding process exheader access control mount flag to be set, in the exheader for any of the currently running ARM11 processes, for [[Filesystem_services_PXI|FSPXI]]. The access rights checked by [[Filesystem services|FS]] module for archive mounting with fs:USER, are stored in the process' exheader accessinfo.
 
 
The CARDSPI archive allows access to the gamecard CARD1 raw savedata flash(aka "cardspi:/" in [[FIRM|Process9]]), the file lowpath must be WCHAR "/". The "NAND W FS" archive allows access to the raw NAND image(aka "wnand:/" in Process9), the file lowpath must be WCHAR "/".
 

Latest revision as of 22:35, 5 September 2016

Request[edit]

Index Word Description
0 Header code [0x080C00C2]
1 Archive ID
2 Path Type
3 Path Size (including null-terminator)
4 (PathSize << 14) | 2
5 Path Data Pointer

Response[edit]

Index Word Description
0 Header code
1 Result code
2-3 u64, Archive Handle