This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/ddk/usb200.h

139 lines
3.6 KiB
C

/*
* usb200.h USB 2.0 definitions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef __USB200_H__
#define __USB200_H__
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#include <usb100.h>
#ifdef __cplusplus
extern "C" {
#endif
/* USB port status flags */
#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
/* USB descriptor types */
#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06
#define USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE 0x07
#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B
/* All structures in this file get one-byte packing. */
#include <pshpack1.h>
/* USB device speeds */
typedef enum _USB_DEVICE_SPEED {
UsbLowSpeed = 0,
UsbFullSpeed = 1,
UsbHighSpeed = 2
} USB_DEVICE_SPEED;
/* USB device types */
typedef enum _USB_DEVICE_TYPE {
Usb11Device = 0,
Usb20Device = 1
} USB_DEVICE_TYPE;
/* Request type */
typedef union _BM_REQUEST_TYPE {
struct _BM {
UCHAR Recipient : 2;
UCHAR Reserved : 3;
UCHAR Type : 2;
UCHAR Dir : 1;
};
UCHAR B;
} BM_REQUEST_TYPE;
typedef BM_REQUEST_TYPE *PBM_REQUEST_TYPE;
/* USB default pipe setup packet */
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;
typedef USB_DEFAULT_PIPE_SETUP_PACKET *PUSB_DEFAULT_PIPE_SETUP_PACKET;
/* USB device qualifier descriptor */
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;
typedef USB_DEVICE_QUALIFIER_DESCRIPTOR *PUSB_DEVICE_QUALIFIER_DESCRIPTOR;
/* USB high speed maximum packet */
typedef union _USB_HIGH_SPEED_MAXPACKET {
struct _MP {
USHORT MaxPacket : 11;
USHORT HSmux : 2;
USHORT Reserved : 3;
};
USHORT us;
} USB_HIGH_SPEED_MAXPACKET;
typedef USB_HIGH_SPEED_MAXPACKET *PUSB_HIGH_SPEED_MAXPACKET;
/* USB interface association descriptor */
typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bFirstInterface;
UCHAR bInterfaceCount;
UCHAR bFunctionClass;
UCHAR bFunctionSubClass;
UCHAR bFunctionProtocol;
UCHAR iFunction;
} USB_INTERFACE_ASSOCIATION_DESCRIPTOR;
typedef USB_INTERFACE_ASSOCIATION_DESCRIPTOR *PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR;
/* Revert to default packing. */
#include <poppack.h>
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __USB200_H__ */