FS:OpenFile: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Neimod (talk | contribs)
No edit summary
Neimod (talk | contribs)
No edit summary
Line 9: Line 9:
|-
|-
| 1
| 1
| Transaction (usually 0)
| Usually zero?
|-
|-
| 2
| 2
Line 24: Line 24:
|-
|-
| 6
| 6
| OpenFlags
| Openflags
|-
|-
| 7
| 7
| Attributes (usually 0)
| Usually zero?
|-
|-
| 8
| 8
Line 52: Line 52:
|}
|}


=OpenFlags=
=Openflags=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 68: Line 68:
|}
|}


= Attributes =
=LowPath=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Flag
Type
!  Description
!  Description
|-
|-
| 0x00000001
| 0 (INVALID)
| Is Read-Only
| Specifies an invalid path.
|-
|-
| 0x00000100
| 1 (EMPTY)
| Is Archive
| Specifies an empty path.
|-
|-
| 0x00010000
| 2 (BINARY)
| Is Hidden
| Specifies a binary path, which is non-text based.
|-
|-
| 0x01000000
| 3 (CHAR)
| Is Directory
| Specifies a text based path with a 8-bit byte per character.
|}
 
=LowPath Types=
{| class="wikitable" border="1"
|-
!  LowPath.Type
!  Description
|-
| 2
| ExeFS file path, first u32 in the LowPath.data buffer is an ID while the rest is the 8-byte filename
|-
|-
| 3
| 4 (WCHAR)
| Path char*
| Specifies a text based path with a 16-bit short per character.
|-
| 4
| Path wchar_t*
|}
|}

Revision as of 19:46, 20 April 2012

Request

Index Word Description
0 Header code [0x080201C2]
1 Usually zero?
2 Archive handle lower word
3 Archive handle upper word
4 LowPath.Type
5 LowPath.Size
6 Openflags
7 Usually zero?
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

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.