]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
Retire NetLibQueueDpc() and NetLibDispatchDpc() and use QueueDpc() and DispatchDpc...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / UefiPxeBcDxe / PxeBcImpl.h
index 17bd863e5fb073d00c123b53116e7d4e40522553..bc039ec730277abea20dd779385b052895bc7a94 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2007 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2007 - 2008, Intel Corporation.<BR>                                                         \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
@@ -9,13 +9,6 @@ http://opensource.org/licenses/bsd-license.php
 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
-  PxeBcImpl.h\r
-\r
-Abstract:\r
-\r
-\r
 **/\r
 \r
 #ifndef __EFI_PXEBC_IMPL_H__\r
@@ -24,7 +17,7 @@ Abstract:
 \r
 typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;\r
 \r
-#include <PiDxe.h>\r
+#include <Uefi.h>\r
 \r
 #include <Guid/SmBios.h>\r
 #include <IndustryStandard/SmBios.h>\r
@@ -40,11 +33,13 @@ typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;
 \r
 #include <Library/DebugLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiDriverEntryPoint.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/BaseLib.h>\r
 #include <Library/NetLib.h>\r
+#include <Library/DpcLib.h>\r
 \r
 #include "PxeBcDriver.h"\r
 #include "PxeArch.h"\r
@@ -52,7 +47,7 @@ typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;
 #include "PxeBcMtftp.h"\r
 #include "PxeBcSupport.h"\r
 \r
-#define PXEBC_PRIVATE_DATA_SIGNATURE  EFI_SIGNATURE_32 ('P', 'X', 'E', 'P')\r
+#define PXEBC_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('P', 'X', 'E', 'P')\r
 #define PXEBC_MTFTP_TIMEOUT           4\r
 #define PXEBC_MTFTP_RETRIES           6\r
 \r
@@ -143,4 +138,42 @@ struct _PXEBC_PRIVATE_DATA {
 extern EFI_PXE_BASE_CODE_PROTOCOL mPxeBcProtocolTemplate;\r
 extern EFI_LOAD_FILE_PROTOCOL     mLoadFileProtocolTemplate;\r
 \r
+/**\r
+  Causes the driver to load a specified file.\r
+\r
+  @param  This                  Protocol instance pointer.\r
+  @param  FilePath              The device specific path of the file to load.\r
+  @param  BootPolicy            If TRUE, indicates that the request originates from the \r
+                                boot manager is attempting to load FilePath as a boot\r
+                                selection. If FALSE, then FilePath must match as exact file\r
+                                to be loaded.\r
+  @param  BufferSize            On input the size of Buffer in bytes. On output with a return\r
+                                code of EFI_SUCCESS, the amount of data transferred to \r
+                                Buffer. On output with a return code of EFI_BUFFER_TOO_SMALL,\r
+                                the size of Buffer required to retrieve the requested file.\r
+  @param  Buffer                The memory buffer to transfer the file to. IF Buffer is NULL,\r
+                                then no the size of the requested file is returned in \r
+                                BufferSize.\r
+\r
+  @retval EFI_SUCCESS                 The file was loaded.\r
+  @retval EFI_UNSUPPORTED             The device does not support the provided BootPolicy\r
+  @retval EFI_INVALID_PARAMETER       FilePath is not a valid device path, or \r
+                                      BufferSize is NULL.\r
+  @retval EFI_NO_MEDIA                No medium was present to load the file.\r
+  @retval EFI_DEVICE_ERROR            The file was not loaded due to a device error.\r
+  @retval EFI_NO_RESPONSE             The remote system did not respond.\r
+  @retval EFI_NOT_FOUND               The file was not found.\r
+  @retval EFI_ABORTED                 The file load process was manually cancelled.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiPxeLoadFile (\r
+  IN EFI_LOAD_FILE_PROTOCOL           * This,\r
+  IN EFI_DEVICE_PATH_PROTOCOL         * FilePath,\r
+  IN BOOLEAN                          BootPolicy,\r
+  IN OUT UINTN                        *BufferSize,\r
+  IN VOID                             *Buffer OPTIONAL\r
+  );\r
+\r
 #endif\r