Add more const-ness to the stream endpoint/pipe functions where possible.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Common / CDC.h
index 48ea196..52107d6 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
@@ -40,7 +40,7 @@
 /** \ingroup Group_USBClassCDC
  *  @defgroup Group_USBClassCDCCommon  Common Class Definitions
  *
 /** \ingroup Group_USBClassCDC
  *  @defgroup Group_USBClassCDCCommon  Common Class Definitions
  *
- *  \section Module Description
+ *  \section Sec_ModDescription Module Description
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
  *  CDC Class.
  *
  *  Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
  *  CDC Class.
  *
@@ -66,6 +66,8 @@
                #endif
 
        /* Macros: */
                #endif
 
        /* Macros: */
+               /** \name Virtual Control Line Masks */
+               //@{
                /** Mask for the DTR handshake line for use with the \ref CDC_REQ_SetControlLineState class-specific request
                 *  from the host, to indicate that the DTR line state should be high.
                 */
                /** Mask for the DTR handshake line for use with the \ref CDC_REQ_SetControlLineState class-specific request
                 *  from the host, to indicate that the DTR line state should be high.
                 */
                 *  to indicate that a data overrun error has occurred on the virtual serial port.
                 */
                #define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6)
                 *  to indicate that a data overrun error has occurred on the virtual serial port.
                 */
                #define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6)
-
+               //@}
+               
                /** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
                 *  uniform structure but variable sized data payloads, thus cannot be represented accurately by
                 *  a single typedef struct. A macro is used instead so that functional descriptors can be created
                /** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
                 *  uniform structure but variable sized data payloads, thus cannot be represented accurately by
                 *  a single typedef struct. A macro is used instead so that functional descriptors can be created
-                *  easily by specifying the size of the payload. This allows sizeof() to work correctly.
+                *  easily by specifying the size of the payload. This allows \c sizeof() to work correctly.
                 *
                 *  \param[in] DataSize  Size in bytes of the CDC functional descriptor's data payload.
                 */
                 *
                 *  \param[in] DataSize  Size in bytes of the CDC functional descriptor's data payload.
                 */
                enum CDC_DescriptorSubtypes_t
                {
                        CDC_DSUBTYPE_CSInterface_Header           = 0x00, /**< CDC class-specific Header functional descriptor. */
                enum CDC_DescriptorSubtypes_t
                {
                        CDC_DSUBTYPE_CSInterface_Header           = 0x00, /**< CDC class-specific Header functional descriptor. */
-                       CDC_DSUBTYPE_CSInterface_CallManagement   = 0x01, /**< CDC class-specific Call Managment functional descriptor. */
+                       CDC_DSUBTYPE_CSInterface_CallManagement   = 0x01, /**< CDC class-specific Call Management functional descriptor. */
                        CDC_DSUBTYPE_CSInterface_ACM              = 0x02, /**< CDC class-specific Abstract Control Model functional descriptor. */
                        CDC_DSUBTYPE_CSInterface_DirectLine       = 0x03, /**< CDC class-specific Direct Line functional descriptor. */
                        CDC_DSUBTYPE_CSInterface_TelephoneRinger  = 0x04, /**< CDC class-specific Telephone Ringer functional descriptor. */
                        CDC_DSUBTYPE_CSInterface_ACM              = 0x02, /**< CDC class-specific Abstract Control Model functional descriptor. */
                        CDC_DSUBTYPE_CSInterface_DirectLine       = 0x03, /**< CDC class-specific Direct Line functional descriptor. */
                        CDC_DSUBTYPE_CSInterface_TelephoneRinger  = 0x04, /**< CDC class-specific Telephone Ringer functional descriptor. */
                                                          *   must be \ref CDC_DSUBTYPE_CSInterface_ACM.
                                                          */
                        uint8_t                 Capabilities; /**< Capabilities of the ACM interface, given as a bit mask. For most devices,
                                                          *   must be \ref CDC_DSUBTYPE_CSInterface_ACM.
                                                          */
                        uint8_t                 Capabilities; /**< Capabilities of the ACM interface, given as a bit mask. For most devices,
-                                                              *   this should be set to a fixed value of 0x06 - for other capabiltiies, refer
+                                                              *   this should be set to a fixed value of 0x06 - for other capabilities, refer
                                                               *   to the CDC ACM specification.
                                                               */
                } USB_CDC_Descriptor_FunctionalACM_t;
                                                               *   to the CDC ACM specification.
                                                               */
                } USB_CDC_Descriptor_FunctionalACM_t;
                                                     *   must be \ref CDC_DSUBTYPE_CSInterface_ACM.
                                                     */
                        uint8_t bmCapabilities; /**< Capabilities of the ACM interface, given as a bit mask. For most devices,
                                                     *   must be \ref CDC_DSUBTYPE_CSInterface_ACM.
                                                     */
                        uint8_t bmCapabilities; /**< Capabilities of the ACM interface, given as a bit mask. For most devices,
-                                                *   this should be set to a fixed value of 0x06 - for other capabiltiies, refer
+                                                *   this should be set to a fixed value of 0x06 - for other capabilities, refer
                                                 *   to the CDC ACM specification.
                                                 */
                } USB_CDC_StdDescriptor_FunctionalACM_t;
                                                 *   to the CDC ACM specification.
                                                 */
                } USB_CDC_StdDescriptor_FunctionalACM_t;
                        uint8_t bSlaveInterface0; /**< Interface number of the CDC Data interface. */
                } USB_CDC_StdDescriptor_FunctionalUnion_t;
                
                        uint8_t bSlaveInterface0; /**< Interface number of the CDC Data interface. */
                } USB_CDC_StdDescriptor_FunctionalUnion_t;
                
-               /** Type define for a CDC Line Encoding structure, used to hold the various encoding parameters for a virtual
+               /** \brief CDC Virtual Serial Port Line Encoding Settings Structure.
+                *
+                *  Type define for a CDC Line Encoding structure, used to hold the various encoding parameters for a virtual
                 *  serial port.
                 */
                typedef struct
                 *  serial port.
                 */
                typedef struct