Home | History | Annotate | Download | only in include
      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