diff --git a/Bootloaders/CDC/Descriptors.c b/Bootloaders/CDC/Descriptors.c
index 38906cfb4f68ff5a48f1bafff1a6faf02f6f3eac..fdaba8322e4fab63ba524a15ccbe7dfb40b2e208 100644
--- a/Bootloaders/CDC/Descriptors.c
+++ b/Bootloaders/CDC/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -134,7 +134,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},	
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -144,7 +144,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x02
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -160,7 +160,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -170,7 +170,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
diff --git a/Bootloaders/CDC/Descriptors.h b/Bootloaders/CDC/Descriptors.h
index ac02ff6521e0dd1a054d17fc354557f61f6c7194..f123477463b0cf631ca7a3ccc3e16c99a8dda962 100644
--- a/Bootloaders/CDC/Descriptors.h
+++ b/Bootloaders/CDC/Descriptors.h
@@ -129,15 +129,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Bootloaders/DFU/Descriptors.c b/Bootloaders/DFU/Descriptors.c
index f20fbeb9768bbb8bc1343d9233bec1213b65a915..510a29fb44c65d5de60bbbec20f907c1988ec49b 100644
--- a/Bootloaders/DFU/Descriptors.c
+++ b/Bootloaders/DFU/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.DFUInterface = 
+	.DFU_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 		
-	.DFUFunctional = 
+	.DFU_Functional = 
 		{
 			.Header                 = {.Size = sizeof(USB_DFU_Functional_Descriptor_t), .Type = DTYPE_DFUFunctional},
 			
diff --git a/Bootloaders/DFU/Descriptors.h b/Bootloaders/DFU/Descriptors.h
index 32d58285b47c188b850eb55260f8f009d314d0c9..961e480e7f03ea5235ffbc77f86850cbb9745984 100644
--- a/Bootloaders/DFU/Descriptors.h
+++ b/Bootloaders/DFU/Descriptors.h
@@ -161,8 +161,8 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            DFUInterface;
-			USB_DFU_Functional_Descriptor_t       DFUFunctional;
+			USB_Descriptor_Interface_t            DFU_Interface;
+			USB_DFU_Functional_Descriptor_t       DFU_Functional;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Bootloaders/TeensyHID/Descriptors.c b/Bootloaders/TeensyHID/Descriptors.c
index 596ed6eefd42627b2ea254067b2a59e710e0f9a7..2832ec393515e07524e8e591720e0dd189ddece9 100644
--- a/Bootloaders/TeensyHID/Descriptors.c
+++ b/Bootloaders/TeensyHID/Descriptors.c
@@ -106,7 +106,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -122,7 +122,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.HIDDescriptor = 
+	.HID_VendorHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 			
@@ -133,7 +133,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(HIDReport)
 		},
 		
-	.HIDEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -168,7 +168,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			Size    = sizeof(USB_Descriptor_Configuration_t);
 			break;
 		case DTYPE_HID:
-			Address = (void*)&ConfigurationDescriptor.HIDDescriptor;
+			Address = (void*)&ConfigurationDescriptor.HID_VendorHID;
 			Size    = sizeof(USB_Descriptor_HID_t);
 			break;
 		case DTYPE_Report:
diff --git a/Bootloaders/TeensyHID/Descriptors.h b/Bootloaders/TeensyHID/Descriptors.h
index 233c5ab4dd40d0543b626b44041dad1b222c4c0b..0ea7f39353fc6cf2b0d8733202c0df69ab6d7766 100644
--- a/Bootloaders/TeensyHID/Descriptors.h
+++ b/Bootloaders/TeensyHID/Descriptors.h
@@ -66,9 +66,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_HID_t                  HIDDescriptor;
-	        USB_Descriptor_Endpoint_t             HIDEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_Descriptor_HID_t                  HID_VendorHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/ClassDriver/AudioInput/Descriptors.c b/Demos/Device/ClassDriver/AudioInput/Descriptors.c
index 42da1a83f1b4be3451470ba7ee4a9f898bae2eff..784ce79da00f954264e29b5d5bf9ac712d996784 100644
--- a/Demos/Device/ClassDriver/AudioInput/Descriptors.c
+++ b/Demos/Device/ClassDriver/AudioInput/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 
-	.AudioControlInterface = 
+	.Audio_ControlInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 
-	.AudioControlInterface_SPC = 
+	.Audio_ControlInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AC_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Header,
@@ -116,7 +116,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceNumbers         = {1},
 		},
 
-	.InputTerminal = 
+	.Audio_InputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_InputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_InputTerminal,
@@ -132,7 +132,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.OutputTerminal = 
+	.Audio_OutputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_OutputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_OutputTerminal,
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt0 = 
+	.Audio_StreamInterface_Alt0 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -162,7 +162,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt1 = 
+	.Audio_StreamInterface_Alt1 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_SPC = 
+	.Audio_StreamInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AS_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_General,
@@ -189,7 +189,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.AudioFormat              = 0x0001
 		},
 
-	.AudioFormat = 
+	.Audio_AudioFormat = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Format_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Format,
@@ -204,7 +204,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SampleFrequencies        = {AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)}
 		},
 	
-	.AudioEndpoint = 
+	.Audio_StreamEndpoint = 
 		{
 			.Endpoint = 
 				{
@@ -220,7 +220,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SyncEndpointNumber       = 0
 		},
 		
-	.AudioEndpoint_SPC = 
+	.Audio_StreamEndpoint_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_StreamEndpoint_Spc_t), .Type = DTYPE_AudioEndpoint},
 			.Subtype                  = DSUBTYPE_General,
diff --git a/Demos/Device/ClassDriver/AudioInput/Descriptors.h b/Demos/Device/ClassDriver/AudioInput/Descriptors.h
index 892b2ec4de868b063c0cece8a3c474d484f342ac..9bc94f39f9c0c858f56c8662c17e3f6fdd26c58e 100644
--- a/Demos/Device/ClassDriver/AudioInput/Descriptors.h
+++ b/Demos/Device/ClassDriver/AudioInput/Descriptors.h
@@ -63,16 +63,16 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            AudioControlInterface;
-			USB_Audio_Interface_AC_t              AudioControlInterface_SPC;
-			USB_Audio_InputTerminal_t             InputTerminal;
-			USB_Audio_OutputTerminal_t            OutputTerminal;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt0;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt1;
-			USB_Audio_Interface_AS_t              AudioStreamInterface_SPC;
-			USB_Audio_Format_t                    AudioFormat;
-			USB_Audio_StreamEndpoint_Std_t        AudioEndpoint;
-			USB_Audio_StreamEndpoint_Spc_t        AudioEndpoint_SPC;
+			USB_Descriptor_Interface_t            Audio_ControlInterface;
+			USB_Audio_Interface_AC_t              Audio_ControlInterface_SPC;
+			USB_Audio_InputTerminal_t             Audio_InputTerminal;
+			USB_Audio_OutputTerminal_t            Audio_OutputTerminal;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt0;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt1;
+			USB_Audio_Interface_AS_t              Audio_StreamInterface_SPC;
+			USB_Audio_Format_t                    Audio_AudioFormat;
+			USB_Audio_StreamEndpoint_Std_t        Audio_StreamEndpoint;
+			USB_Audio_StreamEndpoint_Spc_t        Audio_StreamEndpoint_SPC;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/AudioOutput/Descriptors.c b/Demos/Device/ClassDriver/AudioOutput/Descriptors.c
index af6c982a8e34f4904cf6d28a56160e3110ed540d..3f62031f7089ea9bd8ef73eab4cc649b0dd3d583 100644
--- a/Demos/Device/ClassDriver/AudioOutput/Descriptors.c
+++ b/Demos/Device/ClassDriver/AudioOutput/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.AudioControlInterface = 
+	.Audio_ControlInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 	
-	.AudioControlInterface_SPC = 
+	.Audio_ControlInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AC_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Header,
@@ -116,7 +116,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceNumbers         = {1},
 		},
 
-	.InputTerminal = 
+	.Audio_InputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_InputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_InputTerminal,
@@ -132,7 +132,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.OutputTerminal = 
+	.Audio_OutputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_OutputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_OutputTerminal,
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt0 = 
+	.Audio_StreamInterface_Alt0 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -162,7 +162,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt1 = 
+	.Audio_StreamInterface_Alt1 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 		
-	.AudioStreamInterface_SPC = 
+	.Audio_StreamInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AS_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_General,
@@ -189,7 +189,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.AudioFormat              = 0x0001
 		},
 		
-	.AudioFormat = 
+	.Audio_AudioFormat = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Format_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Format,
@@ -204,7 +204,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SampleFrequencies        = {AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)}
 		},
 	
-	.AudioEndpoint = 
+	.Audio_StreamEndpoint = 
 		{
 			.Endpoint = 
 				{
@@ -220,7 +220,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SyncEndpointNumber       = 0
 		},
 		
-	.AudioEndpoint_SPC = 
+	.Audio_StreamEndpoint_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_StreamEndpoint_Spc_t), .Type = DTYPE_AudioEndpoint},
 			.Subtype                  = DSUBTYPE_General,
