+++ /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
- BOT.h\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#ifndef _BOT_H\r
-#define _BOT_H\r
-\r
-\r
-#include <IndustryStandard/Usb.h>\r
-extern UINT32 gBOTDebugLevel;\r
-extern UINT32 gBOTErrorLevel;\r
-#define MASS_STORAGE_CLASS 0x08\r
-\r
-#pragma pack(1)\r
-//\r
-// Bulk Only device protocol\r
-//\r
-typedef struct {\r
- UINT32 dCBWSignature;\r
- UINT32 dCBWTag;\r
- UINT32 dCBWDataTransferLength;\r
- UINT8 bmCBWFlags;\r
- UINT8 bCBWLUN;\r
- UINT8 bCBWCBLength;\r
- UINT8 CBWCB[16];\r
-} CBW;\r
-\r
-typedef struct {\r
- UINT32 dCSWSignature;\r
- UINT32 dCSWTag;\r
- UINT32 dCSWDataResidue;\r
- UINT8 bCSWStatus;\r
-} CSW;\r
-\r
-#pragma pack()\r
-\r
-#define USB_BOT_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('u', 'b', 'o', 't')\r
-\r
-typedef struct {\r
- UINTN 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_UNICODE_STRING_TABLE *ControllerNameTable;\r
-} USB_BOT_DEVICE;\r
-\r
-#define USB_BOT_DEVICE_FROM_THIS(a) \\r
- CR(a, USB_BOT_DEVICE, UsbAtapiProtocol, USB_BOT_DEVICE_SIGNATURE)\r
-\r
-//\r
-// Status code, see Usb Bot device spec\r
-//\r
-#define CSWSIG 0x53425355\r
-#define CBWSIG 0x43425355\r
-\r
-//\r
-// Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gUsbBotDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL gUsbBotComponentName;\r
-\r
-//\r
-// Bot Driver Binding Protocol\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-BotDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BotDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BotDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
- );\r
-\r
-//\r
-// EFI Component Name Functions\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-UsbBotComponentNameGetDriverName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-UsbBotComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
- );\r
-\r
-#endif\r