I've just been looking at the example code in the tarball (as I want to debug code in an ATTiny25 and I don't get much choice with the I/O). The usbdriver.h header is missing from the tarball so most of the defines are missing.
usb.h is the header file for libusb (v0.1, v1.0 has a different API) so you may need to install the libusb-dev package (or equivalent) on Linux for that. Since I'm OS X I'm going to steal it the header from my linux box. I have the library from installing the cross-pack tools.
I'm an embedded software engineer by default and I often have to debug, analyse and extend other people's code so I'm just going to look at avrdude and work out how it works from there. If you'd like a new example I'd be willing to write one.