Oops - fix type preventing compilation of demos using the class drivers.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / CDC.h
index 164e94f..cc7465d 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
+     Copyright (C) Dean Camera, 2011.
 
   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
@@ -44,7 +44,7 @@
  *  The following files must be built with any user project that uses this module:
  *    - LUFA/Drivers/USB/Class/Host/CDC.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 CDC USB Class driver.
  *
  *  @{
@@ -79,7 +79,7 @@
                        /** \brief CDC 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 CDC class driver functions as the CDCInterfaceInfo parameter. This
+                        *  and passed to each of the CDC class driver functions as the \c CDCInterfaceInfo parameter. This
                         *  stores each CDC interface's configuration and state information.
                         */
                        typedef struct
 
                                        struct
                                        {
-                                               uint8_t HostToDevice; /**< Control line states from the host to device, as a set of CDC_CONTROL_LINE_OUT_*
+                                               uint8_t HostToDevice; /**< Control line states from the host to device, as a set of \c CDC_CONTROL_LINE_OUT_*
                                                                                           *   masks - to notify the device of changes to these values, call the
                                                                                           *   \ref CDC_Host_SendControlLineStateChange() function.
                                                                                           */
-                                               uint8_t DeviceToHost; /**< Control line states from the device to host, as a set of CDC_CONTROL_LINE_IN_*
+                                               uint8_t DeviceToHost; /**< Control line states from the device to host, as a set of \c CDC_CONTROL_LINE_IN_*
                                                                                           *   masks. This value is updated each time \ref CDC_Host_USBTask() is called.
                                                                                           */
                                        } ControlLineStates; /**< Current states of the virtual serial port's control lines between the device and host. */
                                CDC_ENUMERROR_NoError                    = 0, /**< Configuration Descriptor was processed successfully. */
                                CDC_ENUMERROR_InvalidConfigDescriptor    = 1, /**< The device returned an invalid Configuration Descriptor. */
                                CDC_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible CDC interface was not found in the device's Configuration Descriptor. */
+                               CDC_ENUMERROR_PipeConfigurationFailed    = 3, /**< One or more pipes for the specified interface could not be configured correctly. */
                        };
 
                /* Function Prototypes: */
                                                        uint16_t ConfigDescriptorSize,
                                                        void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
 
-                       /** Sets the line encoding for the attached device's virtual serial port. This should be called when the LineEncoding
+                       /** Sets the line encoding for the attached device's virtual serial port. This should be called when the \c LineEncoding
                         *  values of the interface have been changed to push the new settings to the USB device.
                         *
                         *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state.
 
                        /** Sends a Serial Control Line State Change notification to the device. This should be called when the virtual serial
                         *  control lines (DTR, RTS, etc.) have changed states. Line states persist until they are cleared via a second
-                        *  notification. This should be called each time the CDC class driver's ControlLineStates.HostToDevice value is updated
+                        *  notification. This should be called each time the CDC class driver's \c ControlLineStates.HostToDevice value is updated
                         *  to push the new states to the USB device.
                         *
                         *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state.
                        uint8_t CDC_Host_Flush(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
                        /** Creates a standard character stream for the given CDC Device instance so that it can be used with all the regular
-                        *  functions in the avr-libc <stdio.h> library that accept a FILE stream as a destination (e.g. fprintf). The created
+                        *  functions in the avr-libc \c <stdio.h> library that accept a FILE stream as a destination (e.g. fprintf). The created
                         *  stream is bidirectional and can be used for both input and output functions.
                         *
-                        *  \note The created stream can be given as stdout if desired to direct the standard output from all <stdio.h> functions
+                        *  \note The created stream can be given as stdout if desired to direct the standard output from all \c <stdio.h> functions
                         *        to the given CDC interface.
                         *
                         *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state.
                         *  the host of a control line state change (containing the virtual serial control line states, such as DCD) and may be hooked in the
                         *  user program by declaring a handler function with the same name and parameters listed here. The new control line states
                         *  are available in the ControlLineStates.DeviceToHost value inside the CDC host interface structure passed as a parameter, set as
-                        *  a mask of CDC_CONTROL_LINE_IN_* masks.
+                        *  a mask of \c CDC_CONTROL_LINE_IN_* masks.
                         *
                         *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state.
                         */
 
        /* Private Interface - For use in library only: */
        #if !defined(__DOXYGEN__)
-               /* Macros: */
-                       #define CDC_CONTROL_CLASS               0x02
-                       #define CDC_CONTROL_SUBCLASS            0x02
-                       #define CDC_CONTROL_PROTOCOL            0x01
-                       #define CDC_DATA_CLASS                  0x0A
-                       #define CDC_DATA_SUBCLASS               0x00
-                       #define CDC_DATA_PROTOCOL               0x00
-
                /* Function Prototypes: */
                        #if defined(__INCLUDE_FROM_CDC_HOST_C)
                                static int CDC_Host_putchar(char c,
                                static int CDC_Host_getchar(FILE* Stream) ATTR_NON_NULL_PTR_ARG(1);
                                static int CDC_Host_getchar_Blocking(FILE* Stream) ATTR_NON_NULL_PTR_ARG(1);
 
-                               void CDC_Host_Event_Stub(void);
+                               void CDC_Host_Event_Stub(void) ATTR_CONST;
                                void EVENT_CDC_Host_ControLineStateChanged(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
                                                                           ATTR_WEAK ATTR_NON_NULL_PTR_ARG(1) ATTR_ALIAS(CDC_Host_Event_Stub);