diff -r 000000000000 -r cec860690d41 haitest/bspsvs/suite/e32/inc/USBConstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/haitest/bspsvs/suite/e32/inc/USBConstants.h Tue Feb 02 01:39:10 2010 +0200 @@ -0,0 +1,142 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +// This contains namespace USB + +#ifndef USBCONSTANTS_H +#define USBCONSTANTS_H + +/** + * Namespace for constant variables and data types, common to USBerian + */ +namespace USB + { + /** + * USB logical device driver name + * */ + #ifdef __WINS__ + _LIT(KLDDName, "testusbc"); + #else + _LIT(KLDDName, "eusbc"); + #endif + + /** + * Endpoint type constants - Short descriptions of types + (see USB 2.0 specification for details) */ + + /** + Control + "Control transfers are intended to support configuration/command/status + type communication flows between client software and its function. Each + USB device is required to implement the Default Control Pipe as a message pipe." + */ + _LIT(KEPControl, "Control"); + + /** + Bulk + "The bulk transfer type is designed to support devices that need to communicate + relatively large amounts of data at highly variable times where the transfer can + use any available bandwidth." + */ + _LIT(KEPBulk, "Bulk"); + + /** + Interrupt + "The interrupt transfer type is designed to support those devices that need to + send or receive data infrequently but with bounded service periods." + */ + _LIT(KEPInterrupt, "Interrupt"); + /* + Isochronous + "Isochronous transfer type provides the requester: + - guaranteed access to USB bandwidth with bounded latency + - guaranteed constant data rate through the pipe as long as data is provided to the pipe + - in the case of a delivery failure due to error, no retrying of the attempt to deliver the data " + */ + _LIT(KEPIsochronous, "Isochronous"); + + /** + * Endpoint direction constants + * */ + + _LIT(KEPIn, "In"); // "IN refers to transfers to the host" + _LIT(KEPOut, "Out"); // "OUT refers to transfers from the host." + _LIT(KEPBidirectional, "Bidirectional"); // only for control transfers + + /** + * The following are default offsets data in device descriptor + Offsets are used to set */ + const TInt KSpecOffset = 2; + const TInt KVendorOffset = 8; + const TInt KProductIDOffset = 10; + const TInt KReleaseOffset = 12; + + /* Default number of channels to open. Used only to initialize variable with proper value */ + const TInt MinNumberOfChannels = 1; + + /* Value which is not used by USB client driver, "For future compatibility, should always be zero." */ + const TInt KUSBChannelOpenParameter = 0; + + /* Value for how long to wait before test case ends after re-enumeration */ + const TInt KSecond = 1000000; // 1 secs = 1000000 microseconds + + enum TUSBEndPointMode { + ENotChosen = -1, + EBulk, + EInterrupt, + EIsochronous + }; + + /** + * USB Actions indicate which action is done in async call + * The flag is set before async calls to RDevUsbcClient + * It is used by USBReader and USBWriter classes + */ + + enum USBAction + { + + // Read Actions - used by USBReader + ENone, // ENone Used by both USBReader and USBWriter + ERead, + EReadWithLength, + EReadUntilShort, + EReadUntilShortWithLength, + EReadOneOrMore, + EReadOneOrMoreWithLength, + EReadError, + + // Write Actions - used by USBWriter + EWrite, + EWriteFile, + EWriteError + + }; + + // Read and write buffers 0.5MB by default + const TInt KDefaultReadBufferSize = 1024 * 512; + const TInt KDefaultWriteBufferSize = 1024 * 512; + + const TInt KDelayBetweenDataAvailabilityQueries = 1000000; + + const TInt KTransferDataSize5MB = 5242880; + const TInt KMicroSecondsToSecondsMultiplier = 1000000; + } + + + +#endif +