sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Shared client/server definitions sl@0: // sl@0: // WARNING: This file contains some APIs which are internal and are subject sl@0: // to change without notice. Such APIs should therefore not be used sl@0: // outside the Kernel and Hardware Services package. sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @internalTechnology sl@0: */ sl@0: sl@0: #ifndef __HOSTUSBMSSHARED_H__ sl@0: #define __HOSTUSBMSSHARED_H__ sl@0: sl@0: const TUint32 KMaxUsbSerialNumLength=256; sl@0: sl@0: /** sl@0: This class represents the device configuration. sl@0: */ sl@0: class THostMassStorageConfig sl@0: { sl@0: public: sl@0: /** Device token */ sl@0: TUint32 iInterfaceToken; sl@0: /** USB Vendor ID */ sl@0: TUint16 iVendorId; sl@0: /** USB Product ID */ sl@0: TUint16 iProductId; sl@0: /** USB Device Release Number in BCD */ sl@0: TUint16 iBcdDevice; sl@0: /** USB Number of possible configurations supported by the device */ sl@0: TUint8 iConfigurationNumber; sl@0: /** USB Interface number */ sl@0: TUint8 iInterfaceNumber; sl@0: /** Device Serial Number */ sl@0: TBuf8 iSerialNumber; sl@0: /** Protocol to be used by the MSC */ sl@0: TUint8 iProtocolId; sl@0: /** Transport to be used by the MSC */ sl@0: TUint8 iTransportId; sl@0: /** Time internval to check media status and finalisation */ sl@0: TUint8 iStatusPollingInterval; sl@0: /** Device's capabilitiy for RemoteWakeup */ sl@0: TUint8 iRemoteWakeup; sl@0: /** OTG capability of the device */ sl@0: TUint8 iIsOtgClient; // NOT USED sl@0: /** Time interval to delay suspending the interface after finalisation */ sl@0: TUint8 iOtgSuspendTime; // NOT USED sl@0: sl@0: private: sl@0: TUint32 iSpare1; sl@0: TUint32 iSpare2; sl@0: TUint32 iSpare3; sl@0: TUint32 iSpare4; sl@0: }; sl@0: sl@0: sl@0: struct TCapsInfo sl@0: { sl@0: /** Size of Media in Blocks */ sl@0: TUint32 iNumberOfBlocks; sl@0: /** Block Length */ sl@0: TUint32 iBlockLength; sl@0: /** Media write protect */ sl@0: TBool iWriteProtect; sl@0: }; sl@0: sl@0: sl@0: sl@0: #endif //__HOSTUSBMSSHARED_H__