FS:OpenArchive: Difference between revisions

No edit summary
Sorunome (talk | contribs)
m Fix link
 
(19 intermediate revisions by 6 users not shown)
Line 9: Line 9:
|-
|-
| 1
| 1
| Archive idcode
| [[Filesystem_services#Archives|Archive ID]]
|-
|-
| 2
| 2
| 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
|-
| 0x00000003
| Application RomFS
|-
| 0x00000004
| SaveData
|-
| 0x00000006
| ExtSaveData
|-
| 0x00000007
| Shared ExtSaveData
|-
| 0x00000008
| SystemSaveData
|-
| 0x00000009
| SDMC
|-
| 0x0000000A
| SDMC Write-Only ([[Filesystem services|fs:USER]] only)
|-
| 0x12345678
| ExtSaveData for BOSS
|-
| 0x12345679
| ?
|-
| 0x1234567B
| ?
|-
| 0x1234567C
| ?
|-
| 0x1234567D
| NAND RW
|-
| 0x1234567E
| NAND RO
|-
| 0x1234567F
| ?
|-
| 0x2345678A
| ?
|-
| 0x2345678E
| ?
|-
| 0x567890AB
| ?
|-
| 0x567890AC
| TWL PHOTO
|-
| 0x567890AD
| ?
|-
| 0x567890AE
| NAND TWL FS
|-
| 0x567890AF
| ?
|-
| 0x567890B1
| Gamecard SaveData (for check)
|-
| 0x567890B2
| UserSaveData (for check)
|}
 
Archives 0x1234567F, 0x567890AE, 0x567890AF, and 0x12345679 require the corresponding application exheader access control mount flag to be set. The access rights checked by [[Filesystem services|FS]] module for archive mounting with fs:USER, are stored in the process' exheader accessinfo.
 
=Archive LowPath.Data format=
Each archive has a separate LowPath format, some archives' LowPath are unused which are not listed here.
 
{| class="wikitable" border="1"
|-
Archive
!  LowPath.Data format
|-
|  (Shared)ExtSaveData(BOSS)
| +0 u8 mediatype, +4 u64 ExtdataID
|-
| SystemSaveData
| +0 u8 mediatype, +4 u32 savedataid
|-
| UserSaveDataForCheck
| +0 u8 mediatype, +4 u64 savedataid
|}
 
SystemSaveData mediatype must always be NAND. UserSaveDataForCheck mediatype must not be NAND.
 
=Mediatypes=
{| class="wikitable" border="1"
|-
!  Type
!  Description
|-
| 0
| NAND
|-
| 1
| SD
|-
| 2
| Gamecard
|}
|}