wined3d: An indirect address op can adjust min and max at the same time.
[wine] / include / ddk / usb100.h
1 /*
2  * Copyright (C) the Wine project
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #ifndef __DDK_USB100_H__
20 #define __DDK_USB100_H__
21
22 #define USB_DEVICE_DESCRIPTOR_TYPE                0x01
23 #define USB_CONFIGURATION_DESCRIPTOR_TYPE         0x02
24 #define USB_STRING_DESCRIPTOR_TYPE                0x03
25 #define USB_INTERFACE_DESCRIPTOR_TYPE             0x04
26 #define USB_ENDPOINT_DESCRIPTOR_TYPE              0x05
27 #define USB_RESERVED_DESCRIPTOR_TYPE              0x06
28 #define USB_CONFIG_POWER_DESCRIPTOR_TYPE          0x07
29 #define USB_INTERFACE_POWER_DESCRIPTOR_TYPE       0x08
30
31 #include <pshpack1.h>
32
33 typedef struct _USB_DEVICE_DESCRIPTOR {
34     UCHAR bLength;
35     UCHAR bDescriptorType;
36     USHORT bcdUSB;
37     UCHAR bDeviceClass;
38     UCHAR bDeviceSubClass;
39     UCHAR bDeviceProtocol;
40     UCHAR bMaxPacketSize0;
41     USHORT idVendor;
42     USHORT idProduct;
43     USHORT bcdDevice;
44     UCHAR iManufacturer;
45     UCHAR iProduct;
46     UCHAR iSerialNumber;
47     UCHAR bNumConfigurations;
48 } USB_DEVICE_DESCRIPTOR;
49 typedef struct _USB_DEVICE_DESCRIPTOR *PUSB_DEVICE_DESCRIPTOR;
50
51 typedef struct _USB_ENDPOINT_DESCRIPTOR {
52     UCHAR bLength;
53     UCHAR bDescriptorType;
54     UCHAR bEndpointAddress;
55     UCHAR bmAttributes;
56     USHORT wMaxPacketSize;
57     UCHAR bInterval;
58 } USB_ENDPOINT_DESCRIPTOR;
59 typedef struct _USB_ENDPOINT_DESCRIPTOR *PUSB_ENDPOINT_DESCRIPTOR;
60
61 typedef struct _USB_CONFIGURATION_DESCRIPTOR {
62     UCHAR bLength;
63     UCHAR bDescriptorType;
64     USHORT wTotalLength;
65     UCHAR bNumInterfaces;
66     UCHAR bConfigurationValue;
67     UCHAR iConfiguration;
68     UCHAR bmAttributes;
69     UCHAR MaxPower;
70 } USB_CONFIGURATION_DESCRIPTOR;
71 typedef struct _USB_CONFIGURATION_DESCRIPTOR *PUSB_CONFIGURATION_DESCRIPTOR;
72
73 typedef struct _USB_INTERFACE_DESCRIPTOR {
74     UCHAR bLength;
75     UCHAR bDescriptorType;
76     UCHAR bInterfaceNumber;
77     UCHAR bAlternateSetting;
78     UCHAR bNumEndpoints;
79     UCHAR bInterfaceClass;
80     UCHAR bInterfaceSubClass;
81     UCHAR bInterfaceProtocol;
82     UCHAR iInterface;
83 } USB_INTERFACE_DESCRIPTOR;
84 typedef struct _USB_INTERFACE_DESCRIPTOR *PUSB_INTERFACE_DESCRIPTOR;
85
86 typedef struct _USB_STRING_DESCRIPTOR {
87     UCHAR bLength;
88     UCHAR bDescriptorType;
89     WCHAR bString[1];
90 } USB_STRING_DESCRIPTOR;
91 typedef struct _USB_STRING_DESCRIPTOR *PUSB_STRING_DESCRIPTOR;
92
93 typedef struct _USB_COMMON_DESCRIPTOR {
94     UCHAR bLength;
95     UCHAR bDescriptorType;
96 } USB_COMMON_DESCRIPTOR;
97 typedef struct _USB_COMMON_DESCRIPTOR *PUSB_COMMON_DESCRIPTOR;
98
99 #include <poppack.h>
100
101 #endif