summaryrefslogtreecommitdiff
path: root/include/qhy/winusbio.h
blob: 6c10fc42134ff02aa56c937360ae1b54dad852c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/***************************************************************************

Copyright (c) 2002 Microsoft Corporation

Module Name:

        wusbio.h

Abstract:

        Public header for WINUSB

Environment:

        User and Kernel Mode

Notes:

        THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
        KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
        PURPOSE.

        Copyright (c) 2001 Microsoft Corporation.  All Rights Reserved.


Revision History:

        11/12/2002 : created


****************************************************************************/

#ifndef __WUSBIO_H__
#define __WUSBIO_H__

#if(NTDDI_VERSION >= NTDDI_WINXP)

#include "usb.h"
                 
// Pipe policy types
#define SHORT_PACKET_TERMINATE  0x01
#define AUTO_CLEAR_STALL        0x02
#define PIPE_TRANSFER_TIMEOUT   0x03
#define IGNORE_SHORT_PACKETS    0x04
#define ALLOW_PARTIAL_READS     0x05
#define AUTO_FLUSH              0x06
#define RAW_IO                  0x07
#define MAXIMUM_TRANSFER_SIZE   0x08
#define RESET_PIPE_ON_RESUME    0x09

// Power policy types
//
// Add 0x80 for Power policy types in order to prevent overlap with 
// Pipe policy types to prevent "accidentally" setting the wrong value for the 
// wrong type.
//
#define AUTO_SUSPEND            0x81
#define SUSPEND_DELAY           0x83

// Device Information types
#define DEVICE_SPEED            0x01

// Device Speeds
#define LowSpeed                0x01
#define FullSpeed               0x02
#define HighSpeed               0x03 

// {DA812BFF-12C3-46a2-8E2B-DBD3B7834C43}
#include <initguid.h>
DEFINE_GUID(WinUSB_TestGuid, 0xda812bff, 0x12c3, 0x46a2, 0x8e, 0x2b, 0xdb, 0xd3, 0xb7, 0x83, 0x4c, 0x43);

                   
typedef struct _WINUSB_PIPE_INFORMATION {
    USBD_PIPE_TYPE  PipeType;
    UCHAR           PipeId;
    USHORT          MaximumPacketSize;
    UCHAR           Interval;
} WINUSB_PIPE_INFORMATION, *PWINUSB_PIPE_INFORMATION;

#endif // (NTDDI_VERSION >= NTDDI_WINXP)

#endif // __WUSBIO_H__