USB Host Example Class Drivers
01/21/04

This directory comtains examples on how to write class drivers using the
USB host libraries.  The class drivers are started by calling there corresponding
init routines.  You must load the USB host library (usbHostInit()) prior to running
the USB class drivers.  These drivers are intended to be examples only and are not
complete.  Please read the USB host API before looking at these examples. All the
examples have the same general structure.

    1. They all have an Init routine (ex: usbMouseInit) which call usbRegister() to register
       the probe and disconnect routines.
    2. They wait for the probe routine to be called, once this routine is called
       they check to see if it's a device they are looking for. If it's a device 
       they are looking for they configure it.
    3. In the cause of low speed the probe routine will call usbRequestIrq() to register
       an IRQ handler which will be called as the device is being polled.
    4. In the case of full speed devices, they can start calling usbBulkIn() and
       usbBulkOut() to start receiving and sending data.
    5. Low speed devices wait for there IRD handlers to be called when data arrives.
    6. As devices are disconnected the disconnect routine registered in step 1 is
       called. 

The following drivers are included:
    1. Print Driver:    usbPrinterDriver.c
    2. Mouse:           usbMouse.c
    3. Keyboard:        usbKeyBoard.c
    4. Hub:             usbHub.c
