Changes

Jump to navigation Jump to search
2,594 bytes removed ,  20:03, 17 October 2015
m
Use common types.
| Transaction (usually 0)
|-
| 2| Archive handle lower word|-| 3| u64, Archive handle upper wordHandle
|-
| 4
| LowPath.[[Filesystem_services#PathType|Path Type]]
|-
| 5
| LowPath.Path Size
|-
| 6
| [[Filesystem_services#OpenFlags|Open Flags]]
|-
| 7
| [[Filesystem_services#Attributes |Attributes]] (usually 0)
|-
| 8
| (LowPath.SizePathSize <<14) <nowiki>|</nowiki> 2
|-
| 9
| LowPath.Path Data pointerPointer
|}
|-
| 1
| ResultcodeResult code
|-
| 3
| File handle|} =OpenFlags={| class="wikitable" border="1"|-! Bit! Description|-| 0| Read|-| 1| Write|-| 2| Create|} = Attributes ={| class="wikitable" border="1"|-! Flag! Description|-| 0x00000001| Is Read-Only|-| 0x00000100| Is Archive|-| 0x00010000| Is Hidden|-| 0x01000000| Is DirectoryHandle
|}
 
=LowPath=
{| class="wikitable" border="1"
|-
! Type
! Description
|-
| 0 (INVALID)
| Specifies an invalid path.
|-
| 1 (EMPTY)
| Specifies an empty path.
|-
| 2 (BINARY)
| Specifies a binary path, which is non-text based.
|-
| 3 (CHAR)
| Specifies a text based path with a 8-bit byte per character.
|-
| 4 (WCHAR)
| Specifies a text based path with a 16-bit short per character.
|}
 
== Binary LowPath ==
The format of the data that a binary LowPath points to is custom per archive.
 
 
=== SystemSaveData Archive Path Data Format ===
==== FS ====
{| class="wikitable" border="1"
|-
! Index word
! Description
|-
| 0
| [[Mediatypes|Mediatype]] (must be zero for NAND)
|-
| 1
| saveid
|}
The file/directory lowpath is a text lowpath in the [[Savegames|savegame]] filesystem.
 
==== FSPXI ====
{| class="wikitable" border="1"
|-
! Index word
! Description
|-
| 0
| u8 [[Mediatypes|Mediatype]] (must be zero for NAND)
|}
The file lowpath is a binary lowpath containing the u64 saveid, however the high word of the saveid is always zero. The mounted file is the cleartext savegame image. Up to 32 SystemSaveData image files can be opened under a single mounted FSPXI archive.
 
=== UserSaveDataForCheck Archive Path Data Format ===
{| class="wikitable" border="1"
|-
! Index word
! Description
|-
| 0
| [[Mediatypes|Mediatype]] (must be non-zero)
|-
| 1
| Lower word saveid
|-
| 2
| Upper word saveid
|}
The file/directory lowpath for this FS archive is a text path in the [[Savegames|savegame]] filesystem.
 
=== ExtSaveData Archive Path Data Format ===
{| class="wikitable" border="1"
|-
! Index word
! Description
|-
| 0
| [[Mediatypes|Mediatype]]
|-
| 1
| Lower word saveid
|-
| 2
| Upper word saveid
|}
For FS, the file/directory lowpath is a text path in the [[extdata]] filesystem. For FSPXI, the file lowpath is a text path relative to the "/extdata/<ExtdataIDHigh>/<ExtdataIDLow>" directory on SD/NAND, for the cleartext extdata image to mount.
 
=== [[RomFS]] ===
The raw FS image for the main CXI RomFS(for the current app this is accessible via archiveid 0x3) can be accessed via an all-zero 0xc-byte binary file-lowpath. This allows access to the raw level-3 IVFC image: the user process must handle parsing the filesystem used in this image itself.
 
In this scenario, OpenFile returns a handle to the RomFS archive.
1,291

edits

Navigation menu