From c6b43ebca43b2a44bccd15bf950e1cad921071b1 Mon Sep 17 00:00:00 2001 From: Paul Sladen Date: Sun, 29 Mar 2009 19:47:54 +0200 Subject: [PATCH] Add a "README.devel" Signed-off-by: Nikias Bassen --- README.devel | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.devel (limited to 'README.devel') 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 + +... + +gcc -o leetphone leetphone.c -lusbmuxd + -- cgit v1.1-32-gdbae