summaryrefslogtreecommitdiffstats
path: root/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-20 13:18:59 +0300
committerMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-22 10:08:51 +0000
commit31f9c57bc50ae053cfaf039a1dfdb128e2494458 (patch)
tree316138cb73c49877f5a80a8496c2f1b737122fb5 /tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32
parent4162ddeb02ee41fd4217d7f3d93d45cab3313ba8 (diff)
Fix issues with COIN builds
-Fix miscellaneous compile errors -Move manual tests to manual folder and enable export of autotests -Added widgets requirement -Fixed autotests -Fixed renderer and controller synchronization in QML case -Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL Change-Id: If6619733725d079e339bef16262e5ea1450ab20f Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Diffstat (limited to 'tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32')
-rw-r--r--tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnOSWin32.h157
-rw-r--r--tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnPlatformWin32.h255
-rw-r--r--tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/usb100.h270
3 files changed, 682 insertions, 0 deletions
diff --git a/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnOSWin32.h b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnOSWin32.h
new file mode 100644
index 00000000..c821744d
--- /dev/null
+++ b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnOSWin32.h
@@ -0,0 +1,157 @@
+/****************************************************************************
+* *
+* OpenNI 1.x Alpha *
+* Copyright (C) 2011 PrimeSense Ltd. *
+* *
+* This file is part of OpenNI. *
+* *
+* OpenNI is free software: you can redistribute it and/or modify *
+* it under the terms of the GNU Lesser General Public License as published *
+* by the Free Software Foundation, either version 3 of the License, or *
+* (at your option) any later version. *
+* *
+* OpenNI is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU Lesser General Public License for more details. *
+* *
+* You should have received a copy of the GNU Lesser General Public License *
+* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
+* *
+****************************************************************************/
+#ifndef __XN_OS_WIN32_H__
+#define __XN_OS_WIN32_H__
+
+//---------------------------------------------------------------------------
+// Includes
+//---------------------------------------------------------------------------
+#include <XnPlatform.h>
+
+//---------------------------------------------------------------------------
+// Files
+//---------------------------------------------------------------------------
+/** A generic handle type. */
+typedef HANDLE XN_HANDLE;
+
+/** A file handle type. */
+typedef HANDLE XN_FILE_HANDLE;
+
+/** The value of an invalid file handle. */
+#define XN_INVALID_FILE_HANDLE INVALID_HANDLE_VALUE
+
+/** A string that specifies the current directory. */
+#define XN_FILE_LOCAL_DIR ".\\"
+
+/** The file directory separator. */
+#define XN_FILE_DIR_SEP "\\"
+
+/** The file extension separator. */
+#define XN_FILE_EXT_SEP "."
+
+/** The file "all" wildcard. */
+#define XN_FILE_ALL_WILDCARD "*"
+
+/** The newline separation string. */
+#define XN_NEW_LINE_SEP "\r\n"
+
+//---------------------------------------------------------------------------
+// INI Files
+//---------------------------------------------------------------------------
+/** A string that specifies the extension of INI files. */
+#define XN_INI_FILE_EXT "ini"
+
+/** The maximum allowed INI string length (in bytes). */
+// Note: This must always be big enough to contain a 32-bit number!
+#define XN_INI_MAX_LEN 256
+
+//---------------------------------------------------------------------------
+// Shared Libraries
+//---------------------------------------------------------------------------
+/** A shared library handle type. */
+typedef HMODULE XN_LIB_HANDLE;
+
+/** A string that specifies the prefix of shared library files. */
+#define XN_SHARED_LIBRARY_PREFIX ""
+
+/** A string that specifies the postfix of shared library files. */
+#define XN_SHARED_LIBRARY_POSTFIX ".dll"
+
+//---------------------------------------------------------------------------
+// Threads
+//---------------------------------------------------------------------------
+/** A Xiron thread type. */
+typedef HANDLE XN_THREAD_HANDLE;
+
+/** A Xiron thread ID. */
+typedef DWORD XN_THREAD_ID;
+
+/** A Xiron process ID. */
+typedef DWORD XN_PROCESS_ID;
+
+/** The thread entry point function prototype. */
+typedef LPTHREAD_START_ROUTINE XN_THREAD_PROC_PROTO;
+
+/** The thread entry point function definition. */
+#define XN_THREAD_PROC DWORD WINAPI
+
+/** The thread return function. */
+#define XN_THREAD_PROC_RETURN(ret) return(ret)
+
+/** The thread passable data pointer type. */
+typedef LPVOID XN_THREAD_PARAM;
+
+//---------------------------------------------------------------------------
+// Time Outs
+//---------------------------------------------------------------------------
+/** The mutex lock infinite timeout. */
+#define XN_WAIT_INFINITE INFINITE
+
+//---------------------------------------------------------------------------
+// Mutex
+//---------------------------------------------------------------------------
+/** A Xiron mutex type. */
+typedef HANDLE XN_MUTEX_HANDLE;
+
+//---------------------------------------------------------------------------
+// Critical Sections
+//---------------------------------------------------------------------------
+/** A Xiron critical sections type. */
+typedef CRITICAL_SECTION* XN_CRITICAL_SECTION_HANDLE;
+
+//---------------------------------------------------------------------------
+// Events
+//---------------------------------------------------------------------------
+/** A Xiron event type. */
+typedef HANDLE XN_EVENT_HANDLE;
+
+//---------------------------------------------------------------------------
+// Semaphores
+//---------------------------------------------------------------------------
+/** A Xiron semaphore type. */
+typedef HANDLE XN_SEMAPHORE_HANDLE;
+
+//---------------------------------------------------------------------------
+// Timer
+//---------------------------------------------------------------------------
+/** The Xiron OS timer structure. */
+typedef struct XnOSTimer
+{
+ XnDouble dTicksPerTimeUnit;
+ LARGE_INTEGER nStartTick;
+} XnOSTimer;
+
+//---------------------------------------------------------------------------
+// Network
+//---------------------------------------------------------------------------
+/** The network host name and port separator. */
+#define XN_NETWORK_HOST_PORT_SEP ":"
+
+//---------------------------------------------------------------------------
+// Swaps
+//---------------------------------------------------------------------------
+#define XN_PREPARE_VAR16_IN_BUFFER(var) (var)
+#define XN_PREPARE_VAR32_IN_BUFFER(var) (var)
+#define XN_PREPARE_VAR64_IN_BUFFER(var) (var)
+#define XN_PREPARE_VAR_FLOAT_IN_BUFFER(var) (var)
+
+#endif //__XN_OS_WIN32_H__ \ No newline at end of file
diff --git a/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnPlatformWin32.h b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnPlatformWin32.h
new file mode 100644
index 00000000..efc26ead
--- /dev/null
+++ b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/XnPlatformWin32.h
@@ -0,0 +1,255 @@
+/****************************************************************************
+* *
+* OpenNI 1.x Alpha *
+* Copyright (C) 2011 PrimeSense Ltd. *
+* *
+* This file is part of OpenNI. *
+* *
+* OpenNI is free software: you can redistribute it and/or modify *
+* it under the terms of the GNU Lesser General Public License as published *
+* by the Free Software Foundation, either version 3 of the License, or *
+* (at your option) any later version. *
+* *
+* OpenNI is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU Lesser General Public License for more details. *
+* *
+* You should have received a copy of the GNU Lesser General Public License *
+* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
+* *
+****************************************************************************/
+#ifndef _XN_PLATFORM_WIN32_H_
+#define _XN_PLATFORM_WIN32_H_
+
+//---------------------------------------------------------------------------
+// Prerequisites
+//---------------------------------------------------------------------------
+#ifndef WINVER // Allow use of features specific to Windows XP or later
+ #define WINVER 0x0501
+#endif
+#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later
+ #define _WIN32_WINNT 0x0501
+#endif
+#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later
+ #define _WIN32_WINDOWS 0x0410
+#endif
+#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later
+ #define _WIN32_IE 0x0600
+#endif
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+// Undeprecate CRT functions
+#ifndef _CRT_SECURE_NO_DEPRECATE
+ #define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+
+//---------------------------------------------------------------------------
+// Includes
+//---------------------------------------------------------------------------
+#include <windows.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <malloc.h>
+#include <io.h>
+#include <time.h>
+#include <assert.h>
+#include <float.h>
+#include <crtdbg.h>
+
+//---------------------------------------------------------------------------
+// Platform Basic Definition
+//---------------------------------------------------------------------------
+#define XN_PLATFORM XN_PLATFORM_WIN32
+#define XN_PLATFORM_STRING "Win32"
+
+//---------------------------------------------------------------------------
+// Platform Capabilities
+//---------------------------------------------------------------------------
+#define XN_PLATFORM_ENDIAN_TYPE XN_PLATFORM_IS_LITTLE_ENDIAN
+
+#if _MSC_VER < 1400 // Before VS2005 there was no support for the vaargs macro...
+ #define XN_PLATFORM_VAARGS_TYPE XN_PLATFORM_USE_NO_VAARGS
+#else
+ #define XN_PLATFORM_VAARGS_TYPE XN_PLATFORM_USE_WIN32_VAARGS_STYLE
+#endif
+
+#define XN_PLATFORM_SUPPORTS_DYNAMIC_LIBS 1
+
+//---------------------------------------------------------------------------
+// Basic Types
+//---------------------------------------------------------------------------
+/** Boolean TRUE/FALSE type. */
+typedef BOOL XnBool;
+
+/** Signed character for strings. */
+typedef char XnChar;
+/** Unsigned character for strings. */
+typedef unsigned char XnUChar;
+
+/** Signed wide character for strings. */
+typedef wchar_t XnWChar;
+
+/** 8-bit signed integer. */
+typedef signed char XnInt8;
+/** 8-bit unsigned integer. */
+typedef unsigned char XnUInt8;
+
+/** 16-bit signed integer. */
+typedef short XnInt16;
+/** 16-bit unsigned integer. */
+typedef unsigned short XnUInt16;
+
+/** 32-bit signed integer. */
+typedef int XnInt32;
+/** 32-bit unsigned integer. */
+typedef unsigned int XnUInt32;
+
+/** 64-bit signed integer. */
+typedef __int64 XnInt64;
+/** 64-bit unsigned integer. */
+typedef unsigned __int64 XnUInt64;
+
+/** natural signed integer. */
+typedef int XnInt;
+/** natural unsigned integer. */
+typedef unsigned int XnUInt;
+
+/** Float (32bit) */
+typedef float XnFloat;
+/** Double (64bit) */
+typedef double XnDouble;
+
+/** Far procedures type (for shared libraries functions). */
+typedef FARPROC XnFarProc;
+
+/** Size type. */
+typedef size_t XnSizeT;
+
+/** Max unsigned 8-bit value */
+#define XN_MAX_UINT8 _UI8_MAX
+/** Max unsigned 16-bit value */
+#define XN_MAX_UINT16 _UI16_MAX
+/** Max unsigned 32-bit value */
+#define XN_MAX_UINT32 _UI32_MAX
+/** Max unsigned 64-bit value */
+#define XN_MAX_UINT64 _UI64_MAX
+
+/** Min signed 8-bit value */
+#define XN_MIN_INT8 _I8_MIN
+/** Min signed 16-bit value */
+#define XN_MIN_INT16 _I16_MIN
+/** Min signed 32-bit value */
+#define XN_MIN_INT32 _I32_MIN
+/** Min signed 64-bit value */
+#define XN_MIN_INT64 _I64_MIN
+
+/** Max signed 8-bit value */
+#define XN_MAX_INT8 _I8_MAX
+/** Max signed 16-bit value */
+#define XN_MAX_INT16 _I16_MAX
+/** Max signed 32-bit value */
+#define XN_MAX_INT32 _I32_MAX
+/** Max signed 64-bit value */
+#define XN_MAX_INT64 _I64_MAX
+
+/** Min double value */
+#define XN_MIN_DOUBLE DBL_MIN
+/** Max double value */
+#define XN_MAX_DOUBLE DBL_MAX
+
+//---------------------------------------------------------------------------
+// Memory
+//---------------------------------------------------------------------------
+/** The default memory alignment. */
+#define XN_DEFAULT_MEM_ALIGN 16
+
+/** The thread static declarator (using TLS). */
+#define XN_THREAD_STATIC __declspec(thread)
+
+//---------------------------------------------------------------------------
+// Files
+//---------------------------------------------------------------------------
+/** The maximum allowed file path size (in bytes). */
+#define XN_FILE_MAX_PATH MAX_PATH
+
+//---------------------------------------------------------------------------
+// Call backs
+//---------------------------------------------------------------------------
+/** The std call type. */
+#define XN_STDCALL __stdcall
+
+/** The call back calling convention. */
+#define XN_CALLBACK_TYPE XN_STDCALL
+
+/** The C and C++ calling convension. */
+#define XN_C_DECL __cdecl
+
+//---------------------------------------------------------------------------
+// Macros
+//---------------------------------------------------------------------------
+/** Returns the date and time at compile time. */
+#define XN_TIMESTAMP __DATE__ " " __TIME__
+
+/** Converts n into a pre-processor string. */
+#define XN_STRINGIFY(n) XN_STRINGIFY_HELPER(n)
+#define XN_STRINGIFY_HELPER(n) #n
+
+/** Asserts an expression, only on Debug build. */
+#define XN_ASSERT(x) _ASSERTE(x)
+
+//---------------------------------------------------------------------------
+// API Export/Import Macros
+//---------------------------------------------------------------------------
+/** Indicates an exported shared library function. */
+#define XN_API_EXPORT __declspec(dllexport)
+
+/** Indicates an imported shared library function. */
+#define XN_API_IMPORT __declspec(dllimport)
+
+/** Indicates a deprecated function */
+#if _MSC_VER < 1400 // Before VS2005 there was no support for declspec deprecated...
+ #define XN_API_DEPRECATED(msg)
+#else
+ #define XN_API_DEPRECATED(msg) __declspec(deprecated(msg))
+#endif
+
+#ifdef __INTEL_COMPILER
+ #define XN_DEPRECATED_WARNING_IDS 1786
+ #define XN_HIDES_PARENT_METHOD_WARNING_ID 1125
+ #define XN_CONDITION_IS_CONST_WARNING_ID
+ #define XN_INHERITS_VIA_DOMINANCE_WARNING_ID
+ #define XN_UNALIGNED_ADDRESS_WARNING_ID
+ #define XN_STRUCT_PADDED_WARNING_ID
+#else
+ #define XN_DEPRECATED_WARNING_IDS 4995 4996
+ #define XN_HIDES_PARENT_METHOD_WARNING_ID
+ #define XN_CONDITION_IS_CONST_WARNING_ID 4127
+ #define XN_INHERITS_VIA_DOMINANCE_WARNING_ID 4250
+ #define XN_UNALIGNED_ADDRESS_WARNING_ID 4366
+ #define XN_STRUCT_PADDED_WARNING_ID 4324
+#endif
+
+#define XN_PRAGMA_START_DISABLED_WARNING_SECTION(warnings) \
+ __pragma(warning(push)) \
+ __pragma(warning(disable: warnings))
+
+#define XN_PRAGMA_STOP_DISABLED_WARNING_SECTION \
+ __pragma(warning(pop))
+
+/** Declares a global shared library export function. */
+#define XN_API_EXPORT_INIT() \
+ BOOL APIENTRY DllMain (HMODULE /*hModule*/, DWORD nReasonForCall, LPVOID /*lpReserved*/) \
+ { \
+ switch (nReasonForCall) \
+ { \
+ case DLL_PROCESS_ATTACH: \
+ case DLL_THREAD_ATTACH: \
+ case DLL_THREAD_DETACH: \
+ case DLL_PROCESS_DETACH: \
+ break; \
+ } \
+ return TRUE; \
+ }
+
+#endif //_XN_PLATFORM_WIN32_H_
diff --git a/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/usb100.h b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/usb100.h
new file mode 100644
index 00000000..63c87b58
--- /dev/null
+++ b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/Win32/usb100.h
@@ -0,0 +1,270 @@
+#ifndef __USB100_H__
+#define __USB100_H__
+
+
+#include <PSHPACK1.H>
+
+
+//bmRequest.Dir
+#define BMREQUEST_HOST_TO_DEVICE 0
+#define BMREQUEST_DEVICE_TO_HOST 1
+
+//bmRequest.Type
+#define BMREQUEST_STANDARD 0
+#define BMREQUEST_CLASS 1
+#define BMREQUEST_VENDOR 2
+
+//bmRequest.Recipient
+#define BMREQUEST_TO_DEVICE 0
+#define BMREQUEST_TO_INTERFACE 1
+#define BMREQUEST_TO_ENDPOINT 2
+#define BMREQUEST_TO_OTHER 3
+
+
+#define MAXIMUM_USB_STRING_LENGTH 255
+
+// values for the bits returned by the USB GET_STATUS command
+#define USB_GETSTATUS_SELF_POWERED 0x01
+#define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED 0x02
+
+
+#define USB_DEVICE_DESCRIPTOR_TYPE 0x01
+#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
+#define USB_STRING_DESCRIPTOR_TYPE 0x03
+#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04
+#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05
+
+// descriptor types defined by DWG documents
+#define USB_RESERVED_DESCRIPTOR_TYPE 0x06
+#define USB_CONFIG_POWER_DESCRIPTOR_TYPE 0x07
+#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 0x08
+
+#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT)((USHORT)d<<8 | i))
+
+//
+// Values for bmAttributes field of an
+// endpoint descriptor
+//
+
+#define USB_ENDPOINT_TYPE_MASK 0x03
+
+#define USB_ENDPOINT_TYPE_CONTROL 0x00
+#define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01
+#define USB_ENDPOINT_TYPE_BULK 0x02
+#define USB_ENDPOINT_TYPE_INTERRUPT 0x03
+
+
+//
+// definitions for bits in the bmAttributes field of a
+// configuration descriptor.
+//
+#define USB_CONFIG_POWERED_MASK 0xc0
+
+#define USB_CONFIG_BUS_POWERED 0x80
+#define USB_CONFIG_SELF_POWERED 0x40
+#define USB_CONFIG_REMOTE_WAKEUP 0x20
+
+//
+// Endpoint direction bit, stored in address
+//
+
+#define USB_ENDPOINT_DIRECTION_MASK 0x80
+
+// test direction bit in the bEndpointAddress field of
+// an endpoint descriptor.
+#define USB_ENDPOINT_DIRECTION_OUT(addr) (!((addr) & USB_ENDPOINT_DIRECTION_MASK))
+#define USB_ENDPOINT_DIRECTION_IN(addr) ((addr) & USB_ENDPOINT_DIRECTION_MASK)
+
+//
+// USB defined request codes
+// see chapter 9 of the USB 1.0 specifcation for
+// more information.
+//
+
+// These are the correct values based on the USB 1.0
+// specification
+
+#define USB_REQUEST_GET_STATUS 0x00
+#define USB_REQUEST_CLEAR_FEATURE 0x01
+
+#define USB_REQUEST_SET_FEATURE 0x03
+
+#define USB_REQUEST_SET_ADDRESS 0x05
+#define USB_REQUEST_GET_DESCRIPTOR 0x06
+#define USB_REQUEST_SET_DESCRIPTOR 0x07
+#define USB_REQUEST_GET_CONFIGURATION 0x08
+#define USB_REQUEST_SET_CONFIGURATION 0x09
+#define USB_REQUEST_GET_INTERFACE 0x0A
+#define USB_REQUEST_SET_INTERFACE 0x0B
+#define USB_REQUEST_SYNC_FRAME 0x0C
+
+
+//
+// defined USB device classes
+//
+
+
+#define USB_DEVICE_CLASS_RESERVED 0x00
+#define USB_DEVICE_CLASS_AUDIO 0x01
+#define USB_DEVICE_CLASS_COMMUNICATIONS 0x02
+#define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03
+#define USB_DEVICE_CLASS_MONITOR 0x04
+#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
+#define USB_DEVICE_CLASS_POWER 0x06
+#define USB_DEVICE_CLASS_PRINTER 0x07
+#define USB_DEVICE_CLASS_STORAGE 0x08
+#define USB_DEVICE_CLASS_HUB 0x09
+#define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF
+
+//
+// USB Core defined Feature selectors
+//
+
+#define USB_FEATURE_ENDPOINT_STALL 0x0000
+#define USB_FEATURE_REMOTE_WAKEUP 0x0001
+
+//
+// USB DWG defined Feature selectors
+//
+
+#define USB_FEATURE_INTERFACE_POWER_D0 0x0002
+#define USB_FEATURE_INTERFACE_POWER_D1 0x0003
+#define USB_FEATURE_INTERFACE_POWER_D2 0x0004
+#define USB_FEATURE_INTERFACE_POWER_D3 0x0005
+
+typedef struct _USB_DEVICE_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ USHORT bcdUSB;
+ UCHAR bDeviceClass;
+ UCHAR bDeviceSubClass;
+ UCHAR bDeviceProtocol;
+ UCHAR bMaxPacketSize0;
+ USHORT idVendor;
+ USHORT idProduct;
+ USHORT bcdDevice;
+ UCHAR iManufacturer;
+ UCHAR iProduct;
+ UCHAR iSerialNumber;
+ UCHAR bNumConfigurations;
+} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
+
+typedef struct _USB_ENDPOINT_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ UCHAR bEndpointAddress;
+ UCHAR bmAttributes;
+ USHORT wMaxPacketSize;
+ UCHAR bInterval;
+} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
+
+typedef struct _USB_CONFIGURATION_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ USHORT wTotalLength;
+ UCHAR bNumInterfaces;
+ UCHAR bConfigurationValue;
+ UCHAR iConfiguration;
+ UCHAR bmAttributes;
+ UCHAR MaxPower;
+} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
+
+typedef struct _USB_INTERFACE_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ UCHAR bInterfaceNumber;
+ UCHAR bAlternateSetting;
+ UCHAR bNumEndpoints;
+ UCHAR bInterfaceClass;
+ UCHAR bInterfaceSubClass;
+ UCHAR bInterfaceProtocol;
+ UCHAR iInterface;
+} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
+
+typedef struct _USB_STRING_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ WCHAR bString[1];
+} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR;
+
+typedef struct _USB_COMMON_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+} USB_COMMON_DESCRIPTOR, *PUSB_COMMON_DESCRIPTOR;
+
+
+//
+// Standard USB HUB definitions
+//
+// See Chapter 11 USB core specification
+//
+
+typedef struct _USB_HUB_DESCRIPTOR {
+ UCHAR bDescriptorLength; // Length of this descriptor
+ UCHAR bDescriptorType; // Hub configuration type
+ UCHAR bNumberOfPorts; // number of ports on this hub
+ USHORT wHubCharacteristics; // Hub Charateristics
+ UCHAR bPowerOnToPowerGood; // port power on till power good in 2ms
+ UCHAR bHubControlCurrent; // max current in mA
+ //
+ // room for 255 ports power control and removable bitmask
+ UCHAR bRemoveAndPowerMask[64];
+} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
+
+
+//
+// Structures defined by various DWG feature documents
+//
+
+
+//
+// See DWG USB Feature Specification: Interface Power Management
+//
+
+#define USB_SUPPORT_D0_COMMAND 0x01
+#define USB_SUPPORT_D1_COMMAND 0x02
+#define USB_SUPPORT_D2_COMMAND 0x04
+#define USB_SUPPORT_D3_COMMAND 0x08
+
+#define USB_SUPPORT_D1_WAKEUP 0x10
+#define USB_SUPPORT_D2_WAKEUP 0x20
+
+
+typedef struct _USB_CONFIGURATION_POWER_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ UCHAR SelfPowerConsumedD0[3];
+ UCHAR bPowerSummaryId;
+ UCHAR bBusPowerSavingD1;
+ UCHAR bSelfPowerSavingD1;
+ UCHAR bBusPowerSavingD2;
+ UCHAR bSelfPowerSavingD2;
+ UCHAR bBusPowerSavingD3;
+ UCHAR bSelfPowerSavingD3;
+ USHORT TransitionTimeFromD1;
+ USHORT TransitionTimeFromD2;
+ USHORT TransitionTimeFromD3;
+} USB_CONFIGURATION_POWER_DESCRIPTOR, *PUSB_CONFIGURATION_POWER_DESCRIPTOR;
+
+
+typedef struct _USB_INTERFACE_POWER_DESCRIPTOR {
+ UCHAR bLength;
+ UCHAR bDescriptorType;
+ UCHAR bmCapabilitiesFlags;
+ UCHAR bBusPowerSavingD1;
+ UCHAR bSelfPowerSavingD1;
+ UCHAR bBusPowerSavingD2;
+ UCHAR bSelfPowerSavingD2;
+ UCHAR bBusPowerSavingD3;
+ UCHAR bSelfPowerSavingD3;
+ USHORT TransitionTimeFromD1;
+ USHORT TransitionTimeFromD2;
+ USHORT TransitionTimeFromD3;
+} USB_INTERFACE_POWER_DESCRIPTOR, *PUSB_INTERFACE_POWER_DESCRIPTOR;
+
+
+#include <POPPACK.H>
+
+
+#endif /* __USB100_H__ */
+