* \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
DTYPE_Other = 0x07, /**< Indicates that the descriptor is of other type. */
DTYPE_InterfacePower = 0x08, /**< Indicates that the descriptor is an interface power descriptor. */
DTYPE_InterfaceAssociation = 0x0B, /**< Indicates that the descriptor is an interface association descriptor. */
+ DTYPE_CSInterface = 0x24, /**< Indicates that the descriptor is a class specific interface descriptor. */
+ DTYPE_CSEndpoint = 0x25, /**< Indicates that the descriptor is a class specific endpoint descriptor. */
};
/* Type Defines: */
* Type define for all descriptors' standard header, indicating the descriptor's length and type. This structure
* uses LUFA-specific element names to make each element's purpose clearer.
*
- * \see \ref USB_StdDescriptor_Header_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_Header_t for the version of this type with standard element names.
*/
typedef struct
{
* Type define for all descriptors' standard header, indicating the descriptor's length and type. This structure
* uses the relevant standard's given element names to ensure compatibility with the standard.
*
- * \see \ref USB_Descriptor_Header_t for the version of this define with non-standard LUFA specific element names.
+ * \see \ref USB_Descriptor_Header_t for the version of this type with non-standard LUFA specific element names.
*/
typedef struct
{
* Type define for a standard Device Descriptor. This structure uses LUFA-specific element names to make each
* element's purpose clearer.
*
- * \see \ref USB_StdDescriptor_Device_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_Device_t for the version of this type with standard element names.
*/
typedef struct
{
* Type define for a standard Device Descriptor. This structure uses the relevant standard's given element names
* to ensure compatibility with the standard.
*
- * \see \ref USB_Descriptor_Device_t for the version of this define with non-standard LUFA specific element names.
+ * \see \ref USB_Descriptor_Device_t for the version of this type with non-standard LUFA specific element names.
*/
typedef struct
{
* Type define for a standard Configuration Descriptor header. This structure uses LUFA-specific element names
* to make each element's purpose clearer.
*
- * \see \ref USB_StdDescriptor_Configuration_Header_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_Configuration_Header_t for the version of this type with standard element names.
*/
typedef struct
{
* Type define for a standard Configuration Descriptor header. This structure uses the relevant standard's given element names
* to ensure compatibility with the standard.
*
- * \see \ref USB_Descriptor_Device_t for the version of this define with non-standard LUFA specific element names.
+ * \see \ref USB_Descriptor_Device_t for the version of this type with non-standard LUFA specific element names.
*/
typedef struct
{
* Type define for a standard Interface Descriptor. This structure uses LUFA-specific element names
* to make each element's purpose clearer.
*
- * \see \ref USB_StdDescriptor_Interface_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_Interface_t for the version of this type with standard element names.
*/
typedef struct
{
* Type define for a standard Interface Descriptor. This structure uses the relevant standard's given element names
* to ensure compatibility with the standard.
*
- * \see \ref USB_Descriptor_Interface_t for the version of this define with non-standard LUFA specific element names.
+ * \see \ref USB_Descriptor_Interface_t for the version of this type with non-standard LUFA specific element names.
*/
typedef struct
{
* to make each element's purpose clearer.
*
* This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at
- * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows compound
+ * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows composite
* devices with multiple interfaces related to the same function to have the multiple interfaces bound
* together at the point of enumeration, loading one generic driver for all the interfaces in the single
* function. Read the ECN for more information.
*
- * \see \ref USB_StdDescriptor_Interface_Association_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_Interface_Association_t for the version of this type with standard element names.
*/
typedef struct
{
* element names to ensure compatibility with the standard.
*
* This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at
- * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows compound
+ * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows composite
* devices with multiple interfaces related to the same function to have the multiple interfaces bound
* together at the point of enumeration, loading one generic driver for all the interfaces in the single
* function. Read the ECN for more information.
*
- * \see \ref USB_Descriptor_Interface_Association_t for the version of this define with non-standard LUFA specific
+ * \see \ref USB_Descriptor_Interface_Association_t for the version of this type with non-standard LUFA specific
* element names.
*/
typedef struct
* Type define for a standard Endpoint Descriptor. This structure uses LUFA-specific element names
* to make each element's purpose clearer.
*
- * \see \ref USB_StdDescriptor_Endpoint_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_Endpoint_t for the version of this type with standard element names.
*/
typedef struct
{
* Type define for a standard Endpoint Descriptor. This structure uses the relevant standard's given
* element names to ensure compatibility with the standard.
*
- * \see \ref USB_Descriptor_Endpoint_t for the version of this define with non-standard LUFA specific
+ * \see \ref USB_Descriptor_Endpoint_t for the version of this type with non-standard LUFA specific
* element names.
*/
typedef struct
*
* This structure uses LUFA-specific element names to make each element's purpose clearer.
*
- * \see \ref USB_StdDescriptor_String_t for the version of this define with standard element names.
+ * \see \ref USB_StdDescriptor_String_t for the version of this type with standard element names.
*/
typedef struct
{
*
* This structure uses the relevant standard's given element names to ensure compatibility with the standard.
*
- * \see \ref USB_Descriptor_String_t for the version of this define with with non-standard LUFA specific
+ * \see \ref USB_Descriptor_String_t for the version of this type with with non-standard LUFA specific
* element names.
*/
typedef struct