I've been working for a few weeks on an application to write data to a
USB device and receive input from that device. This has been a very
confusing and compicated endeavor, but I think I'm making some progress.
One thing that is really confusing me, however, is the use of Run Loops.
The sample code I am modifying sets up a run loop and adds a
notification port to it in order that notification events from the USB
IO device will be received. To do this it calls:
Then it makes a call to IOServiceAddMatchingNotification() ...