MP:GetHandle: Difference between revisions
Jump to navigation
Jump to search
Created page with "=Request= {{IPC/Request}} {{#vardefine:ipc_offset|0}} {{IPC/RequestEntry|Header code [0x00010040]}} {{IPC/RequestEntry|s32 index}} {{IPC/RequestEnd}} =Response= {{IPC/Request..." |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 18: | Line 18: | ||
This loads a handle from MP-sysmodule state. | This loads a handle from MP-sysmodule state. | ||
When the index is <16, the handle is loaded from an array of handles | * When the index is <16, the handle is loaded from an array of event handles. When eventhandle[nodeID] is signaled, this indicates that data is available via [[MP:RecvDataFrame]] with that same nodeID. | ||
* When the index is 16, the handle is loaded from stateptrother+{someoffset}. | |||
* When the index is >16(accessed via 17 by the user-process normally), the handle is loaded from stateptrother+{someoffsetother}. This is 0x3000-byte sharedmem, the user-process maps it with mypermissions=read-only and otherpermission=DONTCARE. | |||
Latest revision as of 00:56, 26 January 2017
Request
| Index Word | Description |
|---|---|
| 0 | Header code [0x00010040] |
| 1 | s32 index |
Response
| Index Word | Description |
|---|---|
| 0 | Header code |
| 1 | Result code |
| 2 | 0x0 Translate header for handle-transfer |
| 3 | Output handle |
Description
This loads a handle from MP-sysmodule state.
- When the index is <16, the handle is loaded from an array of event handles. When eventhandle[nodeID] is signaled, this indicates that data is available via MP:RecvDataFrame with that same nodeID.
- When the index is 16, the handle is loaded from stateptrother+{someoffset}.
- When the index is >16(accessed via 17 by the user-process normally), the handle is loaded from stateptrother+{someoffsetother}. This is 0x3000-byte sharedmem, the user-process maps it with mypermissions=read-only and otherpermission=DONTCARE.