Line 6:
Line 6:
All buffers must be in MEM2 (addr > 0x10000000) and aligned to a 32-byte boundary. For all of the ioctlvs, the first buffer must be 64 bytes long.
All buffers must be in MEM2 (addr > 0x10000000) and aligned to a 32-byte boundary. For all of the ioctlvs, the first buffer must be 64 bytes long.
+
+
Only IOS_OPEN, IOS_CLOSE, IOS_IOCTL and IOS_IOCTLV are valid commands. The other commands immediately return IPC_EINVAL (-4).
+
+
== Handles ==
+
Up to 16 handles can be opened, each with their own device change hook. The handle ID is specified in the open request as the "mode". IPC_EINVAL will be returned if an ID that is in use is passed.
=== Ioctls ===
=== Ioctls ===
{| class="wikitable"
{| class="wikitable"
|-
|-
−
! Ioctlv
+
! Ioctl
! Parameters
! Parameters
! Function
! Function