]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassImpl.h
1. Fixed tools_def.template to meet ICC build for IA32
[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
c52fa98c 36 USB_MASS_SIGNATURE= EFI_SIGNATURE_32 ('U', 's', 'b', 'K')\r
e237e7ae 37};\r
38\r
c52fa98c 39struct _USB_MASS_DEVICE {\r
e237e7ae 40 UINT32 Signature;\r
41 EFI_HANDLE Controller;\r
42 EFI_USB_IO_PROTOCOL *UsbIo;\r
43 EFI_BLOCK_IO_PROTOCOL BlockIo;\r
44 EFI_BLOCK_IO_MEDIA BlockIoMedia;\r
45 BOOLEAN OpticalStorage;\r
46 UINT8 Lun; // Logical Unit Number\r
47 UINT8 Pdt; // Peripheral Device Type\r
48 USB_MASS_TRANSPORT *Transport; // USB mass storage transport protocol\r
49 VOID *Context; // Opaque storage for mass transport\r
50};\r
51\r
52#define USB_MASS_DEVICE_FROM_BLOCKIO(a) \\r
53 CR (a, USB_MASS_DEVICE, BlockIo, USB_MASS_SIGNATURE)\r
54\r
55extern EFI_COMPONENT_NAME_PROTOCOL gUsbMassStorageComponentName;\r
56\r
57#endif\r