1 /** 2 * usbdi.h 3 * 4 * USBD and USB device driver definitions 5 * 6 * FIXME : Obsolete header.. Use usb.h instead. 7 * 8 * This file is part of the mingw-w64 runtime package. 9 * No warranty is given; refer to the file DISCLAIMER within this package. 10 * 11 * This file is based on the ReactOS PSDK file usbdi.h header. 12 * Original contributed by Casper S. Hornstrup <chorns (at) users.sourceforge.net> 13 * 14 * Added winapi-family check by Kai Tietz. 15 */ 16 17 #ifndef __USBDI_H__ 18 #define __USBDI_H__ 19 #include <winapifamily.h> 20 21 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 22 23 #include <usb.h> 24 #include <usbioctl.h> 25 26 #define USBD_STATUS_CANCELLING ((USBD_STATUS) 0x00020000) 27 #define USBD_STATUS_CANCELING ((USBD_STATUS) 0x00020000) 28 #define USBD_STATUS_NO_MEMORY ((USBD_STATUS) 0x80000100) 29 #define USBD_STATUS_ERROR ((USBD_STATUS) 0x80000000) 30 #define USBD_STATUS_REQUEST_FAILED ((USBD_STATUS) 0x80000500) 31 #define USBD_STATUS_HALTED ((USBD_STATUS) 0xc0000000) 32 33 #define USBD_HALTED(Status) ((ULONG) (Status) >> 30 == 3) 34 #define USBD_STATUS(Status) ((ULONG) (Status) & __MSABI_LONG (0x0fffffff)) 35 36 #define URB_FUNCTION_RESERVED0 0x0016 37 #define URB_FUNCTION_RESERVED 0x001d 38 #define URB_FUNCTION_LAST 0x0029 39 40 #define USBD_PF_DOUBLE_BUFFER 0x00000002 41 42 #ifdef USBD_PF_VALID_MASK 43 #undef USBD_PF_VALID_MASK 44 #endif 45 46 #define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | USBD_PF_DOUBLE_BUFFER | USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS) 47 48 #define USBD_TRANSFER_DIRECTION_BIT 0 49 #define USBD_SHORT_TRANSFER_OK_BIT 1 50 #define USBD_START_ISO_TRANSFER_ASAP_BIT 2 51 52 #ifdef USBD_TRANSFER_DIRECTION 53 #undef USBD_TRANSFER_DIRECTION 54 #endif 55 56 #define USBD_TRANSFER_DIRECTION(x) ((x) & USBD_TRANSFER_DIRECTION_IN) 57 #endif 58 #endif 59