#
# UNrooted.net example hack
# Includes code which is Copyright Marcel Holtmann <marcel@holtmann.org>
#

Description:

    This package contains two utilities.  The first is an old hack I made which
    works over userspace serial ports presented as endpoints for rfcomm 
    communication.  The other is a tool written by Marcel Holtmann which 
    performs bluetooth operations directly.

    The second form (obextool) should be the preferred form.  The ussp-push
    version was developed before I had a good understanding of the way that
    BlueZ and rfcomm work.  But apparently a lot of people like the exposed
    /dev/rfcomm devices.  So I'm leaving the tool in here.


To use this you need :

    - OpenOBEX (http://sourceforge.net/projects/openobex/)
    - BlueZ (http://bluez.sourceforge.net/download/download.html)
    - rfcomm (http://www.holtmann.org/linux/bluetooth/rfcomm.html)


Usage notes:

    ussp-push
    ---------

    Using ussp-push is a two stage process.  First you need to use the rfcomm
    configuration utility to associate a given device and channel with an 
    rfcomm node.  Then you need to run the ussp-push utility against the device
    node to send the file.  The sequence looks like this:

        rfcomm bind 0 00:80:37:8E:51:B5 10
        ussp-push /dev/rfcomm0 ~/lain.gif Picture.gif

    The first command creates an association between the device with address
    00:80:37:8E:51:B5, using the rfcomm endpoint 10 on the remote device, and
    attaches it to /dev/rfcomm0 on the BlueZ side.  The ussp-push command just
    uses that device to perform the obex exchange.  Once you're done you should
    deallocate the rfcomm device:

        rfcomm release 0


    obextool
    --------

    Use of obextool should be a lot simpler.  You don't have to bind a device
    to the address/channel you want to use.  obextool takes those arguments
    directly, opens up the channel, performs the exchange, and then shuts 
    everything down:

        obextool push ~/Picture.gif 00:80:37:8E:51:B5 10
    
    No kidding.  It does the same thing.  Much prettier.  But if you want to 
    keep using the ussp-push version, that's cool.  But all your friends are
    using obextool.


Older versions:

    The original versions of obextool and ussp-push used a structure member 
    called 'userdata' which no longer exists.  Both have been updated to use
    the new name 'customdata'.  So if you've grabbed this package and now 
    ussp-push doesn't compile for you any more, even though it used to, this is
    probably the cause.  You can go and change the member name back, or you can
    grab the latest release of openobex.  The 1.0.0 full release uses the
    customdata name.

                         Enjoy,
                         Rev (reverend@unrooted.net)
