Line 53:
Line 53:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
−
! Descriptor
+
! Type
+
! scope="col" width="150" | Usual form
! Description
! Description
|-
|-
+
| 0
| 0x00000000
| 0x00000000
−
| The corresponding value is a KHandle, that should be closed in calling process
+
<handle>
+
| The corresponding value is a KHandle, that should be closed in calling process.
|-
|-
+
| 0
| 0x00000010
| 0x00000010
−
| The corresponding value is a KHandle, that will be duplicated
+
<handle>
+
| The corresponding value is a KHandle, that will be duplicated.
|-
|-
+
| 0
| 0x00000020
| 0x00000020
−
| Let kernel set value to calling process ProcessID
+
<placeholder>
+
| Let kernel set value to calling process ProcessID.
|-
|-
+
| 1
| 0x0000???2 <nowiki>|</nowiki> (size<<14)
| 0x0000???2 <nowiki>|</nowiki> (size<<14)
+
<ptr>
| The corresponding value contains a ptr to a buffer of said size, that should be copied to an already set-up buffer in destination process at threadlocalstorage+0x180.
| The corresponding value contains a ptr to a buffer of said size, that should be copied to an already set-up buffer in destination process at threadlocalstorage+0x180.
|-
|-
−
| 0x0000000A <nowiki>|</nowiki> (size<<4)
+
| 2
−
| The corresponding value contains a ptr to a input buffer of said size.
+
| 0x00000004
−
It will get mapped at virtual address 0x04000000+ in destination process.
+
| Does something weird.
|-
|-
+
| 3
+
| 0x00000006
+
| Does nothing?
+
|-
+
| 4
+
| 0x00000008
+
| This command will cause a kernelpanic.
+
|-
+
| 5
+
| <nowiki>0x0000000A | (size<<4)</nowiki>
+
<ptr>
+
| The corresponding value contains a ptr to a buffer of said size.
+
|-
+
| 6
| 0x0000000C <nowiki>|</nowiki> (size<<4)
| 0x0000000C <nowiki>|</nowiki> (size<<4)
−
| The corresponding value contains a ptr to a output buffer of said size.
+
<ptr>
−
It will get mapped at virtual address 0x04000000+ in destination process.
+
| The corresponding value contains a ptr to a buffer of said size.
+
|-
+
| 7
+
| 0x0000000E <nowiki>|</nowiki> (size<<4)
+
<ptr>
+
| The corresponding value contains a ptr to a buffer of said size.
|}
|}
+
+
Buffers from commands 5,6,7 will get mapped at virtual address 0x04000000+ in destination process.