Fixed DFU class bootloader not resetting the LED pins as high impedance inputs when...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / StdDescriptors.h
index 1cb85d5..8b91977 100644 (file)
                         */
                        #define LANGUAGE_ID_ENG                   0x0409
 
-                       /** \name Endpoint Address Direction Masks */
-                       //@{
-                       /** Can be masked with an endpoint address for a \ref USB_Descriptor_Endpoint_t endpoint descriptor's
-                        *  EndpointAddress value to indicate to the host that the endpoint is of the IN direction (i.e, from
-                        *  device to host).
-                        */
-                       #define ENDPOINT_DESCRIPTOR_DIR_IN        0x80
-
-                       /** Can be masked with an endpoint address for a \ref USB_Descriptor_Endpoint_t endpoint descriptor's
-                        *  EndpointAddress value to indicate to the host that the endpoint is of the OUT direction (i.e, from
-                        *  host to device).
-                        */
-                       #define ENDPOINT_DESCRIPTOR_DIR_OUT       0x00
-                       //@}
-
                        /** \name USB Configuration Descriptor Attribute Masks */
                        //@{
-                       /** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
-                        *  descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
-                        *  from the host's VBUS line.
+                       /** Mask for the reserved bit in the Configuration Descriptor's \c ConfigAttributes field, which must be set on all
+                        *  devices for historial purposes.
                         */
-                       #define USB_CONFIG_ATTR_BUSPOWERED        0x80
+                       #define USB_CONFIG_ATTR_RESERVED          0x80
 
                        /** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
-                        *  descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
+                        *  descriptor's \c ConfigAttributes value to indicate that the specified configuration can draw its power
                         *  from the device's own power source.
                         */
                        #define USB_CONFIG_ATTR_SELFPOWERED       0x40
 
                        /** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
-                        *  descriptor's ConfigAttributes value to indicate that the specified configuration supports the
+                        *  descriptor's \c ConfigAttributes value to indicate that the specified configuration supports the
                         *  remote wakeup feature of the USB standard, allowing a suspended USB device to wake up the host upon
                         *  request.
                         */
                        #define USB_CONFIG_ATTR_REMOTEWAKEUP      0x20
                        //@}
-                       
+
                        /** \name Endpoint Descriptor Attribute Masks */
                        //@{
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is not synchronized.
+                        *  \c Attributes value to indicate that the specified endpoint is not synchronized.
                         *
                         *  \see The USB specification for more details on the possible Endpoint attributes.
                         */
                        #define ENDPOINT_ATTR_NO_SYNC             (0 << 2)
 
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is asynchronous.
+                        *  \c Attributes value to indicate that the specified endpoint is asynchronous.
                         *
                         *  \see The USB specification for more details on the possible Endpoint attributes.
                         */
                        #define ENDPOINT_ATTR_ASYNC               (1 << 2)
 
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is adaptive.
+                        *  \c Attributes value to indicate that the specified endpoint is adaptive.
                         *
                         *  \see The USB specification for more details on the possible Endpoint attributes.
                         */
                        #define ENDPOINT_ATTR_ADAPTIVE            (2 << 2)
 
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is synchronized.
+                        *  \c Attributes value to indicate that the specified endpoint is synchronized.
                         *
                         *  \see The USB specification for more details on the possible Endpoint attributes.
                         */
                        #define ENDPOINT_ATTR_SYNC                (3 << 2)
                        //@}
-                       
+
                        /** \name Endpoint Descriptor Usage Masks */
                        //@{
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is used for data transfers.
+                        *  \c Attributes value to indicate that the specified endpoint is used for data transfers.
                         *
                         *  \see The USB specification for more details on the possible Endpoint usage attributes.
                         */
                        #define ENDPOINT_USAGE_DATA               (0 << 4)
 
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is used for feedback.
+                        *  \c Attributes value to indicate that the specified endpoint is used for feedback.
                         *
                         *  \see The USB specification for more details on the possible Endpoint usage attributes.
                         */
                        #define ENDPOINT_USAGE_FEEDBACK           (1 << 4)
 
                        /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
-                        *  Attributes value to indicate that the specified endpoint is used for implicit feedback.
+                        *  \c Attributes value to indicate that the specified endpoint is used for implicit feedback.
                         *
                         *  \see The USB specification for more details on the possible Endpoint usage attributes.
                         */
                        #define ENDPOINT_USAGE_IMPLICIT_FEEDBACK  (2 << 4)
                        //@}
-                       
+
                /* Enums: */
                        /** Enum for the possible standard descriptor types, as given in each descriptor's header. */
                        enum USB_DescriptorTypes_t
                        {
                                USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
 
-                               #if ((ARCH == ARCH_AVR8) || (ARCH == ARCH_XMEGA))
+                               #if (((ARCH == ARCH_AVR8) || (ARCH == ARCH_XMEGA)) && !defined(__DOXYGEN__))
                                wchar_t  UnicodeString[];
                                #else
                                uint16_t UnicodeString[]; /**< String data, as unicode characters (alternatively,
                                                           *   Under GCC, strings prefixed with the "L" character (before
                                                           *   the opening string quotation mark) are considered to be
                                                           *   Unicode strings, and may be used instead of an explicit
-                                                          *   array of ASCII characters.
+                                                          *   array of ASCII characters on little endian devices with
+                                                          *   UTF-16-LE \c wchar_t encoding.
                                                           */
                                #endif
                        } ATTR_PACKED USB_Descriptor_String_t;