Oops - restore deleted MissileLauncher project, fix all spelling errors for "missile...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / CDC.h
index 292411b..e39333e 100644 (file)
                #endif\r
 \r
        /* Public Interface - May be used in end-application: */\r
                #endif\r
 \r
        /* Public Interface - May be used in end-application: */\r
+               /* Type Defines: */\r
+                       typedef struct\r
+                       {\r
+                               uint8_t  ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device */\r
+\r
+                               uint8_t  DataINPipeNumber; /**< Pipe number of the CDC interface's IN data pipe */\r
+                               uint16_t DataINPipeSize; /**< Size in bytes of the CDC interface's IN data pipe */\r
+\r
+                               uint8_t  DataOUTPipeNumber; /**< Pipe number of the CDC interface's OUT data pipe */\r
+                               uint16_t DataOUTPipeSize;  /**< Size in bytes of the CDC interface's OUT data pipe */\r
+\r
+                               uint8_t  NotificationPipeNumber; /**< Pipe number of the CDC interface's IN notification endpoint, if used */\r
+                               uint16_t NotificationPipeSize;  /**< Size in bytes of the CDC interface's IN notification endpoint, if used */\r
+\r
+                               uint8_t  ControlLineState; /**< Current control line states */\r
+\r
+                               struct\r
+                               {\r
+                                       uint32_t BaudRateBPS; /**< Baud rate of the virtual serial port, in bits per second */\r
+                                       uint8_t  CharFormat; /**< Character format of the virtual serial port, a value from the\r
+                                                                                 *   CDCDevice_CDC_LineCodingFormats_t enum\r
+                                                                                 */\r
+                                       uint8_t  ParityType; /**< Parity setting of the virtual serial port, a value from the\r
+                                                                                 *   CDCDevice_LineCodingParity_t enum\r
+                                                                                 */\r
+                                       uint8_t  DataBits; /**< Bits of data per character of the virtual serial port */\r
+                               } LineEncoding;\r
+                       } USB_ClassInfo_CDC_Host_t;\r
+                       \r
+               /* Enums: */\r
+                       typedef enum\r
+                       {\r
+                               CDC_ENUMERROR_NoError                    = 0, /**< Configuration Descriptor was processed successfully */\r
+                               CDC_ENUMERROR_ControlError               = 1, /**< A control request to the device failed to complete successfully */\r
+                               CDC_ENUMERROR_DescriptorTooLarge         = 2, /**< The device's Configuration Descriptor is too large to process */\r
+                               CDC_ENUMERROR_InvalidConfigDataReturned  = 3, /**< The device returned an invalid Configuration Descriptor */\r
+                               CDC_ENUMERROR_NoCDCInterfaceFound        = 4, /**< A compatible CDC interface was not found in the device's Configuration Descriptor */\r
+                               CDC_ENUMERROR_NoEndpointFound            = 5, /**< Compatible CDC endpoints were not found in the device's CDC interface */\r
+                       } CDCHost_EnumerationFailure_ErrorCodes_t;\r
+       \r
                /* Function Prototypes: */\r
                /* Function Prototypes: */\r
-                       void CDC_Host_Task(void);\r
+                       void CDC_Host_USBTask(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);\r
 \r
        /* Private Interface - For use in library only: */\r
        #if !defined(__DOXYGEN__)\r
 \r
        /* Private Interface - For use in library only: */\r
        #if !defined(__DOXYGEN__)\r