Difference between revisions of "FS:OpenFile"

m (Add categories)
 
(22 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}}
| Transaction (usually 0)
+
{{IPC/RequestEnd}}
|-
 
| 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)  <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
 
|-
 
| 3
 
| File handle
 
|}
 
  
=OpenFlags=
+
[[Category:fs:USER commands]]
{| class="wikitable" border="1"
+
[[Category:fs:LDR commands]]
|-
 
!  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 Directory
 
|}
 
 
 
=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.
 
|}
 

Latest revision as of 12:54, 20 September 2024

RequestEdit

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

ResponseEdit

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