diff --git a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h
index 110c8bc15dc7f3ea0610eaf3ed50f76739a14075..34dd481b1de1c1e4651cfd7482036c4a397493dd 100644
--- a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h
+++ b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h
@@ -63,16 +63,16 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            AudioControlInterface;
-			USB_Audio_Interface_AC_t              AudioControlInterface_SPC;
-			USB_Audio_InputTerminal_t             InputTerminal;
-			USB_Audio_OutputTerminal_t            OutputTerminal;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt0;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt1;
-			USB_Audio_Interface_AS_t              AudioStreamInterface_SPC;
-			USB_Audio_Format_t                    AudioFormat;
-			USB_Audio_StreamEndpoint_Std_t        AudioEndpoint;
-			USB_Audio_StreamEndpoint_Spc_t        AudioEndpoint_SPC;
+			USB_Descriptor_Interface_t            Audio_ControlInterface;
+			USB_Audio_Interface_AC_t              Audio_ControlInterface_SPC;
+			USB_Audio_InputTerminal_t             Audio_InputTerminal;
+			USB_Audio_OutputTerminal_t            Audio_OutputTerminal;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt0;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt1;
+			USB_Audio_Interface_AS_t              Audio_StreamInterface_SPC;
+			USB_Audio_Format_t                    Audio_AudioFormat;
+			USB_Audio_StreamEndpoint_Std_t        Audio_StreamEndpoint;
+			USB_Audio_StreamEndpoint_Spc_t        Audio_StreamEndpoint_SPC;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c
index 107d9bd7f8830c82df00a1d079f50d92515a02aa..b9bc4b112b8b8ac910ab362663ae8946c8e6dd60 100644
--- a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c
+++ b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.IAD1 = 
+	.CDC1_IAD = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
 
@@ -206,7 +206,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.IAD2 = 
+	.CDC2_IAD = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
 
diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h
index 2add46ad4f94b4f6d02dfe99474db3adad15af31..532c266a481b5efc36f31366f5a47a2262c46ec8 100644
--- a/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h
+++ b/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h
@@ -75,7 +75,7 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_Association_t   IAD1;
+			USB_Descriptor_Interface_Association_t   CDC1_IAD;
 			USB_Descriptor_Interface_t               CDC1_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC1_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC1_Functional_CallManagement;
@@ -85,7 +85,7 @@
 			USB_Descriptor_Interface_t               CDC1_DCI_Interface;
 			USB_Descriptor_Endpoint_t                CDC1_DataOutEndpoint;
 			USB_Descriptor_Endpoint_t                CDC1_DataInEndpoint;
-			USB_Descriptor_Interface_Association_t   IAD2;
+			USB_Descriptor_Interface_Association_t   CDC2_IAD;
 			USB_Descriptor_Interface_t               CDC2_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC2_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC2_Functional_CallManagement;
diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.c b/Demos/Device/ClassDriver/GenericHID/Descriptors.c
index 3cc9817bed36ea7d0f90ab94be289f725e63bd11..953edfe16a7abf07d90c786c76b267642034e0de 100644
--- a/Demos/Device/ClassDriver/GenericHID/Descriptors.c
+++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.c
@@ -112,7 +112,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -128,7 +128,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.GenericHID = 
+	.HID_GenericHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 									 
@@ -139,7 +139,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(GenericReport)
 		},
 
-	.GenericINEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -226,7 +226,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.GenericHID;
+			Address = (void*)&ConfigurationDescriptor.HID_GenericHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.h b/Demos/Device/ClassDriver/GenericHID/Descriptors.h
index efe13938d3bbd00e754aace780ef045468ed2b54..26985f1fa5a1ede582f903dd01169730e7fb3e95 100644
--- a/Demos/Device/ClassDriver/GenericHID/Descriptors.h
+++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.h
@@ -50,9 +50,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_HID_Descriptor_t                  GenericHID;
-	        USB_Descriptor_Endpoint_t             GenericINEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_HID_Descriptor_t                  HID_GenericHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Macros: */
diff --git a/Demos/Device/ClassDriver/Joystick/Descriptors.c b/Demos/Device/ClassDriver/Joystick/Descriptors.c
index c8a6c306b3e1f106207131ca95256a909dc26591..64d72add5374536ca75a046fb81ee23c8f23616d 100644
--- a/Demos/Device/ClassDriver/Joystick/Descriptors.c
+++ b/Demos/Device/ClassDriver/Joystick/Descriptors.c
@@ -122,7 +122,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -138,7 +138,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.JoystickHID = 
+	.HID_JoystickHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 			
@@ -149,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(JoystickReport)
 		},
 
-	.JoystickEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -236,7 +236,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.JoystickHID;
+			Address = (void*)&ConfigurationDescriptor.HID_JoystickHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/ClassDriver/Joystick/Descriptors.h b/Demos/Device/ClassDriver/Joystick/Descriptors.h
index b2edc85eb14a992c73ab573662bb90365cd4950a..1777a566c2b8fba14e40c2ceffee135132365803 100644
--- a/Demos/Device/ClassDriver/Joystick/Descriptors.h
+++ b/Demos/Device/ClassDriver/Joystick/Descriptors.h
@@ -50,9 +50,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_HID_Descriptor_t                  JoystickHID;
-	        USB_Descriptor_Endpoint_t             JoystickEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_HID_Descriptor_t                  HID_JoystickHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Macros: */
diff --git a/Demos/Device/ClassDriver/Keyboard/Descriptors.c b/Demos/Device/ClassDriver/Keyboard/Descriptors.c
index 5890cb441e9f3089bca33c15fcd596d9900d1e75..7e12c6596ad9fbe9950ae73edba55a7b0bd028fd 100644
--- a/Demos/Device/ClassDriver/Keyboard/Descriptors.c
+++ b/Demos/Device/ClassDriver/Keyboard/Descriptors.c
@@ -129,7 +129,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -145,7 +145,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.KeyboardHID = 
+	.HID_KeyboardHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 			
@@ -156,7 +156,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(KeyboardReport)
 		},
 		
-	.KeyboardEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -243,7 +243,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.KeyboardHID;
+			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/ClassDriver/Keyboard/Descriptors.h b/Demos/Device/ClassDriver/Keyboard/Descriptors.h
index 5f2a2c02449a5277ca077e11061ba5e1c4da20d7..6a147c62eaaec7a2c2a24114b95e3a3b0ea8ce08 100644
--- a/Demos/Device/ClassDriver/Keyboard/Descriptors.h
+++ b/Demos/Device/ClassDriver/Keyboard/Descriptors.h
@@ -51,9 +51,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_HID_Descriptor_t                  KeyboardHID;
-	        USB_Descriptor_Endpoint_t             KeyboardEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_HID_Descriptor_t                  HID_KeyboardHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c
index 69eaf7c4213568cd8c272f0efacac65de5ec5379..2818b6e989e51f6374f95eb841f20454c296ac0d 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c
+++ b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c
@@ -162,7 +162,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.KeyboardInterface = 
+	.HID1_KeyboardInterface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.KeyboardHID = 
+	.HID1_KeyboardHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 			
@@ -189,7 +189,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(KeyboardReport)
 		},
 		
-	.KeyboardInEndpoint = 
+	.HID1_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -199,7 +199,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x0A
 		},
 
-	.MouseInterface = 
+	.HID2_MouseInterface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -215,7 +215,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MouseHID = 
+	.HID2_MouseHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 			
@@ -226,7 +226,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(MouseReport)
 		},
 		
-	.MouseInEndpoint = 
+	.HID2_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -315,12 +315,12 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 		case DTYPE_HID: 
 			if (!(wIndex))
 			{
-				Address = (void*)&ConfigurationDescriptor.KeyboardHID;
+				Address = (void*)&ConfigurationDescriptor.HID1_KeyboardHID;
 				Size    = sizeof(USB_HID_Descriptor_t);
 			}
 			else
 			{
-				Address = (void*)&ConfigurationDescriptor.MouseHID;
+				Address = (void*)&ConfigurationDescriptor.HID2_MouseHID;
 				Size    = sizeof(USB_HID_Descriptor_t);			
 			}
 			break;
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h
index 38bf13a3b6af37e8b410622b1f852dc658ce9318..517b3a08e95939c755c2719ec735e47b40a8edb8 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h
+++ b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h
@@ -51,12 +51,12 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            KeyboardInterface;
-			USB_HID_Descriptor_t                  KeyboardHID;
-	        USB_Descriptor_Endpoint_t             KeyboardInEndpoint;
-			USB_Descriptor_Interface_t            MouseInterface;
-			USB_HID_Descriptor_t                  MouseHID;
-	        USB_Descriptor_Endpoint_t             MouseInEndpoint;
+			USB_Descriptor_Interface_t            HID1_KeyboardInterface;
+			USB_HID_Descriptor_t                  HID1_KeyboardHID;
+	        USB_Descriptor_Endpoint_t             HID1_ReportINEndpoint;
+			USB_Descriptor_Interface_t            HID2_MouseInterface;
+			USB_HID_Descriptor_t                  HID2_MouseHID;
+	        USB_Descriptor_Endpoint_t             HID2_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/ClassDriver/MIDI/Descriptors.c b/Demos/Device/ClassDriver/MIDI/Descriptors.c
index 2c0bb7846c25c80d560c58b36fbb15e46b1e5aa7..4b9e03bff0c4170231ad077dfb45a65ce20af6cf 100644
--- a/Demos/Device/ClassDriver/MIDI/Descriptors.c
+++ b/Demos/Device/ClassDriver/MIDI/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.AudioControlInterface = 
+	.Audio_ControlInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 	
-	.AudioControlInterface_SPC = 
+	.Audio_ControlInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AC_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Header,
@@ -114,7 +114,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceNumbers         = {1},
 		},
 
