Line 2:
Line 2:
==ioctl() interface==
==ioctl() interface==
+
===0x01 - UhsClassDrvReg()===
+
This function is used to register a USB class driver with UHS. Its input is a 24-byte buffer containing: a context pointer for a callback, the callback itself, and an [[#Interface Filter|interface filter buffer]] containing a series of parameters to filter the interfaces by, such as class, subclass, vendor ID, and product ID. When an interface matching the filter is added to UHS, it will trigger the callback, passing the context to it. The output is simply a 4-byte status code.
+
===0x04 - UhsAcquireInterface()===
===0x04 - UhsAcquireInterface()===
This function is used to acquire a USB device interface for use. Its input is a 12-byte buffer containing: a 32-bit interface handle, an unknown word, and a callback for when the acquire completes. No output is produced by IOSU.
This function is used to acquire a USB device interface for use. Its input is a 12-byte buffer containing: a 32-bit interface handle, an unknown word, and a callback for when the acquire completes. No output is produced by IOSU.