aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Host/MassStorage.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-11-07 03:51:24 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-11-07 03:51:24 +0000
commit64e5c4084f862267d96b0947f462de7058f3dc4c (patch)
treed56ab85da8a50eda61feb3d625d2f53f06bd66e7 /LUFA/Drivers/USB/Class/Host/MassStorage.h
parentf29fc1abc40dd862689ca8765e244c1212742744 (diff)
downloadlufa-64e5c4084f862267d96b0947f462de7058f3dc4c.tar.gz
lufa-64e5c4084f862267d96b0947f462de7058f3dc4c.tar.bz2
lufa-64e5c4084f862267d96b0947f462de7058f3dc4c.zip
Add optional pipe double banking support to the Host mode Class drivers.
Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
Diffstat (limited to 'LUFA/Drivers/USB/Class/Host/MassStorage.h')
-rw-r--r--LUFA/Drivers/USB/Class/Host/MassStorage.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h
index a651a88f8..4cd37bdf3 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h
@@ -67,8 +67,11 @@
{
const struct
{
- uint8_t DataINPipeNumber; /**< Pipe number of the MS interface's IN data pipe */
- uint8_t DataOUTPipeNumber; /**< Pipe number of the MS interface's OUT data pipe */
+ 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 */
} 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.
*/
@@ -80,8 +83,8 @@
*/
uint8_t InterfaceNumber; /**< Interface index of the Mass Storage interface within the attached device */
- uint16_t DataINPipeSize; /**< Size in bytes of the MS interface's IN data pipe */
- uint16_t DataOUTPipeSize; /**< Size in bytes of the MS interface's OUT data pipe */
+ 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 synchronising of packets */
} State; /**< State data for the USB class interface within the device. All elements in this section
@@ -194,7 +197,7 @@
* \return A value from the \ref MSHost_EnumerationFailure_ErrorCodes_t enum
*/
uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, uint16_t ConfigDescriptorSize,
- uint8_t* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3);
+ void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 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.