--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/e32test/usb/t_usb_device/include/general.h Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,259 @@
+// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "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:
+// e32test/usb/t_usb_device/include/general.h
+//
+//
+
+#ifndef __GENERAL_H__
+#define __GENERAL_H__
+
+#define __E32TEST_EXTENSION__
+
+#include <e32hal.h>
+#include <e32uid.h>
+#include <hal.h>
+
+#include <e32cons.h>
+#include <e32svr.h>
+#include <e32std.h>
+#include <e32test.h>
+#include <f32file.h>
+
+#ifdef USB_SC
+#include <d32usbcsc.h>
+#define RDEVCLIENT RDevUsbcScClient
+#define TENDPOINTNUMBER TInt
+#else
+#include <d32usbc.h>
+#define RDEVCLIENT RDevUsbcClient
+#define TENDPOINTNUMBER TEndpointNumber
+#endif
+
+static const TInt KHostLogFileSize = 64 * 1024; // 64kB
+
+static const TInt KMaxInterfaces = 10;
+static const TInt KMaxConcurrentTests = 10;
+static const TInt KMaxInterfaceSettings = 10;
+
+static const TInt KWaitSettingSize = 8;
+
+static const TUint16 KFirstSettingThreadMask = 0x8000;
+static const TUint16 KLastSettingThreadMask = 0x4000;
+
+static const TUint16 KHostErrorIndex = 0xFFF;
+
+static const TUint8 stridx1 = 0xCC;
+static const TUint8 stridx2 = 0xDD;
+static const TUint8 stridx3 = 0xEE;
+static const TUint8 stridx4 = 0xFF;
+
+#ifdef USB_SC
+_LIT(KActivePanic, "T_USB_SCDEVICE");
+#else
+_LIT(KActivePanic, "T_USB_DEVICE");
+#endif
+
+// Descriptor Offset Constants
+
+static const TInt KUsbDesc_SizeOffset = 0;
+static const TInt KUsbDesc_TypeOffset = 1;
+static const TInt KDevDesc_SpecOffset = 2;
+static const TInt KDevDesc_DevClassOffset = 4;
+static const TInt KDevDesc_DevSubClassOffset = 5;
+static const TInt KDevDesc_DevProtocolOffset = 6;
+static const TInt KDevDesc_Ep0SizeOffset = 7;
+static const TInt KDevDesc_VendorIdOffset = 8;
+static const TInt KDevDesc_ProductIdOffset = 10;
+static const TInt KDevDesc_DevReleaseOffset = 12;
+
+static const TInt KConfDesc_AttribOffset = 7;
+static const TInt KConfDesc_MaxPowerOffset = 8;
+
+static const TInt KIfcDesc_LengthOffset = 0;
+static const TInt KIfcDesc_TypeOffset = 1;
+static const TInt KIfcDesc_NumberOffset = 2;
+static const TInt KIfcDesc_SettingOffset = 3;
+static const TInt KIfcDesc_NumEndpointsOffset = 4;
+static const TInt KIfcDesc_ClassOffset = 5;
+static const TInt KIfcDesc_SubClassOffset = 6;
+static const TInt KIfcDesc_ProtocolOffset = 7;
+static const TInt KIfcDesc_InterfaceOffset = 8;
+
+static const TInt KEpDesc_LengthOffset = 0;
+static const TInt KEpDesc_TypeOffset = 1;
+static const TInt KEpDesc_AddressOffset = 2;
+static const TInt KEpDesc_AttributesOffset = 3;
+static const TInt KEpDesc_PacketSizeOffset = 4;
+static const TInt KEpDesc_IntervalOffset = 6;
+static const TInt KEpDesc_SynchAddressOffset = 8;
+
+enum TXferMode
+ {
+ ENone,
+ ELoop,
+ ELoopComp,
+ EReceiveOnly,
+ ETransmitOnly
+ };
+
+enum TXferType
+ {
+ ETxferNone,
+ EWaitSetting,
+ ESuspend,
+ EAltSetting,
+ EReadXfer,
+ EWriteXfer
+ };
+
+struct TestParam
+ {
+ TUint32 minSize;
+ TUint32 maxSize;
+ TUint32 packetNumber;
+ TUint8 interfaceNumber;
+ TUint8 alternateSetting;
+ TUint8 outPipe;
+ TUint8 inPipe;
+ TUint16 repeat;
+ TUint16 settingRepeat;
+ TUint8 beforeIndex;
+ TUint8 afterIndex;
+ };
+
+typedef struct TestParam TestParamType;
+typedef TestParamType* TestParamPtr;
+
+//
+// Helpful Defines
+//
+#define HiByte(a) (TUint8)((a)>>8)
+#define LoByte(a) (TUint8)((a)&0xFF)
+
+#define TUSB_PRINT(string) \
+ do { \
+ iConsole->Printf(_L(string)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string)); \
+ } while (0)
+
+#define TUSB_PRINT1(string, a) \
+ do { \
+ iConsole->Printf(_L(string), (a)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string), (a)); \
+ } while (0)
+
+#define TUSB_PRINT2(string, a, b) \
+ do { \
+ iConsole->Printf(_L(string), (a), (b)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string), (a), (b)); \
+ } while (0)
+
+#define TUSB_PRINT3(string, a, b, c) \
+ do { \
+ iConsole->Printf(_L(string), (a), (b), (c)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string), (a), (b), (c)); \
+ } while (0)
+
+#define TUSB_PRINT4(string, a, b, c, d) \
+ do { \
+ iConsole->Printf(_L(string), (a), (b), (c), (d)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string), (a), (b), (c), (d)); \
+ } while (0)
+
+#define TUSB_PRINT5(string, a, b, c, d, e) \
+ do { \
+ iConsole->Printf(_L(string), (a), (b), (c), (d), (e)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string), (a), (b), (c), (d), (e)); \
+ } while (0)
+
+#define TUSB_PRINT6(string, a, b, c, d, e, f) \
+ do { \
+ iConsole->Printf(_L(string), (a), (b), (c), (d), (e), (f)); \
+ iConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string), (a), (b), (c), (d), (e), (f)); \
+ } while (0)
+
+#define TUSB_VERBOSE_PRINT(string) \
+ do { \
+ if (gVerbose) \
+ { \
+ TUSB_PRINT(string); \
+ } \
+ } while (0)
+
+#define TUSB_VERBOSE_PRINT1(string, a) \
+ do { \
+ if (gVerbose) \
+ { \
+ TUSB_PRINT1(string, a); \
+ } \
+ } while (0)
+
+#define TUSB_VERBOSE_PRINT2(string, a, b) \
+ do { \
+ if (gVerbose) \
+ { \
+ TUSB_PRINT2(string, a, b); \
+ } \
+ } while (0)
+
+#define TUSB_VERBOSE_PRINT3(string, a, b, c) \
+ do { \
+ if (gVerbose) \
+ { \
+ TUSB_PRINT3(string, a, b, c); \
+ } \
+ } while (0)
+
+#define TUSB_VERBOSE_PRINT4(string, a, b, c, d) \
+ do { \
+ if (gVerbose) \
+ { \
+ TUSB_PRINT4(string, a, b, c, d); \
+ } \
+ } while (0)
+
+#define TUSB_VERBOSE_PRINT5(string, a, b, c, d, e) \
+ do { \
+ if (gVerbose) \
+ { \
+ TUSB_PRINT5(string, a, b, c, d, e); \
+ } \
+ } while (0)
+
+#define TUSB_VERBOSE_APRINT(string) \
+ do { \
+ if (gVerbose) \
+ { \
+ aConsole->Printf(_L(string)); \
+ aConsole->Printf(_L("\n")); \
+ RDebug::Print(_L(string)); \
+ } \
+ } while (0)
+
+#define TUSB_HEAPSIZE(string) \
+ do { \
+ TInt totalSize = 0; \
+ TInt numCells = User::AllocSize (totalSize); \
+ RDebug::Print(_L(string)); \
+ RDebug::Print(_L(" Heap Cells %d Size %d\n"),numCells,totalSize); \
+ } while (0)
+
+#endif // __GENERAL_H__