1
/* LIBUSB-WIN32, Generic Windows USB Library
2
* Copyright (c) 2002-2005 Stephan Meyer <ste_meyer@web.de>
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
9
* This program 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
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
#ifndef __DRIVER_API_H__
21
#define __DRIVER_API_H__
31
#define LIBUSB0_MAX_READ_WRITE 0x10000
33
#define LIBUSB0_MAX_NUMBER_OF_DEVICES 256
34
#define LIBUSB0_MAX_NUMBER_OF_CHILDREN 32
36
#define LIBUSB0_IOCTL_SET_CONFIGURATION CTL_CODE(FILE_DEVICE_UNKNOWN,\
37
0x801, METHOD_BUFFERED, FILE_ANY_ACCESS)
39
#define LIBUSB0_IOCTL_GET_CONFIGURATION CTL_CODE(FILE_DEVICE_UNKNOWN,\
40
0x802, METHOD_BUFFERED, FILE_ANY_ACCESS)
42
#define LIBUSB0_IOCTL_SET_INTERFACE CTL_CODE(FILE_DEVICE_UNKNOWN,\
43
0x803, METHOD_BUFFERED, FILE_ANY_ACCESS)
45
#define LIBUSB0_IOCTL_GET_INTERFACE CTL_CODE(FILE_DEVICE_UNKNOWN,\
46
0x804, METHOD_BUFFERED, FILE_ANY_ACCESS)
48
#define LIBUSB0_IOCTL_SET_FEATURE CTL_CODE(FILE_DEVICE_UNKNOWN,\
49
0x805, METHOD_BUFFERED, FILE_ANY_ACCESS)
51
#define LIBUSB0_IOCTL_CLEAR_FEATURE CTL_CODE(FILE_DEVICE_UNKNOWN,\
52
0x806, METHOD_BUFFERED, FILE_ANY_ACCESS)
54
#define LIBUSB0_IOCTL_GET_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN,\
55
0x807, METHOD_BUFFERED, FILE_ANY_ACCESS)
57
#define LIBUSB0_IOCTL_SET_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN,\
58
0x808, METHOD_BUFFERED, FILE_ANY_ACCESS)
60
#define LIBUSB0_IOCTL_GET_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN,\
61
0x809, METHOD_BUFFERED, FILE_ANY_ACCESS)
63
#define LIBUSB0_IOCTL_INTERRUPT_OR_BULK_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN,\
64
0x80A, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
66
#define LIBUSB0_IOCTL_INTERRUPT_OR_BULK_READ CTL_CODE(FILE_DEVICE_UNKNOWN,\
67
0x80B, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
69
#define LIBUSB0_IOCTL_VENDOR_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN,\
70
0x80C, METHOD_BUFFERED, FILE_ANY_ACCESS)
72
#define LIBUSB0_IOCTL_VENDOR_READ CTL_CODE(FILE_DEVICE_UNKNOWN,\
73
0x80D, METHOD_BUFFERED, FILE_ANY_ACCESS)
75
#define LIBUSB0_IOCTL_RESET_ENDPOINT CTL_CODE(FILE_DEVICE_UNKNOWN,\
76
0x80E, METHOD_BUFFERED, FILE_ANY_ACCESS)
78
#define LIBUSB0_IOCTL_ABORT_ENDPOINT CTL_CODE(FILE_DEVICE_UNKNOWN,\
79
0x80F, METHOD_BUFFERED, FILE_ANY_ACCESS)
81
#define LIBUSB0_IOCTL_RESET_DEVICE CTL_CODE(FILE_DEVICE_UNKNOWN,\
82
0x810, METHOD_BUFFERED, FILE_ANY_ACCESS)
84
#define LIBUSB0_IOCTL_SET_DEBUG_LEVEL CTL_CODE(FILE_DEVICE_UNKNOWN,\
85
0x811, METHOD_BUFFERED, FILE_ANY_ACCESS)
87
#define LIBUSB0_IOCTL_GET_VERSION CTL_CODE(FILE_DEVICE_UNKNOWN,\
88
0x812, METHOD_BUFFERED, FILE_ANY_ACCESS)
90
#define LIBUSB0_IOCTL_ISOCHRONOUS_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN,\
91
0x813, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
93
#define LIBUSB0_IOCTL_ISOCHRONOUS_READ CTL_CODE(FILE_DEVICE_UNKNOWN,\
94
0x814, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
96
#define LIBUSB0_IOCTL_CLAIM_INTERFACE CTL_CODE(FILE_DEVICE_UNKNOWN,\
97
0x815, METHOD_BUFFERED, FILE_ANY_ACCESS)
99
#define LIBUSB0_IOCTL_RELEASE_INTERFACE CTL_CODE(FILE_DEVICE_UNKNOWN,\
100
0x816, METHOD_BUFFERED, FILE_ANY_ACCESS)
102
#include <pshpack1.h>
106
unsigned int timeout;
110
unsigned int configuration;
114
unsigned int interface;
115
unsigned int altsetting;
119
unsigned int endpoint;
120
unsigned int packet_size;
125
unsigned int recipient;
126
unsigned int request;
132
unsigned int recipient;
133
unsigned int feature;
138
unsigned int recipient;
146
unsigned int language_id;
147
unsigned int recipient;