Difference between revisions of "FS:OpenFile"

From 3dbrew
Jump to navigation Jump to search
Line 9: Line 9:
 
|-
 
|-
 
| 1
 
| 1
| Usually zero?
+
| Transaction (usually 0)
 
|-
 
|-
 
| 2
 
| 2
Line 24: Line 24:
 
|-
 
|-
 
| 6
 
| 6
| Openflags
+
| OpenFlags
 
|-
 
|-
 
| 7
 
| 7
| Usually zero?
+
| Attributes (usually 0)
 
|-
 
|-
 
| 8
 
| 8
Line 52: Line 52:
 
|}
 
|}
  
=Openflags=
+
=OpenFlags=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 66: Line 66:
 
| 2
 
| 2
 
| Create
 
| Create
 +
|}
 +
 +
= Attributes =
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Flag
 +
!  Description
 +
|-
 +
| 0x00000001
 +
| Is Read-Only
 +
|-
 +
| 0x00000100
 +
| Is Archive
 +
|-
 +
| 0x00010000
 +
| Is Hidden
 +
|-
 +
| 0x01000000
 +
| Is Directory
 
|}
 
|}
  

Revision as of 19:26, 20 April 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 Types

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 Path char*
4 Path wchar_t*