]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Bus/Usb/UsbBot/Dxe/bot.h
1. Add NULL QH to set as QH header;
[mirror_edk2.git] / EdkModulePkg / Bus / Usb / UsbBot / Dxe / bot.h
CommitLineData
878ddf1f 1/*++\r
2\r
4d1fe68e 3Copyright (c) 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
878ddf1f 11\r
12Module Name:\r
13\r
14 BOT.h\r
15\r
16Abstract:\r
17\r
18--*/\r
19\r
20#ifndef _BOT_H\r
21#define _BOT_H\r
22\r
23\r
f0ec738d 24#include <IndustryStandard/Usb.h>\r
4d1fe68e 25extern UINT32 gBOTDebugLevel;\r
26extern UINT32 gBOTErrorLevel;\r
27#define MASS_STORAGE_CLASS 0x08\r
878ddf1f 28\r
29#pragma pack(1)\r
30//\r
31// Bulk Only device protocol\r
32//\r
33typedef struct {\r
34 UINT32 dCBWSignature;\r
35 UINT32 dCBWTag;\r
36 UINT32 dCBWDataTransferLength;\r
37 UINT8 bmCBWFlags;\r
38 UINT8 bCBWLUN;\r
39 UINT8 bCBWCBLength;\r
40 UINT8 CBWCB[16];\r
41} CBW;\r
42\r
43typedef struct {\r
44 UINT32 dCSWSignature;\r
45 UINT32 dCSWTag;\r
46 UINT32 dCSWDataResidue;\r
47 UINT8 bCSWStatus;\r
48} CSW;\r
49\r
50#pragma pack()\r
51\r
52#define USB_BOT_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('u', 'b', 'o', 't')\r
53\r
54typedef struct {\r
55 UINTN Signature;\r
56 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
57 EFI_USB_ATAPI_PROTOCOL UsbAtapiProtocol;\r
58 EFI_USB_IO_PROTOCOL *UsbIo;\r
59 EFI_USB_INTERFACE_DESCRIPTOR *InterfaceDescriptor;\r
60 EFI_USB_ENDPOINT_DESCRIPTOR *BulkInEndpointDescriptor;\r
61 EFI_USB_ENDPOINT_DESCRIPTOR *BulkOutEndpointDescriptor;\r
62 EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
63} USB_BOT_DEVICE;\r
64\r
65#define USB_BOT_DEVICE_FROM_THIS(a) \\r
66 CR(a, USB_BOT_DEVICE, UsbAtapiProtocol, USB_BOT_DEVICE_SIGNATURE)\r
67\r
68//\r
69// Status code, see Usb Bot device spec\r
70//\r
71#define CSWSIG 0x53425355\r
72#define CBWSIG 0x43425355\r
73\r
74//\r
75// Global Variables\r
76//\r
77extern EFI_DRIVER_BINDING_PROTOCOL gUsbBotDriverBinding;\r
78extern EFI_COMPONENT_NAME_PROTOCOL gUsbBotComponentName;\r
79extern EFI_GUID gUsbBotDriverGuid;\r
80\r
81#endif\r