]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassImpl.h
Fixed unexpected timeout in Usb MassStorage Driver.
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbMassStorageDxe / UsbMassImpl.h
CommitLineData
e237e7ae 1/** @file\r
2\r
3Copyright (c) 2007, 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
11\r
12Module Name:\r
13\r
14 UsbMassImpl.h\r
15\r
16Abstract:\r
17\r
18 The implementation of USB mass storage class device driver.\r
19\r
20Revision History\r
21\r
22\r
23**/\r
24\r
25#ifndef _EFI_USBMASS_IMPL_H_\r
26#define _EFI_USBMASS_IMPL_H_\r
27\r
28typedef struct _USB_MASS_DEVICE USB_MASS_DEVICE;\r
29\r
30#include "UsbMass.h"\r
31#include "UsbMassBot.h"\r
32#include "UsbMassCbi.h"\r
33#include "UsbMassBoot.h"\r
34\r
35enum {\r
41e8ff27 36 //\r
37 // MassStorage raises TPL to TPL_NOTIFY to serialize all its operations\r
38 // to protect shared data structures.\r
39 //\r
40 USB_MASS_TPL = TPL_NOTIFY,\r
41 \r
42 USB_MASS_SIGNATURE = EFI_SIGNATURE_32 ('U', 's', 'b', 'M'),\r
e237e7ae 43};\r
44\r
c52fa98c 45struct _USB_MASS_DEVICE {\r
e237e7ae 46 UINT32 Signature;\r
47 EFI_HANDLE Controller;\r
48 EFI_USB_IO_PROTOCOL *UsbIo;\r
49 EFI_BLOCK_IO_PROTOCOL BlockIo;\r
50 EFI_BLOCK_IO_MEDIA BlockIoMedia;\r
51 BOOLEAN OpticalStorage;\r
52 UINT8 Lun; // Logical Unit Number\r
53 UINT8 Pdt; // Peripheral Device Type\r
54 USB_MASS_TRANSPORT *Transport; // USB mass storage transport protocol\r
55 VOID *Context; // Opaque storage for mass transport\r
56};\r
57\r
58#define USB_MASS_DEVICE_FROM_BLOCKIO(a) \\r
59 CR (a, USB_MASS_DEVICE, BlockIo, USB_MASS_SIGNATURE)\r
60\r
62b9bb55 61extern EFI_COMPONENT_NAME_PROTOCOL gUsbMassStorageComponentName;\r
62extern EFI_COMPONENT_NAME2_PROTOCOL gUsbMassStorageComponentName2;\r
e237e7ae 63\r
64#endif\r