Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef __USB200_H__ #define __USB200_H__
#include "usb100.h"
#include <PSHPACK1.H>
typedef enum _USB_DEVICE_SPEED { UsbLowSpeed = 0, UsbFullSpeed, UsbHighSpeed } USB_DEVICE_SPEED;
typedef enum _USB_DEVICE_TYPE { Usb11Device = 0, Usb20Device } USB_DEVICE_TYPE;
// standard definiions for the port status // word of the HUB port register
#define USB_PORT_STATUS_CONNECT 0x0001 #define USB_PORT_STATUS_ENABLE 0x0002 #define USB_PORT_STATUS_SUSPEND 0x0004 #define USB_PORT_STATUS_OVER_CURRENT 0x0008 #define USB_PORT_STATUS_RESET 0x0010 #define USB_PORT_STATUS_POWER 0x0100 #define USB_PORT_STATUS_LOW_SPEED 0x0200 #define USB_PORT_STATUS_HIGH_SPEED 0x0400
typedef union _BM_REQUEST_TYPE { struct _BM { UCHAR Recipient:2; UCHAR Reserved:3; UCHAR Type:2; UCHAR Dir:1; }; UCHAR B; } BM_REQUEST_TYPE, *PBM_REQUEST_TYPE;
typedef struct _USB_DEFAULT_PIPE_SETUP_PACKET { BM_REQUEST_TYPE bmRequestType; UCHAR bRequest;
union _wValue { struct { UCHAR LowByte; UCHAR HiByte; }; USHORT W; } wValue;
union _wIndex { struct { UCHAR LowByte; UCHAR HiByte; }; USHORT W; } wIndex; USHORT wLength; } USB_DEFAULT_PIPE_SETUP_PACKET, *PUSB_DEFAULT_PIPE_SETUP_PACKET;
// setup packet is eight bytes -- defined by spec C_ASSERT(sizeof(USB_DEFAULT_PIPE_SETUP_PACKET) == 8);
#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06
typedef struct _USB_DEVICE_QUALIFIER_DESCRIPTOR { UCHAR bLength; UCHAR bDescriptorType; USHORT bcdUSB; UCHAR bDeviceClass; UCHAR bDeviceSubClass; UCHAR bDeviceProtocol; UCHAR bMaxPacketSize0; UCHAR bNumConfigurations; UCHAR bReserved; } USB_DEVICE_QUALIFIER_DESCRIPTOR, *PUSB_DEVICE_QUALIFIER_DESCRIPTOR;
typedef union _USB_HIGH_SPEED_MAXPACKET { struct _MP { USHORT MaxPacket:11; /* 0..10 */ USHORT HSmux:2; /* 11..12 */ USHORT Reserved:3; /* 13..15 */ }; USHORT us; } USB_HIGH_SPEED_MAXPACKET, *PUSB_HIGH_SPEED_MAXPACKET;
#include <POPPACK.H>
#endif __USB200_H__
|