Add custom footer to the main library documentation.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / RNDIS.h
index 5ff2e1b..3b3880d 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
+     Copyright (C) Dean Camera, 2011.
 
   dean [at] fourwalledcubicle [dot] com
 
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -33,8 +33,8 @@
  *
  *  Host mode driver for the library USB RNDIS Class driver.
  *
  *
  *  Host mode driver for the library USB RNDIS Class driver.
  *
- *  \note This file should not be included directly. It is automatically included as needed by the class driver
- *        dispatch header located in LUFA/Drivers/USB/Class/RNDIS.h.
+ *  \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ *        dispatch header located in LUFA/Drivers/USB.h.
  */
 
 /** \ingroup Group_USBClassRNDIS
  */
 
 /** \ingroup Group_USBClassRNDIS
@@ -44,7 +44,7 @@
  *  The following files must be built with any user project that uses this module:
  *    - LUFA/Drivers/USB/Class/Host/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
  *
  *  The following files must be built with any user project that uses this module:
  *    - LUFA/Drivers/USB/Class/Host/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
  *
- *  \section Module Description
+ *  \section Sec_ModDescription Module Description
  *  Host Mode USB Class driver framework interface, for the Microsoft RNDIS Ethernet
  *  USB Class driver.
  *
  *  Host Mode USB Class driver framework interface, for the Microsoft RNDIS Ethernet
  *  USB Class driver.
  *
 
        /* Preprocessor Checks: */
                #if !defined(__INCLUDE_FROM_RNDIS_DRIVER)
 
        /* Preprocessor Checks: */
                #if !defined(__INCLUDE_FROM_RNDIS_DRIVER)
-                       #error Do not include this file directly. Include LUFA/Drivers/Class/RNDIS.h instead.
+                       #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+               #endif
+
+               #if defined(__INCLUDE_FROM_RNDIS_HOST_C) && defined(NO_STREAM_CALLBACKS)
+                       #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
                #endif
 
        /* Public Interface - May be used in end-application: */
                #endif
 
        /* Public Interface - May be used in end-application: */
                                RNDIS_ENUMERROR_NoError                    = 0, /**< Configuration Descriptor was processed successfully. */
                                RNDIS_ENUMERROR_InvalidConfigDescriptor    = 1, /**< The device returned an invalid Configuration Descriptor. */
                                RNDIS_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible RNDIS interface was not found in the device's Configuration Descriptor. */
                                RNDIS_ENUMERROR_NoError                    = 0, /**< Configuration Descriptor was processed successfully. */
                                RNDIS_ENUMERROR_InvalidConfigDescriptor    = 1, /**< The device returned an invalid Configuration Descriptor. */
                                RNDIS_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible RNDIS interface was not found in the device's Configuration Descriptor. */
+                               RNDIS_ENUMERROR_PipeConfigurationFailed    = 3, /**< One or more pipes for the specified interface could not be configured correctly. */
                        };
 
                /* Macros: */
                        };
 
                /* Macros: */
 
        /* Private Interface - For use in library only: */
        #if !defined(__DOXYGEN__)
 
        /* Private Interface - For use in library only: */
        #if !defined(__DOXYGEN__)
-               /* Macros: */
-                       #define RNDIS_CONTROL_CLASS               0x02
-                       #define RNDIS_CONTROL_SUBCLASS            0x02
-                       #define RNDIS_CONTROL_PROTOCOL            0xFF
-                       #define RNDIS_DATA_CLASS                  0x0A
-                       #define RNDIS_DATA_SUBCLASS               0x00
-                       #define RNDIS_DATA_PROTOCOL               0x00
-
                /* Function Prototypes: */
                /* Function Prototypes: */
-                       #if defined(__INCLUDE_FROM_RNDIS_CLASS_HOST_C)
+                       #if defined(__INCLUDE_FROM_RNDIS_HOST_C)
                                static uint8_t RNDIS_SendEncapsulatedCommand(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
                                                                             void* Buffer,
                                                                             const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
                                static uint8_t RNDIS_SendEncapsulatedCommand(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
                                                                             void* Buffer,
                                                                             const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)