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. |