Newer AS7 integration binary, with ASF detection fixes and newer image assets.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / MassStorageClassHost.h
index 3b3b9fa..976d9ae 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2015.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2015  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -18,7 +18,7 @@
   advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
-  The author disclaim all warranties with regard to this
+  The author disclaims all warranties with regard to this
   software, including all implied warranties of merchantability
   and fitness.  In no event shall the author be liable for any
   special, indirect or consequential damages or any damages
 /** \ingroup Group_USBClassMS
  *  \defgroup Group_USBClassMassStorageHost Mass Storage Class Host Mode Driver
  *
- *  \section Sec_Dependencies Module Source Dependencies
+ *  \section Sec_USBClassMassStorageHost_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
- *    - LUFA/Drivers/USB/Class/Host/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *    - LUFA/Drivers/USB/Class/Host/MassStorageClassHost.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
  *
- *  \section Sec_ModDescription Module Description
+ *  \section Sec_USBClassMassStorageHost_ModDescription Module Description
  *  Host Mode USB Class driver framework interface, for the Mass Storage USB Class driver.
  *
  *  @{
                         */
                        typedef struct
                        {
-                               const struct
+                               struct
                                {
-                                       uint8_t  DataINPipeNumber; /**< Pipe number of the Mass Storage interface's IN data pipe. */
-                                       bool     DataINPipeDoubleBank; /**< Indicates if the Mass Storage interface's IN data pipe should use double banking. */
-
-                                       uint8_t  DataOUTPipeNumber; /**< Pipe number of the Mass Storage interface's OUT data pipe. */
-                                       bool     DataOUTPipeDoubleBank; /**< Indicates if the Mass Storage interface's OUT data pipe should use double banking. */
+                                       USB_Pipe_Table_t DataINPipe; /**< Data IN Pipe configuration table. */
+                                       USB_Pipe_Table_t DataOUTPipe; /**< Data OUT Pipe configuration table. */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                                           *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.
                                           */
@@ -99,9 +96,6 @@
                                                            */
                                        uint8_t  InterfaceNumber; /**< Interface index of the Mass Storage interface within the attached device. */
 
-                                       uint16_t DataINPipeSize; /**< Size in bytes of the Mass Storage interface's IN data pipe. */
-                                       uint16_t DataOUTPipeSize;  /**< Size in bytes of the Mass Storage interface's OUT data pipe. */
-
                                        uint32_t TransactionTag; /**< Current transaction tag for data synchronizing of packets. */
                                } State; /**< State data for the USB class interface within the device. All elements in this section
                                                  *   <b>may</b> be set to initial values, but may also be ignored to default to sane values when
                         *  is found within the device. This should be called once after the stack has enumerated the attached device, while
                         *  the host state machine is in the Addressed state.
                         *
-                        *  \param[in,out] MSInterfaceInfo       Pointer to a structure containing an MS Class host configuration and state.
-                        *  \param[in]     ConfigDescriptorSize  Length of the attached device's Configuration Descriptor.
-                        *  \param[in]     ConfigDescriptorData  Pointer to a buffer containing the attached device's Configuration Descriptor.
+                        *  \param[in,out] MSInterfaceInfo         Pointer to a structure containing an MS Class host configuration and state.
+                        *  \param[in]     ConfigDescriptorSize    Length of the attached device's Configuration Descriptor.
+                        *  \param[in]     DeviceConfigDescriptor  Pointer to a buffer containing the attached device's Configuration Descriptor.
                         *
                         *  \return A value from the \ref MS_Host_EnumerationFailure_ErrorCodes_t enum.
                         */
                        uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
                                                       uint16_t ConfigDescriptorSize,
-                                                      void* ConfigDescriptorData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+                                                      void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
 
                        /** Sends a MASS STORAGE RESET control request to the attached device, resetting the Mass Storage Interface
-                        *  and readying it for the next Mass Storage command. This should be called after a failed SCSI request to 
+                        *  and readying it for the next Mass Storage command. This should be called after a failed SCSI request to
                         *  ensure the attached Mass Storage device is ready to receive the next command.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state.