Difference between revisions of "FS:OpenArchive"

From 3dbrew
Jump to: navigation, search
(Archive idcodes)
(Request)
 
(12 intermediate revisions by 5 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
 
| 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
 
| ?
 
| 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
 
| ?
 
| No
 
| Yes
 
| No
 
|-
 
| 0x2345678A
 
| User/GameCard SaveData (for check), and other uses (FS can only mount the latter)
 
| Yes
 
| Yes
 
| Yes
 
|-
 
| 0x2345678B
 
| ?
 
| No
 
| Yes
 
| Yes
 
|-
 
| 0x2345678C
 
| ?
 
| No
 
| Yes
 
| Yes
 
|-
 
| 0x2345678D
 
| ?
 
| No
 
| Yes
 
| No
 
|-
 
| 0x2345678E
 
| SaveData, ExeFS, and RomFS (For [[Filesystem_services|FS]], 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
 
| ?
 
| Yes
 
| Yes
 
| No
 
|-
 
| 0x567890B0
 
| ?
 
| No
 
| Yes
 
| No
 
|-
 
| 0x567890B1
 
| Gamecard SaveData (for check)
 
| Yes
 
| No
 
| No
 
|-
 
| 0x567890B2
 
| UserSaveData (for check)
 
| Yes
 
| No
 
| Yes
 
 
|}
 
|}
Archives listed as not requiring a binary lowpath, use lowpath type [[FS:OpenFile|empty]].
 
 
Archives CTR NAND, 0x1234567F, TWL NAND, 0x567890AF, and 0x12345679 require the corresponding process exheader access control mount flag to be set, in the exheader for any of the currently running ARM11 processes. The access rights checked by [[Filesystem services|FS]] module for archive mounting with fs:USER, are stored in the process' exheader accessinfo.
 

Latest revision as of 23: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