Difference between revisions of "FS:OpenFile"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x080201C2] |- | 1 | Usually zero? |- | 2 | Archive handle lower word |- | 3 | Arc...")
 
m (Add categories)
 
(27 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
=Request=
 
=Request=
{| class="wikitable" border="1"
+
{{IPC/Request|Request}}
|-
+
{{IPC/RequestHeader|0x0802|7|2}}
!  Index Word
+
{{IPC/RequestEntry|Transaction (usually 0)}}
!  Description
+
{{IPC/RequestEntryRange|2|u64, Archive Handle}}
|-
+
{{IPC/RequestEntry|[[Filesystem_services#PathType|Path Type]]}}
| 0
+
{{IPC/RequestEntry|Path Size (including null-terminator)}}
| Header code [0x080201C2]
+
{{IPC/RequestEntry|[[Filesystem_services#OpenFlags|Open Flags]]}}
|-
+
{{IPC/RequestEntry|[[Filesystem_services#Attributes|Attributes]] (usually 0)}}
| 1
+
{{IPC/TranslateStaticBuffer|Path Data Pointer|0}}
| Usually zero?
+
{{IPC/RequestEnd}}
|-
 
| 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) <nowiki>|</nowiki> 2
 
|-
 
| 9
 
| LowPath.Data pointer
 
|}
 
  
 
=Response=
 
=Response=
{| class="wikitable" border="1"
+
{{IPC/Request|Response}}
|-
+
{{IPC/RequestHeader|0x0802|1|2}}
!  Index Word
+
{{IPC/RequestEntry|Result code}}
!  Description
+
{{IPC/MoveHandle|1}}
|-
+
{{IPC/MoveHandleEntry|File client session handle}}
| 0
+
{{IPC/RequestEnd}}
| Header code
 
|-
 
| 1
 
| Resultcode
 
|-
 
| 2
 
| File handle
 
|}
 
  
=Openflags=
+
[[Category:fs:USER commands]]
{| class="wikitable" border="1"
+
[[Category:fs:LDR commands]]
|-
 
!  Bit
 
!  Description
 
|-
 
| 0
 
| Read
 
|-
 
| 1
 
| Write
 
|-
 
| 2
 
| Create
 
|}
 
 
 
=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
 
| Path char*
 
|-
 
| 4
 
| Path wchar_t*
 
|}
 

Latest revision as of 11:54, 20 September 2024

Request[edit]

Request Word Description
0
Header 0x080201C2 Cmd 0x0802 Param 7 Xlat 2
1 Transaction (usually 0)
2-3 u64, Archive Handle
4 Path Type
5 Path Size (including null-terminator)
6 Open Flags
7 Attributes (usually 0)
8 Descriptor for static buffer (id 0)
9 Path Data Pointer

Response[edit]

Response Word Description
0
Header 0x08020042 Cmd 0x0802 Param 1 Xlat 2
1 Result code
2 Descriptor for moving 1 handle
3 File client session handle