Difference between revisions of "DSP:RegisterInterruptEvents"

From 3dbrew
Jump to navigation Jump to search
m (Small fixes)
m
 
(8 intermediate revisions by 6 users not shown)
Line 9: Line 9:
 
|-
 
|-
 
| 1
 
| 1
| param0
+
| Interrupt
 
|-
 
|-
 
| 2
 
| 2
| param1
+
| Channel
 
|-
 
|-
 
| 3
 
| 3
| 0?
+
| 0x0
 
|-
 
|-
 
| 4
 
| 4
| Event Handle
+
| Event handle (0 = unregister the event that was previous registered)
 
|}
 
|}
 +
 
=Response=
 
=Response=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 27: Line 28:
 
|-
 
|-
 
| 0
 
| 0
| Header code
+
| Header code [0x00150040]
 
|-
 
|-
 
| 1
 
| 1
 
| Result code
 
| Result code
 
|}
 
|}
 +
 +
=Description=
 +
Application should unregister the event by setting handle to zero. If the session was closed before the event was unregistered, it will cause a handle leak in DSP process.
 +
 +
DSP can hold up to 6 concurrent registrations. More than that will cause registration to fail.
 +
 +
Interrupts with interupt=2 are related to [[DSP:WriteProcessPipe|pipes]]. The channel argument is the same as the pipe channel argument. The interrupt is signalled when data is available on the related pipe or when a related event occurs.

Latest revision as of 23:44, 7 March 2016

Request[edit]

Index Word Description
0 Header code [0x00150082]
1 Interrupt
2 Channel
3 0x0
4 Event handle (0 = unregister the event that was previous registered)

Response[edit]

Index Word Description
0 Header code [0x00150040]
1 Result code

Description[edit]

Application should unregister the event by setting handle to zero. If the session was closed before the event was unregistered, it will cause a handle leak in DSP process.

DSP can hold up to 6 concurrent registrations. More than that will cause registration to fail.

Interrupts with interupt=2 are related to pipes. The channel argument is the same as the pipe channel argument. The interrupt is signalled when data is available on the related pipe or when a related event occurs.