-	.AudioStreamInterface = 
+	.Audio_StreamInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -130,14 +130,15 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 		
-	.AudioStreamInterface_SPC = 
+	.Audio_StreamInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_MIDI_AudioInterface_AS_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_General,
 
 			.AudioSpecification       = VERSION_BCD(01.00),
 			
-			.TotalLength              = (sizeof(USB_Descriptor_Configuration_t) - offsetof(USB_Descriptor_Configuration_t, AudioStreamInterface_SPC))
+			.TotalLength              = (sizeof(USB_Descriptor_Configuration_t) -
+			                             offsetof(USB_Descriptor_Configuration_t, Audio_StreamInterface_SPC))
 		},
 
 	.MIDI_In_Jack_Emb = 
diff --git a/Demos/Device/ClassDriver/MIDI/Descriptors.h b/Demos/Device/ClassDriver/MIDI/Descriptors.h
index 6cef8422f6ad6c07f316edc8f22cf2a3f88cbeec..ffd261e58a1ec5351bf80f7752fd0f0afed020aa 100644
--- a/Demos/Device/ClassDriver/MIDI/Descriptors.h
+++ b/Demos/Device/ClassDriver/MIDI/Descriptors.h
@@ -60,10 +60,10 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            AudioControlInterface;
-			USB_Audio_Interface_AC_t              AudioControlInterface_SPC;
-			USB_Descriptor_Interface_t            AudioStreamInterface;
-			USB_MIDI_AudioInterface_AS_t          AudioStreamInterface_SPC;
+			USB_Descriptor_Interface_t            Audio_ControlInterface;
+			USB_Audio_Interface_AC_t              Audio_ControlInterface_SPC;
+			USB_Descriptor_Interface_t            Audio_StreamInterface;
+			USB_MIDI_AudioInterface_AS_t          Audio_StreamInterface_SPC;
 			USB_MIDI_In_Jack_t                    MIDI_In_Jack_Emb;
 			USB_MIDI_In_Jack_t                    MIDI_In_Jack_Ext;
 			USB_MIDI_Out_Jack_t                   MIDI_Out_Jack_Emb;
diff --git a/Demos/Device/ClassDriver/MassStorage/Descriptors.c b/Demos/Device/ClassDriver/MassStorage/Descriptors.c
index 40ce620a64f295cc080097cc00edb7ede78331cb..856d408ca067bd3fe8ab0ee63c33146ca1aed19e 100644
--- a/Demos/Device/ClassDriver/MassStorage/Descriptors.c
+++ b/Demos/Device/ClassDriver/MassStorage/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.MS_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -114,7 +114,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataInEndpoint = 
+	.MS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -124,7 +124,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.DataOutEndpoint = 
+	.MS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
diff --git a/Demos/Device/ClassDriver/MassStorage/Descriptors.h b/Demos/Device/ClassDriver/MassStorage/Descriptors.h
index dcaaddaf7dc0c1b3790b643dc08740b5ad80f1de..e249fc4795c61588ade46a67b2c6af192a020f3c 100644
--- a/Demos/Device/ClassDriver/MassStorage/Descriptors.h
+++ b/Demos/Device/ClassDriver/MassStorage/Descriptors.h
@@ -60,9 +60,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_Endpoint_t             DataInEndpoint;
-			USB_Descriptor_Endpoint_t             DataOutEndpoint;
+			USB_Descriptor_Interface_t            MS_Interface;
+			USB_Descriptor_Endpoint_t             MS_DataInEndpoint;
+			USB_Descriptor_Endpoint_t             MS_DataOutEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c
index e8523f4603675a8973ec14e7bd7f11ad12f3c54f..4f7684c8aedc9491d3f2f5c38d9cf22240c5970a 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c
@@ -141,7 +141,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.MassStorageInterface = 
+	.MS_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -157,7 +157,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MassStorageDataInEndpoint = 
+	.MS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -167,7 +167,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.MassStorageDataOutEndpoint = 
+	.MS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -177,7 +177,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.KeyboardInterface = 
+	.HID_KeyboardInterface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -193,7 +193,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.KeyboardHID = 
+	.HID_KeyboardHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 			
@@ -204,7 +204,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(KeyboardReport)
 		},
 		
-	.KeyboardEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -291,7 +291,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID:
-			Address = (void*)&ConfigurationDescriptor.KeyboardHID;
+			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report:
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h
index c29d9086d02ac898945347244768182353f89166..13fb64c4d76b679ae4e18b08b656220289d463eb 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h
@@ -68,12 +68,12 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            MassStorageInterface;
-			USB_Descriptor_Endpoint_t             MassStorageDataInEndpoint;
-			USB_Descriptor_Endpoint_t             MassStorageDataOutEndpoint;
-			USB_Descriptor_Interface_t            KeyboardInterface;
-			USB_HID_Descriptor_t                  KeyboardHID;
-	        USB_Descriptor_Endpoint_t             KeyboardEndpoint;
+			USB_Descriptor_Interface_t            MS_Interface;
+			USB_Descriptor_Endpoint_t             MS_DataInEndpoint;
+			USB_Descriptor_Endpoint_t             MS_DataOutEndpoint;
+			USB_Descriptor_Interface_t            HID_KeyboardInterface;
+			USB_HID_Descriptor_t                  HID_KeyboardHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/Mouse/Descriptors.c b/Demos/Device/ClassDriver/Mouse/Descriptors.c
index c6aeb2ad767953282025a774d9ea2392b3377163..7a5fc349e9d69eb32bb556353ceac032013139fb 100644
--- a/Demos/Device/ClassDriver/Mouse/Descriptors.c
+++ b/Demos/Device/ClassDriver/Mouse/Descriptors.c
@@ -122,7 +122,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -138,7 +138,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MouseHID = 
+	.HID_MouseHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 
@@ -149,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(MouseReport)
 		},
 
-	.MouseEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -236,7 +236,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.MouseHID;
+			Address = (void*)&ConfigurationDescriptor.HID_MouseHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/ClassDriver/Mouse/Descriptors.h b/Demos/Device/ClassDriver/Mouse/Descriptors.h
index aa291f32001937c31c1992b783f74e34e0c09898..f5364ce151ee8203210160b981db844731557e7c 100644
--- a/Demos/Device/ClassDriver/Mouse/Descriptors.h
+++ b/Demos/Device/ClassDriver/Mouse/Descriptors.h
@@ -50,9 +50,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_HID_Descriptor_t                  MouseHID;
-	        USB_Descriptor_Endpoint_t             MouseEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_HID_Descriptor_t                  HID_MouseHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c
index 09b5261cc9a116c402a1b4dc161b8e2fccf724d9..5d5400d539c1c2f6cd57cfbfa7588b46a84549a7 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -134,7 +134,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -144,7 +144,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x02
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -160,7 +160,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.RNDIS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			 
@@ -170,7 +170,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.RNDIS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h
index b43aab7ac3eaca0127fa0cc669a55b0d0f8c6261..a5e3517256f07d4e4589b2e4e58f51e60e63b069 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h
@@ -66,15 +66,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Header;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                RNDIS_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                RNDIS_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c
index 07380cb153c211fad49ddcd3510f8611e30b79fc..4d513cc500608358c249d4bcba72cefad72d9577 100644
--- a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c
+++ b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -156,7 +156,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -172,7 +172,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -182,7 +182,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h
index 2141812bfa8ab05e0baff80d2e4f8de8de8c8995..2c56fa349af172b4af8edead570e4b56d4882572 100644
--- a/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h
+++ b/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h
@@ -66,15 +66,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c
index 8bb8a1eed7d62e95829bb420a483fb7708c73c5b..c55aa0c0cfb7ffc3a589569f8989e7baf17cf195 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c
+++ b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c
@@ -148,7 +148,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.IADStrIndex            = NO_DESCRIPTOR
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -196,7 +196,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -206,7 +206,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -222,7 +222,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -232,7 +232,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -242,7 +242,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.InterfaceHID = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -258,7 +258,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MouseHID = 
+	.HID_MouseHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 
@@ -269,7 +269,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(MouseReport)
 		},
 
-	.MouseEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -356,7 +356,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.MouseHID;
+			Address = (void*)&ConfigurationDescriptor.HID_MouseHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h
index cab52083b45771820865af6de1e0f3e08904c77a..c754dbe070779d104c496ac2d89b8d2c3888732b 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h
+++ b/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h
@@ -74,18 +74,18 @@
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
 			USB_Descriptor_Interface_Association_t   CDC_IAD;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
-			USB_Descriptor_Interface_t               InterfaceHID;
-			USB_HID_Descriptor_t                     MouseHID;
-	        USB_Descriptor_Endpoint_t                MouseEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
+			USB_Descriptor_Interface_t               HID_Interface;
+			USB_HID_Descriptor_t                     HID_MouseHID;
+	        USB_Descriptor_Endpoint_t                HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.c b/Demos/Device/Incomplete/Sideshow/Descriptors.c
index f04b2f6a098b8c08b921ad35abcdeb8fb354d9f1..8f36caec3644ad457ee5cbca9782147ecf2365a3 100644
--- a/Demos/Device/Incomplete/Sideshow/Descriptors.c
+++ b/Demos/Device/Incomplete/Sideshow/Descriptors.c
@@ -54,7 +54,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
 	
 USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 {
-	Config:
+	.Config =
 		{
 			Header:                 {Size: sizeof(USB_Descriptor_Configuration_Header_t), Type: DTYPE_Configuration},
 
@@ -69,7 +69,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			MaxPowerConsumption:    USB_CONFIG_POWER_MA(100)
 		},
 		
-	Interface:
+	.SSHOW_Interface =
 		{
 			Header:                 {Size: sizeof(USB_Descriptor_Interface_t), Type: DTYPE_Interface},
 
@@ -85,7 +85,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			InterfaceStrIndex:      NO_DESCRIPTOR
 		},
 
-	DataInEndpoint:
+	.SSHOW_DataInEndpoint =
 		{
 			Header:                 {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
 
@@ -95,7 +95,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			PollingIntervalMS:      0x00
 		},
 
-	DataOutEndpoint:
+	.SSHOW_DataOutEndpoint =
 		{
 			Header:                 {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
 
diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.h b/Demos/Device/Incomplete/Sideshow/Descriptors.h
index 409f0c8068362967d52490a17c4e9116b72f4e88..564b44cfe3225c045814877bad63cab9946eb7d2 100644
--- a/Demos/Device/Incomplete/Sideshow/Descriptors.h
+++ b/Demos/Device/Incomplete/Sideshow/Descriptors.h
@@ -47,9 +47,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_Endpoint_t             DataInEndpoint;
-			USB_Descriptor_Endpoint_t             DataOutEndpoint;
+			USB_Descriptor_Interface_t            SSHOW_Interface;
+			USB_Descriptor_Endpoint_t             SSHOW_DataInEndpoint;
+			USB_Descriptor_Endpoint_t             SSHOW_DataOutEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 		typedef struct
diff --git a/Demos/Device/Incomplete/Sideshow/Lib/SideshowContent.h b/Demos/Device/Incomplete/Sideshow/Lib/SideshowContent.h
index ec5afacd85678f3ec76f40ac682844154f3f9bd4..b34567f68413c8f8657437c5de8f83043f108df4 100644
--- a/Demos/Device/Incomplete/Sideshow/Lib/SideshowContent.h
+++ b/Demos/Device/Incomplete/Sideshow/Lib/SideshowContent.h
@@ -35,6 +35,7 @@
 		#include <avr/io.h>
 		#include <stdbool.h>
 		#include <string.h>
+		#include <stdio.h>
 
 		#include "SideshowCommon.h"
 		#include "SideshowApplications.h"
diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.c b/Demos/Device/LowLevel/AudioInput/Descriptors.c
index 3c65dc2a56fda51f60fa45a113dff4888a48d914..b9362e1313a2c8e125df04ee10b82643d8eb1390 100644
--- a/Demos/Device/LowLevel/AudioInput/Descriptors.c
+++ b/Demos/Device/LowLevel/AudioInput/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.AudioControlInterface = 
+	.Audio_ControlInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 	
-	.AudioControlInterface_SPC = 
+	.Audio_ControlInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AC_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Header,
@@ -116,7 +116,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceNumbers         = {1},
 		},
 
-	.InputTerminal = 
+	.Audio_InputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_InputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_InputTerminal,
@@ -132,7 +132,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.OutputTerminal = 
+	.Audio_OutputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_OutputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_OutputTerminal,
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt0 = 
+	.Audio_StreamInterface_Alt0 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -162,7 +162,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt1 = 
+	.Audio_StreamInterface_Alt1 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 		
-	.AudioStreamInterface_SPC = 
+	.Audio_StreamInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AS_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_General,
@@ -189,7 +189,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.AudioFormat              = 0x0001
 		},
 		
-	.AudioFormat = 
+	.Audio_AudioFormat = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Format_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Format,
@@ -199,12 +199,13 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			
 			.SubFrameSize             = 0x02,
 			.BitResolution            = 16,
-			.SampleFrequencyType      = (sizeof(ConfigurationDescriptor.AudioFormat.SampleFrequencies) / sizeof(Audio_SampleFreq_t)),
+			.SampleFrequencyType      = (sizeof(ConfigurationDescriptor.Audio_AudioFormat.SampleFrequencies) /
+			                             sizeof(Audio_SampleFreq_t)),
 		
 			.SampleFrequencies        = {SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)}
 		},
 	
-	.AudioEndpoint = 
+	.Audio_StreamEndpoint = 
 		{
 			.Endpoint = 
 				{
@@ -220,7 +221,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SyncEndpointNumber       = 0
 		},
 		
-	.AudioEndpoint_SPC = 
+	.Audio_StreamEndpoint_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_StreamEndpoint_Spc_t), .Type = DTYPE_AudioEndpoint},
 			.Subtype                  = DSUBTYPE_General,
diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.h b/Demos/Device/LowLevel/AudioInput/Descriptors.h
index bede69fb9106ffee02aafd38b18841085d9a7621..d9048ab017dc26fbef1d85f1d0f1e3815f01f424 100644
--- a/Demos/Device/LowLevel/AudioInput/Descriptors.h
+++ b/Demos/Device/LowLevel/AudioInput/Descriptors.h
@@ -299,16 +299,16 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            AudioControlInterface;
-			USB_Audio_Interface_AC_t              AudioControlInterface_SPC;
-			USB_Audio_InputTerminal_t             InputTerminal;
-			USB_Audio_OutputTerminal_t            OutputTerminal;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt0;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt1;
-			USB_Audio_Interface_AS_t              AudioStreamInterface_SPC;
-			USB_Audio_Format_t                    AudioFormat;
-			USB_Audio_StreamEndpoint_Std_t        AudioEndpoint;
-			USB_Audio_StreamEndpoint_Spc_t        AudioEndpoint_SPC;
+			USB_Descriptor_Interface_t            Audio_ControlInterface;
+			USB_Audio_Interface_AC_t              Audio_ControlInterface_SPC;
+			USB_Audio_InputTerminal_t             Audio_InputTerminal;
+			USB_Audio_OutputTerminal_t            Audio_OutputTerminal;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt0;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt1;
+			USB_Audio_Interface_AS_t              Audio_StreamInterface_SPC;
+			USB_Audio_Format_t                    Audio_AudioFormat;
+			USB_Audio_StreamEndpoint_Std_t        Audio_StreamEndpoint;
+			USB_Audio_StreamEndpoint_Spc_t        Audio_StreamEndpoint_SPC;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.c b/Demos/Device/LowLevel/AudioOutput/Descriptors.c
index dcc3a265b223a0079fa77eecb404f92d4c0d1a70..17a9d30f09f502ae80d76a60e47044907f7a56ba 100644
--- a/Demos/Device/LowLevel/AudioOutput/Descriptors.c
+++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.AudioControlInterface = 
+	.Audio_ControlInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 	
-	.AudioControlInterface_SPC = 
+	.Audio_ControlInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AC_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Header,
@@ -116,7 +116,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceNumbers         = {1},
 		},
 
-	.InputTerminal = 
+	.Audio_InputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_InputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_InputTerminal,
@@ -132,7 +132,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR
 		},
 
-	.OutputTerminal = 
+	.Audio_OutputTerminal = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_OutputTerminal_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_OutputTerminal,
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.TerminalStrIndex         = NO_DESCRIPTOR			
 		},
 
-	.AudioStreamInterface_Alt0 = 
+	.Audio_StreamInterface_Alt0 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -162,7 +162,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 
-	.AudioStreamInterface_Alt1 = 
+	.Audio_StreamInterface_Alt1 = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 		
-	.AudioStreamInterface_SPC = 
+	.Audio_StreamInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AS_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_General,
@@ -189,7 +189,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.AudioFormat              = 0x0001
 		},
 		
-	.AudioFormat = 
+	.Audio_AudioFormat = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Format_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Format,
@@ -200,11 +200,12 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SubFrameSize             = 0x02,
 			.BitResolution            = 16,
 
-			.SampleFrequencyType      = (sizeof(ConfigurationDescriptor.AudioFormat.SampleFrequencies) / sizeof(Audio_SampleFreq_t)),		
+			.SampleFrequencyType      = (sizeof(ConfigurationDescriptor.Audio_AudioFormat.SampleFrequencies) /
+			                             sizeof(Audio_SampleFreq_t)),		
 			.SampleFrequencies        = {SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)}
 		},
 	
-	.AudioEndpoint = 
+	.Audio_StreamEndpoint = 
 		{
 			.Endpoint = 
 				{
@@ -220,7 +221,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.SyncEndpointNumber       = 0
 		},
 		
-	.AudioEndpoint_SPC = 
+	.Audio_StreamEndpoint_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_StreamEndpoint_Spc_t), .Type = DTYPE_AudioEndpoint},
 			.Subtype                  = DSUBTYPE_General,
diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.h b/Demos/Device/LowLevel/AudioOutput/Descriptors.h
index 259ea8f17118708bb641cc9d2f4023408f119796..b08ec2f77ff95d5ae3fa0426aac9cea586e588e9 100644
--- a/Demos/Device/LowLevel/AudioOutput/Descriptors.h
+++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.h
@@ -299,16 +299,16 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            AudioControlInterface;
-			USB_Audio_Interface_AC_t              AudioControlInterface_SPC;
-			USB_Audio_InputTerminal_t             InputTerminal;
-			USB_Audio_OutputTerminal_t            OutputTerminal;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt0;
-			USB_Descriptor_Interface_t            AudioStreamInterface_Alt1;
-			USB_Audio_Interface_AS_t              AudioStreamInterface_SPC;
-			USB_Audio_Format_t                    AudioFormat;
-			USB_Audio_StreamEndpoint_Std_t        AudioEndpoint;
-			USB_Audio_StreamEndpoint_Spc_t        AudioEndpoint_SPC;
+			USB_Descriptor_Interface_t            Audio_ControlInterface;
+			USB_Audio_Interface_AC_t              Audio_ControlInterface_SPC;
+			USB_Audio_InputTerminal_t             Audio_InputTerminal;
+			USB_Audio_OutputTerminal_t            Audio_OutputTerminal;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt0;
+			USB_Descriptor_Interface_t            Audio_StreamInterface_Alt1;
+			USB_Audio_Interface_AS_t              Audio_StreamInterface_SPC;
+			USB_Audio_Format_t                    Audio_AudioFormat;
+			USB_Audio_StreamEndpoint_Std_t        Audio_StreamEndpoint;
+			USB_Audio_StreamEndpoint_Spc_t        Audio_StreamEndpoint_SPC;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c
index bd8ec1dede822b4fb40483fc7c6d4b378f889b06..d9b154ddbf8c1da1cc590b276b013d86ab4dc395 100644
--- a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c
+++ b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.IAD1 = 
+	.CDC1_IAD = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
 
@@ -206,7 +206,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.IAD2 = 
+	.CDC2_IAD = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
 
diff --git a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h
index 6b6ab406e236db8fe5d06a40ab81c6ba58f44d4f..b8ebd0a4f5af3c347793e9c4c578146710054273 100644
--- a/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h
+++ b/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h
@@ -89,7 +89,7 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_Association_t   IAD1;
+			USB_Descriptor_Interface_Association_t   CDC1_IAD;
 			USB_Descriptor_Interface_t               CDC1_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC1_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC1_Functional_CallManagement;
@@ -99,7 +99,7 @@
 			USB_Descriptor_Interface_t               CDC1_DCI_Interface;
 			USB_Descriptor_Endpoint_t                CDC1_DataOutEndpoint;
 			USB_Descriptor_Endpoint_t                CDC1_DataInEndpoint;
-			USB_Descriptor_Interface_Association_t   IAD2;
+			USB_Descriptor_Interface_Association_t   CDC2_IAD;
 			USB_Descriptor_Interface_t               CDC2_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC2_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC2_Functional_CallManagement;
diff --git a/Demos/Device/LowLevel/GenericHID/Descriptors.c b/Demos/Device/LowLevel/GenericHID/Descriptors.c
index 8e99683ba267f25e40ff06cd9fdb962ad900c597..d3afa867c67285619cf969b580c424ed18709b5a 100644
--- a/Demos/Device/LowLevel/GenericHID/Descriptors.c
+++ b/Demos/Device/LowLevel/GenericHID/Descriptors.c
@@ -112,7 +112,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -128,7 +128,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.GenericHID = 
+	.HID_GenericHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 									 
@@ -139,7 +139,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(GenericReport)
 		},
 
-	.GenericINEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -149,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x0A
 		},
 
-	.GenericOUTEndpoint = 
+	.HID_ReportOUTEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -236,7 +236,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.GenericHID;
+			Address = (void*)&ConfigurationDescriptor.HID_GenericHID;
 			Size    = sizeof(USB_Descriptor_HID_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/LowLevel/GenericHID/Descriptors.h b/Demos/Device/LowLevel/GenericHID/Descriptors.h
index 259dfff173e6ef05e69f81858644e0340c063a44..364ff3eaa4664705886544d21c1dd6b3741fed3f 100644
--- a/Demos/Device/LowLevel/GenericHID/Descriptors.h
+++ b/Demos/Device/LowLevel/GenericHID/Descriptors.h
@@ -68,10 +68,10 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_HID_t                  GenericHID;
-	        USB_Descriptor_Endpoint_t             GenericINEndpoint;
-	        USB_Descriptor_Endpoint_t             GenericOUTEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_Descriptor_HID_t                  HID_GenericHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
+	        USB_Descriptor_Endpoint_t             HID_ReportOUTEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/LowLevel/Joystick/Descriptors.c b/Demos/Device/LowLevel/Joystick/Descriptors.c
index eb1969ba4bbfad67804290aa0edebc4663870e12..dcc5d6901f48794db8aa50cbf5470420083cc963 100644
--- a/Demos/Device/LowLevel/Joystick/Descriptors.c
+++ b/Demos/Device/LowLevel/Joystick/Descriptors.c
@@ -122,7 +122,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -138,7 +138,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.JoystickHID = 
+	.HID_JoystickHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 									 
@@ -149,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(JoystickReport)
 		},
 
-	.JoystickEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -236,7 +236,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.JoystickHID;
+			Address = (void*)&ConfigurationDescriptor.HID_JoystickHID;
 			Size    = sizeof(USB_Descriptor_HID_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/LowLevel/Joystick/Descriptors.h b/Demos/Device/LowLevel/Joystick/Descriptors.h
index 451ae6c5d01074161066711f59fca72cc055a57a..c33671070d1173a44addae362f2d7ea13c5f4296 100644
--- a/Demos/Device/LowLevel/Joystick/Descriptors.h
+++ b/Demos/Device/LowLevel/Joystick/Descriptors.h
@@ -68,9 +68,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_HID_t                  JoystickHID;
-	        USB_Descriptor_Endpoint_t             JoystickEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_Descriptor_HID_t                  HID_JoystickHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/LowLevel/Keyboard/Descriptors.c b/Demos/Device/LowLevel/Keyboard/Descriptors.c
index 024547e655661304cab2a96f781f0a6be3b15e33..879b289b62f44e646ea8198efbd83ae4f39721ab 100644
--- a/Demos/Device/LowLevel/Keyboard/Descriptors.c
+++ b/Demos/Device/LowLevel/Keyboard/Descriptors.c
@@ -129,7 +129,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -145,7 +145,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.KeyboardHID = 
+	.HID_KeyboardHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 			
@@ -156,7 +156,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(KeyboardReport)
 		},
 		
-	.KeyboardEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -166,7 +166,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x0A
 		},
 
-	.KeyboardLEDsEndpoint = 
+	.HID_ReportOUTEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -253,7 +253,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.KeyboardHID;
+			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID;
 			Size    = sizeof(USB_Descriptor_HID_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/LowLevel/Keyboard/Descriptors.h b/Demos/Device/LowLevel/Keyboard/Descriptors.h
index 4f8db0a090ee05925695787a91e6740de8a865a2..22701a3af30864b2d4fee21bc5ecea7369d1e8fc 100644
--- a/Demos/Device/LowLevel/Keyboard/Descriptors.h
+++ b/Demos/Device/LowLevel/Keyboard/Descriptors.h
@@ -69,10 +69,10 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_HID_t                  KeyboardHID;
-	        USB_Descriptor_Endpoint_t             KeyboardEndpoint;
-	        USB_Descriptor_Endpoint_t             KeyboardLEDsEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_Descriptor_HID_t                  HID_KeyboardHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
+	        USB_Descriptor_Endpoint_t             HID_ReportOUTEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c
index e2f868ffcf6222edca53ddaae476af73f93c8325..80eac90f321b91d43baaeb28c733415529598668 100644
--- a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c
+++ b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c
@@ -162,7 +162,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.KeyboardInterface = 
+	.HID1_KeyboardInterface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.KeyboardHID = 
+	.HID1_KeyboardHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 			
@@ -189,7 +189,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(KeyboardReport)
 		},
 		
-	.KeyboardInEndpoint = 
+	.HID1_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -199,7 +199,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x0A
 		},
 
-	.KeyboardOutEndpoint = 
+	.HID1_ReportOUTEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -209,7 +209,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x0A
 		},
 
-	.MouseInterface = 
+	.HID2_MouseInterface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -225,7 +225,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MouseHID = 
+	.HID2_MouseHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 			
@@ -236,7 +236,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(MouseReport)
 		},
 		
-	.MouseInEndpoint = 
+	.HID2_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -325,12 +325,12 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 		case DTYPE_HID: 
 			if (!(wIndex))
 			{
-				Address = (void*)&ConfigurationDescriptor.KeyboardHID;
+				Address = (void*)&ConfigurationDescriptor.HID1_KeyboardHID;
 				Size    = sizeof(USB_Descriptor_HID_t);
 			}
 			else
 			{
-				Address = (void*)&ConfigurationDescriptor.MouseHID;
+				Address = (void*)&ConfigurationDescriptor.HID2_MouseHID;
 				Size    = sizeof(USB_Descriptor_HID_t);			
 			}
 			break;
diff --git a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h
index 23619811e2ce93c1d0f690ac8dfa73d7b505a5ff..f7221253329b1931655d8dae75387cde089f3d85 100644
--- a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h
+++ b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h
@@ -69,13 +69,13 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            KeyboardInterface;
-			USB_Descriptor_HID_t                  KeyboardHID;
-	        USB_Descriptor_Endpoint_t             KeyboardInEndpoint;
-	        USB_Descriptor_Endpoint_t             KeyboardOutEndpoint;
-			USB_Descriptor_Interface_t            MouseInterface;
-			USB_Descriptor_HID_t                  MouseHID;
-	        USB_Descriptor_Endpoint_t             MouseInEndpoint;
+			USB_Descriptor_Interface_t            HID1_KeyboardInterface;
+			USB_Descriptor_HID_t                  HID1_KeyboardHID;
+	        USB_Descriptor_Endpoint_t             HID1_ReportINEndpoint;
+	        USB_Descriptor_Endpoint_t             HID1_ReportOUTEndpoint;
+			USB_Descriptor_Interface_t            HID2_MouseInterface;
+			USB_Descriptor_HID_t                  HID2_MouseHID;
+	        USB_Descriptor_Endpoint_t             HID2_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/LowLevel/MIDI/Descriptors.c b/Demos/Device/LowLevel/MIDI/Descriptors.c
index 5963ea6d1318e806619c5a8ce7294185b2fb3de9..4edcb5e875eea13c66014cbd4a0b7b3a51142d78 100644
--- a/Demos/Device/LowLevel/MIDI/Descriptors.c
+++ b/Demos/Device/LowLevel/MIDI/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption      = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.AudioControlInterface = 
+	.Audio_ControlInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR			
 		},
 	
-	.AudioControlInterface_SPC = 
+	.Audio_ControlInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_AC_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_Header,
@@ -114,7 +114,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceNumbers         = {1},			
 		},
 
-	.AudioStreamInterface = 
+	.Audio_StreamInterface = 
 		{
 			.Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -130,14 +130,15 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex        = NO_DESCRIPTOR
 		},
 		
-	.AudioStreamInterface_SPC = 
+	.Audio_StreamInterface_SPC = 
 		{
 			.Header                   = {.Size = sizeof(USB_Audio_Interface_MIDI_AS_t), .Type = DTYPE_AudioInterface},
 			.Subtype                  = DSUBTYPE_General,
 
 			.AudioSpecification       = VERSION_BCD(01.00),
 			
-			.TotalLength              = (sizeof(USB_Descriptor_Configuration_t) - offsetof(USB_Descriptor_Configuration_t, AudioStreamInterface_SPC))
+			.TotalLength              = (sizeof(USB_Descriptor_Configuration_t) -
+			                             offsetof(USB_Descriptor_Configuration_t, Audio_StreamInterface_SPC))
 		},
 
 	.MIDI_In_Jack_Emb = 
diff --git a/Demos/Device/LowLevel/MIDI/Descriptors.h b/Demos/Device/LowLevel/MIDI/Descriptors.h
index f44b8c7a910b4d48c5cd73387c227edb653bfc9f..fffe866d43a64dfeb6eff7e08a39f5019a42f623 100644
--- a/Demos/Device/LowLevel/MIDI/Descriptors.h
+++ b/Demos/Device/LowLevel/MIDI/Descriptors.h
@@ -168,10 +168,10 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            AudioControlInterface;
-			USB_Audio_Interface_AC_t              AudioControlInterface_SPC;
-			USB_Descriptor_Interface_t            AudioStreamInterface;
-			USB_Audio_Interface_MIDI_AS_t         AudioStreamInterface_SPC;
+			USB_Descriptor_Interface_t            Audio_ControlInterface;
+			USB_Audio_Interface_AC_t              Audio_ControlInterface_SPC;
+			USB_Descriptor_Interface_t            Audio_StreamInterface;
+			USB_Audio_Interface_MIDI_AS_t         Audio_StreamInterface_SPC;
 			USB_MIDI_In_Jack_t                    MIDI_In_Jack_Emb;
 			USB_MIDI_In_Jack_t                    MIDI_In_Jack_Ext;
 			USB_MIDI_Out_Jack_t                   MIDI_Out_Jack_Emb;
diff --git a/Demos/Device/LowLevel/MassStorage/Descriptors.c b/Demos/Device/LowLevel/MassStorage/Descriptors.c
index 40ce620a64f295cc080097cc00edb7ede78331cb..856d408ca067bd3fe8ab0ee63c33146ca1aed19e 100644
--- a/Demos/Device/LowLevel/MassStorage/Descriptors.c
+++ b/Demos/Device/LowLevel/MassStorage/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.MS_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -114,7 +114,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataInEndpoint = 
+	.MS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -124,7 +124,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.DataOutEndpoint = 
+	.MS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
diff --git a/Demos/Device/LowLevel/MassStorage/Descriptors.h b/Demos/Device/LowLevel/MassStorage/Descriptors.h
index aeb3d48f8d27ba0bde3512101aeb425577cbd980..dae06061e787926b2b094c1f4eeb6a92af741f52 100644
--- a/Demos/Device/LowLevel/MassStorage/Descriptors.h
+++ b/Demos/Device/LowLevel/MassStorage/Descriptors.h
@@ -59,9 +59,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_Endpoint_t             DataInEndpoint;
-			USB_Descriptor_Endpoint_t             DataOutEndpoint;
+			USB_Descriptor_Interface_t            MS_Interface;
+			USB_Descriptor_Endpoint_t             MS_DataInEndpoint;
+			USB_Descriptor_Endpoint_t             MS_DataOutEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Demos/Device/LowLevel/Mouse/Descriptors.c b/Demos/Device/LowLevel/Mouse/Descriptors.c
index e622def0a5622fd1adee4595b4ad0747c7227824..52e0a8cb2d4f1a051138044c3d58a70f2cbf3a4b 100644
--- a/Demos/Device/LowLevel/Mouse/Descriptors.c
+++ b/Demos/Device/LowLevel/Mouse/Descriptors.c
@@ -122,7 +122,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -138,7 +138,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MouseHID = 
+	.HID_MouseHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
 									 
@@ -149,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(MouseReport)
 		},
 
-	.MouseEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -236,7 +236,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.MouseHID;
+			Address = (void*)&ConfigurationDescriptor.HID_MouseHID;
 			Size    = sizeof(USB_Descriptor_HID_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/Device/LowLevel/Mouse/Descriptors.h b/Demos/Device/LowLevel/Mouse/Descriptors.h
index a8a3e3696002b75fedd361f104119d05c5af54a0..f31fdd41edf6ace916e27def09f97dc928d2b741 100644
--- a/Demos/Device/LowLevel/Mouse/Descriptors.h
+++ b/Demos/Device/LowLevel/Mouse/Descriptors.h
@@ -68,9 +68,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_HID_t                  MouseHID;
-	        USB_Descriptor_Endpoint_t             MouseEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_Descriptor_HID_t                  HID_MouseHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c
index 18dec8af3731b89f5051d023a9048509ca02109c..b25b5d2baee4fba99b0420a1c2a9e620bfc5501b 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c
+++ b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -134,7 +134,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -144,7 +144,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x02
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -160,7 +160,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.RNDIS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -170,7 +170,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.RNDIS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h
index 252b424cf5dbb2bad7da45a2dd4f81473fb664ba..02450490b9752da47d053302ce2eaffc0560970e 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h
@@ -80,15 +80,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Header;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                RNDIS_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                RNDIS_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Demos/Device/LowLevel/VirtualSerial/Descriptors.c b/Demos/Device/LowLevel/VirtualSerial/Descriptors.c
index c7d751a755dc511284a0d3416324242e99271391..ff2ebf2e957cde150a0506009b780dcae37a03c8 100644
--- a/Demos/Device/LowLevel/VirtualSerial/Descriptors.c
+++ b/Demos/Device/LowLevel/VirtualSerial/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -156,7 +156,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -172,7 +172,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -182,7 +182,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
diff --git a/Demos/Device/LowLevel/VirtualSerial/Descriptors.h b/Demos/Device/LowLevel/VirtualSerial/Descriptors.h
index 8f1ecd0c35232ca4d220f9eff492e6b3015851e2..5610854d22ec94c731653a30fb56eeb1bd35eaf1 100644
--- a/Demos/Device/LowLevel/VirtualSerial/Descriptors.h
+++ b/Demos/Device/LowLevel/VirtualSerial/Descriptors.h
@@ -80,15 +80,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c
index c6aeb2ad767953282025a774d9ea2392b3377163..7a5fc349e9d69eb32bb556353ceac032013139fb 100644
--- a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c
+++ b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c
@@ -122,7 +122,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -138,7 +138,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MouseHID = 
+	.HID_MouseHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 
@@ -149,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(MouseReport)
 		},
 
-	.MouseEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -236,7 +236,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.MouseHID;
+			Address = (void*)&ConfigurationDescriptor.HID_MouseHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h
index aa291f32001937c31c1992b783f74e34e0c09898..f5364ce151ee8203210160b981db844731557e7c 100644
--- a/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h
+++ b/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h
@@ -50,9 +50,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_HID_Descriptor_t                  MouseHID;
-	        USB_Descriptor_Endpoint_t             MouseEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_HID_Descriptor_t                  HID_MouseHID;
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
index 6339a923982e989a38d6c59807dab835bcf612ea..d0aca1e5d5129034431bdad335fc467cc305eda6 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
@@ -147,7 +147,7 @@ int main(void)
 								 (ReportItem->Attributes.Usage.Usage  == USAGE_SCROLL_WHEEL)       &&
 								 (ReportItem->ItemType                == REPORT_ITEM_TYPE_In))
 						{
-							int16_t WheelDelta = HID_ALIGN_DATA(ReportItem->Value, int16_t);
+							int16_t WheelDelta = HID_ALIGN_DATA(ReportItem, int16_t);
 							
 							if (WheelDelta)
 							  LEDMask = (LEDS_LED1 | LEDS_LED2 | ((WheelDelta > 0) ? LEDS_LED3 : LEDS_LED4));
@@ -157,7 +157,7 @@ int main(void)
 								  (ReportItem->Attributes.Usage.Usage == USAGE_Y))                 &&
 								 (ReportItem->ItemType                == REPORT_ITEM_TYPE_In))
 						{
-							int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem->Value, int16_t);
+							int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem, int16_t);
 							
 							if (ReportItem->Attributes.Usage.Usage == USAGE_X)
 							{
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index fe4310320e1fb29f7e7520486fb5a725c55ea413..85d1b6a75fcab7f507c1b91bc43f2acd90fbc8e1 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -19,6 +19,8 @@
   *  - Added ENABLE_TELNET_SERVER compile time option to the Webserver project to disable the TELNET server if desired
   *  - Increased throughput of the USBtoSerial demo on systems that send multiple bytes per packet (thanks to Opendous Inc.)
   *  - Double bank CDC endpoints in the XPLAIN Bridge project, re-enable JTAG once the mode selection pin has been sampled.
+  *  - Standardized the naming scheme given to configuration descriptor sub-elements in the Device mode demos, bootloaders
+  *    and projects
   *
   *  <b>Fixed:</b>
   *  - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin
diff --git a/Projects/AVRISP-MKII/Descriptors.c b/Projects/AVRISP-MKII/Descriptors.c
index bdc198ad05b9bd0b2f4756869f561862459241df..f756e2903f9f85a6127e1f3df8eb1ba490e5a505 100644
--- a/Projects/AVRISP-MKII/Descriptors.c
+++ b/Projects/AVRISP-MKII/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 
-	.AVRISPInterface = 
+	.AVRISP_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataInEndpoint = 
+	.AVRISP_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -112,7 +112,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.DataOutEndpoint =
+	.AVRISP_DataOutEndpoint =
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Projects/AVRISP-MKII/Descriptors.h b/Projects/AVRISP-MKII/Descriptors.h
index 6a34b2bba60b1f49e21c5f0259844acf1e283090..ced47386b6ad4bb21d00ef4457bc2275d8ca5fd4 100644
--- a/Projects/AVRISP-MKII/Descriptors.h
+++ b/Projects/AVRISP-MKII/Descriptors.h
@@ -56,9 +56,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               AVRISPInterface;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
+			USB_Descriptor_Interface_t               AVRISP_Interface;
+			USB_Descriptor_Endpoint_t                AVRISP_DataInEndpoint;
+			USB_Descriptor_Endpoint_t                AVRISP_DataOutEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Projects/Benito/Descriptors.c b/Projects/Benito/Descriptors.c
index 2a5d40e6bc488608ffc093a8eb77353e1bcf3809..d29b3b20985981b6a1db58feec13c570aa0c0ca7 100644
--- a/Projects/Benito/Descriptors.c
+++ b/Projects/Benito/Descriptors.c
@@ -86,7 +86,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -134,7 +134,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -144,7 +144,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -160,7 +160,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -170,7 +170,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Projects/Benito/Descriptors.h b/Projects/Benito/Descriptors.h
index a5461dd74e0c488483fd5d4321fa4c02d6042249..fc47f6f10ebd7a4bafe859d27eb0f4cc6aa8fb62 100644
--- a/Projects/Benito/Descriptors.h
+++ b/Projects/Benito/Descriptors.h
@@ -66,15 +66,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Projects/Incomplete/StandaloneProgrammer/Descriptors.c b/Projects/Incomplete/StandaloneProgrammer/Descriptors.c
index e665ddbdd44dab9c40d0cd75b3eae9b2b912bd9c..9836d4338c71826379c139a42103b6b07b759c80 100644
--- a/Projects/Incomplete/StandaloneProgrammer/Descriptors.c
+++ b/Projects/Incomplete/StandaloneProgrammer/Descriptors.c
@@ -100,7 +100,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 
-	.MSInterface = 
+	.MS_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -116,7 +116,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MSDataInEndpoint = 
+	.MS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -126,7 +126,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.MSDataOutEndpoint = 
+	.MS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
diff --git a/Projects/Incomplete/StandaloneProgrammer/Descriptors.h b/Projects/Incomplete/StandaloneProgrammer/Descriptors.h
index 3b162ae804be8dea81256f7358b3aee7c0059d17..46a9c8014b9afd65ad5cf15c50abd0408c4eb78b 100644
--- a/Projects/Incomplete/StandaloneProgrammer/Descriptors.h
+++ b/Projects/Incomplete/StandaloneProgrammer/Descriptors.h
@@ -76,9 +76,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               MSInterface;
-			USB_Descriptor_Endpoint_t                MSDataInEndpoint;
-			USB_Descriptor_Endpoint_t                MSDataOutEndpoint;
+			USB_Descriptor_Interface_t               MS_Interface;
+			USB_Descriptor_Endpoint_t                MS_DataInEndpoint;
+			USB_Descriptor_Endpoint_t                MS_DataOutEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Projects/LEDNotifier/Descriptors.c b/Projects/LEDNotifier/Descriptors.c
index bf057c3feb3379bd8556cccdf2d2150b33ef7e9a..367fea3aafa5358dc3ebaaff5db2376197a3db19 100644
--- a/Projects/LEDNotifier/Descriptors.c
+++ b/Projects/LEDNotifier/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -156,7 +156,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -172,7 +172,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -182,7 +182,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Projects/LEDNotifier/Descriptors.h b/Projects/LEDNotifier/Descriptors.h
index 2141812bfa8ab05e0baff80d2e4f8de8de8c8995..2c56fa349af172b4af8edead570e4b56d4882572 100644
--- a/Projects/LEDNotifier/Descriptors.h
+++ b/Projects/LEDNotifier/Descriptors.h
@@ -66,15 +66,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Projects/Magstripe/Descriptors.c b/Projects/Magstripe/Descriptors.c
index b9aa0d7887d2e8033e38792a9cdfd911486c987c..ee6235859ece29854bca6ff777abcdd32764e4b4 100644
--- a/Projects/Magstripe/Descriptors.c
+++ b/Projects/Magstripe/Descriptors.c
@@ -120,7 +120,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -136,7 +136,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.KeyboardHID = 
+	.HID_KeyboardHID = 
 		{  
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 			
@@ -147,7 +147,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(KeyboardReport)
 		},
 		
-	.KeyboardEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -233,7 +233,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID:
-			Address = (void*)&ConfigurationDescriptor.KeyboardHID;
+			Address = (void*)&ConfigurationDescriptor.HID_KeyboardHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report:
diff --git a/Projects/Magstripe/Descriptors.h b/Projects/Magstripe/Descriptors.h
index 6dbdd25846039aa1a7c6bcaa6f9702b4b62243ee..88eaf33d025d8113f554c6bcd1d12159043fbb8f 100644
--- a/Projects/Magstripe/Descriptors.h
+++ b/Projects/Magstripe/Descriptors.h
@@ -51,9 +51,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config; /**< Configuration descriptor header structure */
-			USB_Descriptor_Interface_t            Interface; /**< Keyboard interface descriptor */
-			USB_HID_Descriptor_t                  KeyboardHID; /**< Keyboard HID descriptor */
-	        USB_Descriptor_Endpoint_t             KeyboardEndpoint; /**< Keyboard key report endpoint descriptor */
+			USB_Descriptor_Interface_t            HID_Interface; /**< Keyboard interface descriptor */
+			USB_HID_Descriptor_t                  HID_KeyboardHID; /**< Keyboard HID descriptor */
+	        USB_Descriptor_Endpoint_t             HID_ReportINEndpoint; /**< Keyboard key report endpoint descriptor */
 		} USB_Descriptor_Configuration_t;
 					
 	/* Macros: */
diff --git a/Projects/TemperatureDataLogger/Descriptors.c b/Projects/TemperatureDataLogger/Descriptors.c
index e4f5666e5fbdcecd332a06d5b457593afd54a4a1..48778d8c5cbed0374859de42f3df225e00b7b997 100644
--- a/Projects/TemperatureDataLogger/Descriptors.c
+++ b/Projects/TemperatureDataLogger/Descriptors.c
@@ -124,7 +124,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.MSInterface = 
+	.MS_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -140,7 +140,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.MSDataInEndpoint = 
+	.MS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -150,7 +150,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.MSDataOutEndpoint = 
+	.MS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -160,7 +160,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.HIDInterface = 
+	.HID_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -176,7 +176,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.HIDInfo = 
+	.HID_GenericHID = 
 		{
 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID},
 									 
@@ -187,7 +187,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.HIDReportLength        = sizeof(GenericReport)
 		},
 
-	.HIDDataInEndpoint = 
+	.HID_ReportINEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 										 
@@ -274,7 +274,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 			
 			break;
 		case DTYPE_HID: 
-			Address = (void*)&ConfigurationDescriptor.HIDInfo;
+			Address = (void*)&ConfigurationDescriptor.HID_GenericHID;
 			Size    = sizeof(USB_HID_Descriptor_t);
 			break;
 		case DTYPE_Report: 
diff --git a/Projects/TemperatureDataLogger/Descriptors.h b/Projects/TemperatureDataLogger/Descriptors.h
index a0f03c38d9e3dac668c3904f8e70d130e4be69e1..6c238ac42f48e28cc757adf006c616bc991d77e1 100644
--- a/Projects/TemperatureDataLogger/Descriptors.h
+++ b/Projects/TemperatureDataLogger/Descriptors.h
@@ -45,12 +45,12 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            MSInterface;
-			USB_Descriptor_Endpoint_t             MSDataInEndpoint;
-			USB_Descriptor_Endpoint_t             MSDataOutEndpoint;
-			USB_Descriptor_Interface_t            HIDInterface;
-			USB_HID_Descriptor_t                  HIDInfo;
-			USB_Descriptor_Endpoint_t             HIDDataInEndpoint;
+			USB_Descriptor_Interface_t            MS_Interface;
+			USB_Descriptor_Endpoint_t             MS_DataInEndpoint;
+			USB_Descriptor_Endpoint_t             MS_DataOutEndpoint;
+			USB_Descriptor_Interface_t            HID_Interface;
+			USB_HID_Descriptor_t                  HID_GenericHID;
+			USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Projects/USBtoSerial/Descriptors.c b/Projects/USBtoSerial/Descriptors.c
index 07c4581d7bd1adca35fa14cd82c8d7631717c780..3a3e9f27bd443e1e8cf57f59f1e9e100189a2fbe 100644
--- a/Projects/USBtoSerial/Descriptors.c
+++ b/Projects/USBtoSerial/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -146,7 +146,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -156,7 +156,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -172,7 +172,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -182,7 +182,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Projects/USBtoSerial/Descriptors.h b/Projects/USBtoSerial/Descriptors.h
index a5461dd74e0c488483fd5d4321fa4c02d6042249..fc47f6f10ebd7a4bafe859d27eb0f4cc6aa8fb62 100644
--- a/Projects/USBtoSerial/Descriptors.h
+++ b/Projects/USBtoSerial/Descriptors.h
@@ -66,15 +66,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Projects/Webserver/Descriptors.c b/Projects/Webserver/Descriptors.c
index 855bbd3f81e6d2cb6d94e908f0edae6bcdb8e9f7..72adec35f99fce0b36acf24c684b7eefe47f3fd8 100644
--- a/Projects/Webserver/Descriptors.c
+++ b/Projects/Webserver/Descriptors.c
@@ -98,7 +98,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.Interface = 
+	.MS_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -114,7 +114,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataInEndpoint = 
+	.MS_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
@@ -124,7 +124,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.DataOutEndpoint = 
+	.MS_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
diff --git a/Projects/Webserver/Descriptors.h b/Projects/Webserver/Descriptors.h
index dcaaddaf7dc0c1b3790b643dc08740b5ad80f1de..e249fc4795c61588ade46a67b2c6af192a020f3c 100644
--- a/Projects/Webserver/Descriptors.h
+++ b/Projects/Webserver/Descriptors.h
@@ -60,9 +60,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t Config;
-			USB_Descriptor_Interface_t            Interface;
-			USB_Descriptor_Endpoint_t             DataInEndpoint;
-			USB_Descriptor_Endpoint_t             DataOutEndpoint;
+			USB_Descriptor_Interface_t            MS_Interface;
+			USB_Descriptor_Endpoint_t             MS_DataInEndpoint;
+			USB_Descriptor_Endpoint_t             MS_DataOutEndpoint;
 		} USB_Descriptor_Configuration_t;
 		
 	/* Function Prototypes: */
diff --git a/Projects/XPLAINBridge/AVRISPDescriptors.c b/Projects/XPLAINBridge/AVRISPDescriptors.c
index 2f9db6a9ca4fdff2ae2edcef7c9a51225a08fd0c..e1917839161323d79fade5fe10803182f059bd9e 100644
--- a/Projects/XPLAINBridge/AVRISPDescriptors.c
+++ b/Projects/XPLAINBridge/AVRISPDescriptors.c
@@ -86,7 +86,7 @@ AVRISP_USB_Descriptor_Configuration_t PROGMEM AVRISP_ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 
-	.AVRISPInterface = 
+	.AVRISP_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -102,7 +102,7 @@ AVRISP_USB_Descriptor_Configuration_t PROGMEM AVRISP_ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataInEndpoint = 
+	.AVRISP_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -112,7 +112,7 @@ AVRISP_USB_Descriptor_Configuration_t PROGMEM AVRISP_ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 
-	.DataOutEndpoint =
+	.AVRISP_DataOutEndpoint =
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Projects/XPLAINBridge/AVRISPDescriptors.h b/Projects/XPLAINBridge/AVRISPDescriptors.h
index dfd5315eb4a6681546914e678dfc02ffe23eeb80..7287ce6397dd0bf21ceca766d4fa3ff1fdbd4869 100644
--- a/Projects/XPLAINBridge/AVRISPDescriptors.h
+++ b/Projects/XPLAINBridge/AVRISPDescriptors.h
@@ -56,9 +56,9 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               AVRISPInterface;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
+			USB_Descriptor_Interface_t               AVRISP_Interface;
+			USB_Descriptor_Endpoint_t                AVRISP_DataInEndpoint;
+			USB_Descriptor_Endpoint_t                AVRISP_DataOutEndpoint;
 		} AVRISP_USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Projects/XPLAINBridge/USARTDescriptors.c b/Projects/XPLAINBridge/USARTDescriptors.c
index 60c25321c2a4b9048fafb7444e5b0c638e156206..d1158b232aef203b642053623da6d4dfd0b7f39e 100644
--- a/Projects/XPLAINBridge/USARTDescriptors.c
+++ b/Projects/XPLAINBridge/USARTDescriptors.c
@@ -98,7 +98,7 @@ USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor =
 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
 		},
 		
-	.CCI_Interface = 
+	.CDC_CCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -146,7 +146,7 @@ USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor =
 			.Data                   = {0x00, 0x01}
 		},
 
-	.ManagementEndpoint = 
+	.CDC_ManagementEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -156,7 +156,7 @@ USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor =
 			.PollingIntervalMS      = 0xFF
 		},
 
-	.DCI_Interface = 
+	.CDC_DCI_Interface = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
@@ -172,7 +172,7 @@ USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor =
 			.InterfaceStrIndex      = NO_DESCRIPTOR
 		},
 
-	.DataOutEndpoint = 
+	.CDC_DataOutEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
@@ -182,7 +182,7 @@ USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor =
 			.PollingIntervalMS      = 0x00
 		},
 		
-	.DataInEndpoint = 
+	.CDC_DataInEndpoint = 
 		{
 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 			
diff --git a/Projects/XPLAINBridge/USARTDescriptors.h b/Projects/XPLAINBridge/USARTDescriptors.h
index 7b5a39112aa978324af1bb7dd35a83cd9e9132d2..a5e235cc05bc020ea0473caffcd7df065728999a 100644
--- a/Projects/XPLAINBridge/USARTDescriptors.h
+++ b/Projects/XPLAINBridge/USARTDescriptors.h
@@ -66,15 +66,15 @@
 		typedef struct
 		{
 			USB_Descriptor_Configuration_Header_t    Config;
-			USB_Descriptor_Interface_t               CCI_Interface;
+			USB_Descriptor_Interface_t               CDC_CCI_Interface;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_IntHeader;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_CallManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(1)             CDC_Functional_AbstractControlManagement;
 			CDC_FUNCTIONAL_DESCRIPTOR(2)             CDC_Functional_Union;
-			USB_Descriptor_Endpoint_t                ManagementEndpoint;
-			USB_Descriptor_Interface_t               DCI_Interface;
-			USB_Descriptor_Endpoint_t                DataOutEndpoint;
-			USB_Descriptor_Endpoint_t                DataInEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_ManagementEndpoint;
+			USB_Descriptor_Interface_t               CDC_DCI_Interface;
+			USB_Descriptor_Endpoint_t                CDC_DataOutEndpoint;
+			USB_Descriptor_Endpoint_t                CDC_DataInEndpoint;
 		} USART_USB_Descriptor_Configuration_t;
 
 	/* Function Prototypes: */
diff --git a/Projects/XPLAINBridge/XPLAINBridge.txt b/Projects/XPLAINBridge/XPLAINBridge.txt
index a117560db9e99b5569fbbef92359ccb6dbfae633..f967d3b765ff77395f3908fa23f23c562eb57ca1 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.txt
+++ b/Projects/XPLAINBridge/XPLAINBridge.txt
@@ -47,20 +47,21 @@
  *  \section SSec_Description Project Description: 
  *
  *  This project serves a dual purpose. When loaded into the USB AVR on the XPLAIN board, it will act as either a USB to Serial
- *  converter for the XPLAIN's hardware USART (at a speed of 9600 baud), or a PDI programmer for the XMEGA. This project replaces
- *  the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
+ *  converter for the XPLAIN's hardware USART (at a speed of 9600 baud), or an AVRStudio compaible PDI programmer for the XMEGA.
+ *  This project replaces the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
  *
- *  When inserted, the JTAG port's TDI pin is read. If the pin is left high, the device will enumerate as a regular COM port on
- *  the host, which can then be opened and data exchanged between the XMEGA and Host as if the XMEGA was connected directly to
- *  the host's serial port. If the pin is pulled low, the device will enumerate as an AVRISP-MKII to the host, so that the XMEGA
- *  can be reprogrammed by AVRStudio or other compatible software such as avrdude.
+ *  When power to the board is applied, the TDI pin (pin 9) of the USB AVR's JTAG port is read. If the pin is left high, the device
+ *  will enumerate as a regular COM port on the host, which can then be opened and data exchanged between the XMEGA and Host as if
+ *  the XMEGA was connected directly to the host's serial port. If the pin is pulled low by shorting it to GND (pin 10), the device
+ *  will enumerate as an AVRISP-MKII to the host, so that the XMEGA can be reprogrammed by AVRStudio or other compatible software
+ *  such as avrdude.
  *
  *  After running this project for the first time on a new computer, you will need to supply the .INF file located in this project
  *  project's directory as the device's driver when running under Windows. This will enable Windows to use its inbuilt CDC drivers,
  *  negating the need for custom drivers for the device. Other Operating Systems should automatically use their own inbuilt CDC-ACM
  *  drivers.
  *
- *  This project relies on files from the LUFA AVRISP-MKII project.
+ *  This project relies on files from the LUFA AVRISP-MKII project for compilation.
  *
  *  \section SSec_Options Project Options
  *