+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, 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
-\r
-Module Name:\r
-\r
- cbi.h\r
-\r
-Abstract:\r
-\r
- USB CBI transportation protocol definitions.\r
---*/\r
-\r
-#ifndef _CBI_H\r
-#define _CBI_H\r
-\r
-\r
-#include <IndustryStandard/Usb.h>\r
-\r
-#define bit(a) (1 << (a))\r
-\r
-#define MASS_STORAGE_CLASS 0x08\r
-#define CBI0_INTERFACE_PROTOCOL 0x00\r
-#define CBI1_INTERFACE_PROTOCOL 0x01\r
-\r
-//\r
-// in millisecond unit\r
-//\r
-#define STALL_1_SECOND 1000 \r
-\r
-#pragma pack(1)\r
-//\r
-// Data block definition for transportation through interrupt endpoint\r
-//\r
-typedef struct {\r
- UINT8 bType;\r
- UINT8 bValue;\r
-} INTERRUPT_DATA_BLOCK;\r
-\r
-#pragma pack()\r
-\r
-#define USB_CBI_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('u', 'c', 'b', 'i')\r
-\r
-//\r
-// Device structure for CBI, interrupt endpoint may be not used in\r
-// CBI1 Protocol\r
-//\r
-typedef struct {\r
- UINT32 Signature;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- EFI_USB_ATAPI_PROTOCOL UsbAtapiProtocol;\r
- EFI_USB_IO_PROTOCOL *UsbIo;\r
- EFI_USB_INTERFACE_DESCRIPTOR InterfaceDescriptor;\r
- EFI_USB_ENDPOINT_DESCRIPTOR BulkInEndpointDescriptor;\r
- EFI_USB_ENDPOINT_DESCRIPTOR BulkOutEndpointDescriptor;\r
- EFI_USB_ENDPOINT_DESCRIPTOR InterruptEndpointDescriptor;\r
- EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
-} USB_CBI_DEVICE;\r
-\r
-#define USB_CBI_DEVICE_FROM_THIS(a) \\r
- CR(a, USB_CBI_DEVICE, UsbAtapiProtocol, USB_CBI_DEVICE_SIGNATURE)\r
-\r
-#endif\r