+               /* Type Defines: */                                                                             \r
+                       /** \brief Mass Storage Class Device Mode Configuration and State Structure.\r
+                        *\r
+                        *  Class state structure. An instance of this structure should be made for each Mass Storage interface\r
+                        *  within the user application, and passed to each of the Mass Storage class driver functions as the\r
+                        *  MSInterfaceInfo parameter. This stores each Mass Storage interface's configuration and state information.\r
+                        */\r
+                       typedef struct\r
+                       {\r
+                               const struct\r
+                               {\r
+                                       uint8_t  InterfaceNumber; /**< Interface number of the Mass Storage interface within the device */\r
+\r
+                                       uint8_t  DataINEndpointNumber; /**< Endpoint number of the Mass Storage interface's IN data endpoint */\r
+                                       uint16_t DataINEndpointSize; /**< Size in bytes of the Mass Storage interface's IN data endpoint */\r
+                                       bool     DataINEndpointDoubleBank; /** Indicates if the Mass Storage interface's IN data endpoint should use double banking */\r
+\r
+                                       uint8_t  DataOUTEndpointNumber; /**< Endpoint number of the Mass Storage interface's OUT data endpoint */\r
+                                       uint16_t DataOUTEndpointSize;  /**< Size in bytes of the Mass Storage interface's OUT data endpoint */\r
+                                       bool     DataOUTEndpointDoubleBank; /** Indicates if the Mass Storage interface's OUT data endpoint should use double banking */\r
+\r
+                                       uint8_t  TotalLUNs; /**< Total number of logical drives in the Mass Storage interface */\r
+                               } Config; /**< Config data for the USB class interface within the device. All elements in this section\r
+                                          *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.\r
+                                          */\r
+                               struct\r
+                               {\r
+                                       MS_CommandBlockWrapper_t  CommandBlock; /**< Mass Storage class command block structure, stores the received SCSI\r
+                                                                                                                        *   command from the host which is to be processed\r
+                                                                                                                        */\r
+                                       MS_CommandStatusWrapper_t CommandStatus; /**< Mass Storage class command status structure, set elements to indicate\r
+                                                                                                                         *   the issued command's success or failure to the host\r
+                                                                                                                         */\r
+                                       volatile bool IsMassStoreReset; /**< Flag indicating that the host has requested that the Mass Storage interface be reset\r
+                                                                                                *   and that all current Mass Storage operations should immediately abort\r
+                                                                                                */\r
+                               } State; /**< State data for the USB class interface within the device. All elements in this section\r
+                                         *   are reset to their defaults when the interface is enumerated.\r
+                                         */\r
+                       } USB_ClassInfo_MS_Device_t;\r
+\r