Add more const-ness to the stream endpoint/pipe functions where possible.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / CDC.c
index f95496e..838bd71 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
@@ -32,8 +32,8 @@
 #include "../../HighLevel/USBMode.h"
 #if defined(USB_CAN_BE_DEVICE)
 
 #include "../../HighLevel/USBMode.h"
 #if defined(USB_CAN_BE_DEVICE)
 
-#define  __INCLUDE_FROM_CDC_CLASS_DEVICE_C
 #define  __INCLUDE_FROM_CDC_DRIVER
 #define  __INCLUDE_FROM_CDC_DRIVER
+#define  __INCLUDE_FROM_CDC_DEVICE_C
 #include "CDC.h"
 
 void CDC_Device_Event_Stub(void)
 #include "CDC.h"
 
 void CDC_Device_Event_Stub(void)
@@ -134,7 +134,7 @@ bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfac
                }
 
                if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
                }
 
                if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
-                                                                                DoubleBanked ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
+                                                DoubleBanked ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
                {
                        return false;
                }
                {
                        return false;
                }
@@ -148,18 +148,30 @@ void CDC_Device_USBTask(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return;
 
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return;
 
+       #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
        CDC_Device_Flush(CDCInterfaceInfo);
        CDC_Device_Flush(CDCInterfaceInfo);
+       #endif
 }
 
 uint8_t CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
 }
 
 uint8_t CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
-                              const char* const Data,
-                              const uint16_t Length)
+                              const char* const String)
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return ENDPOINT_RWSTREAM_DeviceDisconnected;
 
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return ENDPOINT_RWSTREAM_DeviceDisconnected;
 
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
-       return Endpoint_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK);
+       return Endpoint_Write_Stream_LE(String, strlen(String), NULL);
+}
+
+uint8_t CDC_Device_SendData(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+                            const char* const Buffer,
+                            const uint16_t Length)
+{
+       if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+         return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+       Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
+       return Endpoint_Write_Stream_LE(Buffer, Length, NULL);
 }
 
 uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
 }
 
 uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
@@ -273,10 +285,10 @@ void CDC_Device_SendControlLineStateChange(USB_ClassInfo_CDC_Device_t* const CDC
                        .wLength       = sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
                };
 
                        .wLength       = sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
                };
 
-       Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
+       Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NULL);
        Endpoint_Write_Stream_LE(&CDCInterfaceInfo->State.ControlLineStates.DeviceToHost,
                                 sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
        Endpoint_Write_Stream_LE(&CDCInterfaceInfo->State.ControlLineStates.DeviceToHost,
                                 sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
-                                NO_STREAM_CALLBACK);
+                                NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }