-       VendorID:               0x03EB,\r
-       ProductID:              PRODUCT_ID_CODE,\r
-       ReleaseNumber:          0x0000,\r
+       .VendorID               = 0x03EB,\r
+       .ProductID              = PRODUCT_ID_CODE,\r
+       .ReleaseNumber          = 0x0000,\r
-       ManufacturerStrIndex:   NO_DESCRIPTOR,\r
-       ProductStrIndex:        0x01,\r
-       SerialNumStrIndex:      NO_DESCRIPTOR,\r
+       .ManufacturerStrIndex   = NO_DESCRIPTOR,\r
+       .ProductStrIndex        = 0x01,\r
+       .SerialNumStrIndex      = NO_DESCRIPTOR,\r
 };\r
 \r
 /** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage\r
 };\r
 \r
 /** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage\r
-                       TotalConfigurationSize:   sizeof(USB_Descriptor_Configuration_t),\r
-                       TotalInterfaces:          1,\r
+                       .TotalConfigurationSize   = sizeof(USB_Descriptor_Configuration_t),\r
+                       .TotalInterfaces          = 1,\r
-                       ConfigurationNumber:      1,\r
-                       ConfigurationStrIndex:    NO_DESCRIPTOR,\r
+                       .ConfigurationNumber      = 1,\r
+                       .ConfigurationStrIndex    = NO_DESCRIPTOR,\r
-                       DetatchTimeout:         0x0000,\r
-                       TransferSize:           0x0c00,\r
+                       .DetatchTimeout         = 0x0000,\r
+                       .TransferSize           = 0x0c00,\r
  *  documentation) by the application code so that the address and size of a requested descriptor can be given\r
  *  to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
  *  is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
  *  USB host.\r
  */\r
  *  documentation) by the application code so that the address and size of a requested descriptor can be given\r
  *  to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
  *  is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
  *  USB host.\r
  */\r
-uint16_t USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)\r
+uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)\r