FS:OpenFile: Difference between revisions
Jump to navigation
Jump to search
| Line 135: | Line 135: | ||
|- | |- | ||
| 0 | | 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. | 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. | ||
Revision as of 21:59, 23 August 2012
Request
| Index Word | Description |
|---|---|
| 0 | Header code [0x080201C2] |
| 1 | Transaction (usually 0) |
| 2 | Archive handle lower word |
| 3 | Archive handle upper word |
| 4 | LowPath.Type |
| 5 | LowPath.Size |
| 6 | OpenFlags |
| 7 | Attributes (usually 0) |
| 8 | (LowPath.Size<<14) | 2 |
| 9 | LowPath.Data pointer |
Response
| Index Word | Description |
|---|---|
| 0 | Header code |
| 1 | Resultcode |
| 3 | File handle |
OpenFlags
| Bit | Description |
|---|---|
| 0 | Read |
| 1 | Write |
| 2 | Create |
Attributes
| Flag | Description |
|---|---|
| 0x00000001 | Is Read-Only |
| 0x00000100 | Is Archive |
| 0x00010000 | Is Hidden |
| 0x01000000 | Is Directory |
LowPath
| 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
| Index word | Description |
|---|---|
| 0 | Mediatype (must be zero for NAND) |
| 1 | saveid |
The file/directory lowpath is a text lowpath in the savegame filesystem.
FSPXI
| Index word | Description |
|---|---|
| 0 | u8 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.
UserSaveDataForCheck Archive Path Data Format
| Index word | Description |
|---|---|
| 0 | 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 savegame filesystem.
ExtSaveData Archive Path Data Format
| Index word | Description |
|---|---|
| 0 | 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.