Difference between revisions of "MP:GetHandle"

From 3dbrew
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...")
 
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(presumably for each node on the network). When the index is 16, the handle is loaded from stateptrother+{someoffset}. When the index is >16, the handle is loaded from stateptrother+{someoffsetother}
+
* When the index is <16, the handle is loaded from an array of handles(presumably for each node on the network).
 +
* 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.

Revision as of 18:21, 23 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 handles(presumably for each node on the network).
  • 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.