aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Host/CDC.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-08-11 01:52:15 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-08-11 01:52:15 +0000
commit8711dc7ced0ed02a33a96222d86bd27f65c239ed (patch)
tree0903f849fab0d0d26d6d5bd1af94327faebb7939 /LUFA/Drivers/USB/Class/Host/CDC.h
parenta459f10b0c1a3e02f160ff3a1a2a0b45ae5b69a7 (diff)
downloadlufa-8711dc7ced0ed02a33a96222d86bd27f65c239ed.tar.gz
lufa-8711dc7ced0ed02a33a96222d86bd27f65c239ed.tar.bz2
lufa-8711dc7ced0ed02a33a96222d86bd27f65c239ed.zip
Fix issue in CDC device class driver where received data the size of the data endpoint could lock up the driver.
Further work on the new CDC and HID host mode class drivers. Reset changelog et. al. to reset development information for the new version currently under development.
Diffstat (limited to 'LUFA/Drivers/USB/Class/Host/CDC.h')
-rw-r--r--LUFA/Drivers/USB/Class/Host/CDC.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/LUFA/Drivers/USB/Class/Host/CDC.h b/LUFA/Drivers/USB/Class/Host/CDC.h
index 5e0e4690c..79df489ff 100644
--- a/LUFA/Drivers/USB/Class/Host/CDC.h
+++ b/LUFA/Drivers/USB/Class/Host/CDC.h
@@ -71,6 +71,10 @@
*/
struct
{
+ bool Active; /**< Indicates if the current interface instance is connected to an attached device */
+
+ uint8_t ControlInterfaceNumber; /**< Interface index of the CDC-ACM control interface within the attached device */
+
uint16_t DataINPipeSize; /**< Size in bytes of the CDC interface's IN data pipe */
uint16_t DataOUTPipeSize; /**< Size in bytes of the CDC interface's OUT data pipe */
uint16_t NotificationPipeSize; /**< Size in bytes of the CDC interface's IN notification endpoint, if used */
@@ -118,8 +122,6 @@
uint8_t CDC_Host_ConfigurePipes(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint16_t ConfigDescriptorLength,
uint8_t* DeviceConfigDescriptor);
- void EVENT_CDC_Host_ControLineStateChanged(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);
-
uint8_t CDC_Host_SetLineEncoding(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);
uint8_t CDC_Host_SendControlLineStateChange(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);
@@ -144,6 +146,9 @@
/* Function Prototypes: */
#if defined(INCLUDE_FROM_CDC_CLASS_HOST_C)
+ void CDC_Host_Event_Stub(void);
+ void EVENT_CDC_Host_ControLineStateChanged(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo)
+ ATTR_WEAK ATTR_ALIAS(CDC_Host_Event_Stub);
static uint8_t DComp_CDC_Host_NextCDCControlInterface(void* CurrentDescriptor);
static uint8_t DComp_CDC_Host_NextCDCDataInterface(void* CurrentDescriptor);
static uint8_t DComp_CDC_Host_NextInterfaceCDCDataEndpoint(void* CurrentDescriptor);