Get rid of the redundant ATTR_NEVER_INLINE macro which translated to the same as...
[pub/USBasp.git] / Demos / Device / Incomplete / TestAndMeasurement / Descriptors.h
index f33ba19..0746448 100644 (file)
@@ -1,22 +1,22 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
-              
+     Copyright (C) Dean Camera, 2013.
+
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com)
   Copyright 2010  Peter Lawrence (majbthrd [at] gmail [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaims all warranties with regard to this
@@ -33,7 +33,7 @@
  *
  *  Header file for Descriptors.c.
  */
+
 #ifndef _DESCRIPTORS_H_
 #define _DESCRIPTORS_H_
 
@@ -66,7 +66,7 @@
                typedef struct
                {
                        USB_Descriptor_Configuration_Header_t Config;
-                       
+
                        // Test and Measurement Interface
                        USB_Descriptor_Interface_t            TM_Interface;
                        USB_Descriptor_Endpoint_t             TM_DataOutEndpoint;
                        USB_Descriptor_Endpoint_t             TM_NotificationEndpoint;
                } USB_Descriptor_Configuration_t;
 
+               /** Enum for the device interface descriptor IDs within the device. Each interface descriptor
+                *  should have a unique ID index associated with it, which can be used to refer to the
+                *  interface from other descriptors.
+                */
+               enum InterfaceDescriptors_t
+               {
+                       INTERFACE_ID_TestAndMeasurement = 0, /**< Test and measurement interface descriptor ID */
+               };
+
+               /** Enum for the device string descriptor IDs within the device. Each string descriptor should
+                *  have a unique ID index associated with it, which can be used to refer to the string from
+                *  other descriptors.
+                */
+               enum StringDescriptors_t
+               {
+                       STRING_ID_Language     = 0, /**< Supported Languages string descriptor ID (must be zero) */
+                       STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
+                       STRING_ID_Product      = 2, /**< Product string ID */
+               };
+
        /* Function Prototypes: */
                uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
                                                    const uint8_t wIndex,