00001 #ifndef SPR_DREzUSB_H
00002 #define SPR_DREzUSB_H
00003
00004
00005
00006
00007 namespace Spr{;
00008
00009 struct BULK_TRANSFER_CONTROL{
00010 ULONG pipeNum;
00011 };
00012
00013 struct USB_DEVICE_DESCRIPTOR {
00014 UCHAR bLength;
00015 UCHAR bDescriptorType;
00016 USHORT bcdUSB;
00017 UCHAR bDeviceClass;
00018 UCHAR bDeviceSubClass;
00019 UCHAR bDeviceProtocol;
00020 UCHAR bMaxPacketSize0;
00021 USHORT idVendor;
00022 USHORT idProduct;
00023 USHORT bcdDevice;
00024 UCHAR iManufacturer;
00025 UCHAR iProduct;
00026 UCHAR iSerialNumber;
00027 UCHAR bNumConfigurations;
00028 };
00029
00030 #define Ezusb_IOCTL_INDEX 0x0800
00031
00032 #define IOCTL_Ezusb_GET_DEVICE_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, \
00033 Ezusb_IOCTL_INDEX+1,\
00034 METHOD_BUFFERED, \
00035 FILE_ANY_ACCESS)
00036
00037
00038 #define IOCTL_EZUSB_BULK_READ CTL_CODE(FILE_DEVICE_UNKNOWN, \
00039 Ezusb_IOCTL_INDEX+19,\
00040 METHOD_OUT_DIRECT, \
00041 FILE_ANY_ACCESS)
00042
00043 #define IOCTL_EZUSB_BULK_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN, \
00044 Ezusb_IOCTL_INDEX+20,\
00045 METHOD_IN_DIRECT, \
00046 FILE_ANY_ACCESS)
00047
00048 #define IOCTL_Ezusb_RESETPIPE CTL_CODE(FILE_DEVICE_UNKNOWN, \
00049 Ezusb_IOCTL_INDEX+13,\
00050 METHOD_IN_DIRECT, \
00051 FILE_ANY_ACCESS)
00052
00053 #define IOCTL_Ezusb_ABORTPIPE CTL_CODE(FILE_DEVICE_UNKNOWN, \
00054 Ezusb_IOCTL_INDEX+15,\
00055 METHOD_IN_DIRECT, \
00056 FILE_ANY_ACCESS)
00057 }
00058
00059 #endif