/** @file\r
Support for USB 2.0 standard.\r
\r
- Copyright (c) 2006 - 2008, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#ifndef __USB_H__\r
#define __USB_H__\r
\r
+//\r
+// Subset of Class and Subclass definitions from USB Specs\r
+//\r
+\r
+//\r
+// Usb mass storage class code\r
+//\r
+#define USB_MASS_STORE_CLASS 0x08\r
+\r
+//\r
+// Usb mass storage subclass code, specify the command set used.\r
+//\r
+#define USB_MASS_STORE_RBC 0x01 ///< Reduced Block Commands\r
+#define USB_MASS_STORE_8020I 0x02 ///< SFF-8020i, typically a CD/DVD device\r
+#define USB_MASS_STORE_QIC 0x03 ///< Typically a tape device\r
+#define USB_MASS_STORE_UFI 0x04 ///< Typically a floppy disk driver device\r
+#define USB_MASS_STORE_8070I 0x05 ///< SFF-8070i, typically a floppy disk driver device.\r
+#define USB_MASS_STORE_SCSI 0x06 ///< SCSI transparent command set\r
+\r
+//\r
+// Usb mass storage protocol code, specify the transport protocol\r
+//\r
+#define USB_MASS_STORE_CBI0 0x00 ///< CBI protocol with command completion interrupt\r
+#define USB_MASS_STORE_CBI1 0x01 ///< CBI protocol without command completion interrupt\r
+#define USB_MASS_STORE_BOT 0x50 ///< Bulk-Only Transport\r
+\r
//\r
// Standard device request and request type\r
// USB 2.0 spec, Section 9.4\r
#pragma pack(1)\r
///\r
/// Descriptor header for Report/Physical Descriptors\r
+/// HID 1.1, section 6.2.1\r
///\r
typedef struct hid_class_descriptor {\r
UINT8 DescriptorType;\r
///\r
/// The HID descriptor identifies the length and type\r
/// of subordinate descriptors for a device.\r
+/// HID 1.1, section 6.2.1\r
///\r
typedef struct hid_descriptor {\r
UINT8 Length;\r