Add code to start the USBB Generic Clock from the user-specified master clock source...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / RNDIS.h
index b7f844e..376cc59 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
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] 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
  */
 
 /** \ingroup Group_USBClassRNDIS
  */
 
 /** \ingroup Group_USBClassRNDIS
- *  @defgroup Group_USBClassRNDISHost RNDIS Class Host Mode Driver
+ *  \defgroup Group_USBClassRNDISHost RNDIS Class Host Mode Driver
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  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 Sec_Dependencies Module Source Dependencies
  *  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.
  *
@@ -58,9 +58,6 @@
                #include "../../USB.h"
                #include "../Common/RNDIS.h"
 
                #include "../../USB.h"
                #include "../Common/RNDIS.h"
 
-               #include <stdio.h>
-               #include <string.h>
-
        /* Enable C linkage for C++ Compilers: */
                #if defined(__cplusplus)
                        extern "C" {
        /* Enable C linkage for C++ Compilers: */
                #if defined(__cplusplus)
                        extern "C" {
                        #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
                #endif
 
                        #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: */
                /* Type Defines: */
                        /** \brief RNDIS Class Host Mode Configuration and State Structure.
                         *
                         *  Class state structure. An instance of this structure should be made within the user application,
        /* Public Interface - May be used in end-application: */
                /* Type Defines: */
                        /** \brief RNDIS Class Host Mode Configuration and State Structure.
                         *
                         *  Class state structure. An instance of this structure should be made within the user application,
-                        *  and passed to each of the RNDIS class driver functions as the RNDISInterfaceInfo parameter. This
+                        *  and passed to each of the RNDIS class driver functions as the \c RNDISInterfaceInfo parameter. This
                         *  stores each RNDIS interface's configuration and state information.
                         */
                        typedef struct
                         *  stores each RNDIS interface's configuration and state information.
                         */
                        typedef struct
                                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: */
                         *
                         *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing an RNDIS Class host configuration and state.
                         *
                         *
                         *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing an RNDIS Class host configuration and state.
                         *
-                        *  \return Boolean true if a packet is waiting to be read in by the host, false otherwise.
+                        *  \return Boolean \c true if a packet is waiting to be read in by the host, \c false otherwise.
                         */
                        bool RNDIS_Host_IsPacketReceived(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
                         */
                        bool RNDIS_Host_IsPacketReceived(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);