[Description]:
[people/mcb30/edk2.git] / edk2 / MdeModulePkg / Bus / Usb / UsbMassStorageDxe / UsbMass.h
index fe3f8b9..8908a9d 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2007, Intel Corporation\r
+Copyright (c) 2007 - 2008, 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
@@ -36,6 +36,7 @@ Revision History
 \r
 #include <Protocol/BlockIo.h>\r
 #include <Protocol/UsbIo.h>\r
+#include <Protocol/DevicePath.h>\r
 \r
 #include <Library/DebugLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
@@ -43,6 +44,7 @@ Revision History
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
+#include <Library/DevicePathLib.h>\r
 \r
 #define USB_IS_IN_ENDPOINT(EndPointAddr)      (((EndPointAddr) & 0x80) == 0x80)\r
 #define USB_IS_OUT_ENDPOINT(EndPointAddr)     (((EndPointAddr) & 0x80) == 0)\r
@@ -85,7 +87,6 @@ typedef
 EFI_STATUS\r
 (*USB_MASS_INIT_TRANSPORT) (\r
   IN  EFI_USB_IO_PROTOCOL     *Usb,\r
-  IN  EFI_HANDLE              Controller,\r
   OUT VOID                    **Context    OPTIONAL\r
   );\r
 \r
@@ -98,6 +99,7 @@ EFI_STATUS
   IN  EFI_USB_DATA_DIRECTION  DataDir,\r
   IN  VOID                    *Data,\r
   IN  UINT32                  DataLen,\r
+  IN  UINT8                   Lun,\r
   IN  UINT32                  Timeout,\r
   OUT UINT32                  *CmdStatus\r
   );\r
@@ -109,6 +111,13 @@ EFI_STATUS
   IN  BOOLEAN                 ExtendedVerification\r
   );\r
 \r
+typedef\r
+EFI_STATUS\r
+(*USB_MASS_GET_MAX_LUN) (\r
+  IN  VOID                    *Context,\r
+  IN  UINT8                   *MaxLun\r
+  );\r
+\r
 typedef\r
 EFI_STATUS\r
 (*USB_MASS_FINI) (\r
@@ -128,6 +137,7 @@ typedef struct {
   USB_MASS_INIT_TRANSPORT Init;        // Initialize the mass storage transport protocol\r
   USB_MASS_EXEC_COMMAND   ExecCommand; // Transport command to the device then get result\r
   USB_MASS_RESET          Reset;       // Reset the device\r
+  USB_MASS_GET_MAX_LUN    GetMaxLun;   // Get max lun, only for bot\r
   USB_MASS_FINI           Fini;        // Clean up the resources.\r
 } USB_MASS_TRANSPORT;\r
 \r