]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/cbi.h
Move the share file: cbi.h to Cbi0 and Cbi1 directory.
[mirror_edk2.git] / EdkModulePkg / Bus / Usb / UsbCbi / Dxe / Cbi0 / cbi.h
diff --git a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/cbi.h b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/cbi.h
new file mode 100644 (file)
index 0000000..e2a7c9d
--- /dev/null
@@ -0,0 +1,70 @@
+/*++\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