+++ /dev/null
-/*++\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
- UsbMassStorage.h\r
-\r
-Abstract:\r
-\r
- Header file for USB Mass Storage Driver's Data Structures\r
-\r
-Revision History\r
---*/\r
-\r
-#ifndef _USB_FLP_H\r
-#define _USB_FLP_H\r
-\r
-\r
-#include <IndustryStandard/Usb.h>\r
-#include "UsbMassStorageData.h"\r
-\r
-#define CLASS_MASSTORAGE 8\r
-#define SUBCLASS_UFI 4\r
-#define SUBCLASS_8070 5\r
-#define PROTOCOL_BOT 0x50\r
-#define PROTOCOL_CBI0 0\r
-#define PROTOCOL_CBI1 1\r
-\r
-#define USBFLOPPY 1 // for those that use ReadCapacity(0x25) command to retrieve media capacity\r
-#define USBFLOPPY2 2 // for those that use ReadFormatCapacity(0x23) command to retrieve media capacity\r
-#define USBCDROM 3\r
-\r
-#define BLOCK_UNIT 128\r
-\r
-#define USB_FLOPPY_DEV_SIGNATURE EFI_SIGNATURE_32 ('u', 'f', 'l', 'p')\r
-\r
-typedef struct {\r
- UINTN Signature;\r
-\r
- EFI_HANDLE Handle;\r
- EFI_BLOCK_IO_PROTOCOL BlkIo;\r
- EFI_BLOCK_IO_MEDIA BlkMedia;\r
- EFI_USB_ATAPI_PROTOCOL *AtapiProtocol;\r
-\r
- REQUEST_SENSE_DATA *SenseData;\r
- UINT8 SenseDataNumber;\r
- UINT8 DeviceType;\r
-} USB_FLOPPY_DEV;\r
-\r
-#define USB_FLOPPY_DEV_FROM_THIS(a) \\r
- CR(a, USB_FLOPPY_DEV, BlkIo, USB_FLOPPY_DEV_SIGNATURE)\r
-\r
-extern EFI_COMPONENT_NAME_PROTOCOL gUsbMassStorageComponentName;\r
-\r
-//\r
-// Prototypes\r
-// Driver model protocol interface\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-USBFloppyDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-USBFloppyDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-USBFloppyDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
- );\r
-\r
-//\r
-// EFI Component Name Functions\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-UsbMassStorageComponentNameGetDriverName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-UsbMassStorageComponentNameGetControllerName (\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