diff options
-rw-r--r-- | README.devel | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/README.devel b/README.devel new file mode 100644 index 0000000..727e095 --- /dev/null +++ b/README.devel @@ -0,0 +1,50 @@ +Background +========== + +'libusbmuxd' makes it really simple to talk to a running 'usbmuxd' and +hides all the details for you. There are two function calls: + +usbmuxd_scan() +-------------- + +This returns a list of all available iPhone-like devices that are +available for talking to. The returned array contains the USB +product_id, hex formatted serial_number of any iPhones/iTouches and a +non-descript 'handle' for all those devices that are within range (as +of March 2009, that means a device directly plugged into the +computer's USB port). + +Once you have found the device you want to communicate with, take its +'handle' and pass this to usbmuxd_connect(). + +usbmuxd_connect() +----------------- + +This takes a handle, a destination port number and tries to setup +a proxy a connection. It returns a file-descriptor which you should +be able to read(), write() and select() on like any other active network +socket connection. + + +Technical details +================= + +When usbmuxd is running (normally started, or stopped as a result of +'udev' auto-insertion messages), it provides a socket interface in +'/var/run/usbmuxd' that is designed to be compatible with the socket +interface that is provided on MacOSX. + +The structures for communicating over this device are documented +in the 'usbmuxd-proto.h', but you shouldn't need to view them +directly if you are using the libusbmuxd.so library for easy access. + + +Example +======= + +#include <usbmuxd.h> + +... + +gcc -o leetphone leetphone.c -lusbmuxd + |