]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiApplicationEntryPoint/ApplicationEntryPoint.c
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Library / UefiApplicationEntryPoint / ApplicationEntryPoint.c
index 580668c88252d1bb3c90585fcb3f5d12355f54b5..324e88c906a6e48abd850b18e767284c5a5b9c2b 100644 (file)
@@ -1,30 +1,33 @@
 /** @file\r
   Entry point library instance to a UEFI application.\r
 \r
-Copyright (c) 2007, 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
-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
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
-//\r
-// Include common header file for this module.\r
-//\r
-#include "CommonHeader.h"\r
+#include <Uefi.h>\r
+#include <Library/UefiApplicationEntryPoint.h>\r
+#include <Library/BaseLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+\r
 \r
 /**\r
-  Enrty point to UEFI application.\r
+  Entry point to UEFI Application.\r
+\r
+  This function is the entry point for a UEFI Application. This function must call\r
+  ProcessLibraryConstructorList(), ProcessModuleEntryPointList(), and ProcessLibraryDestructorList().\r
+  The return value from ProcessModuleEntryPointList() is returned.\r
+  If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is less than _gUefiDriverRevison,\r
+  then return EFI_INCOMPATIBLE_VERSION.\r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  @param  ImageHandle                The image handle of the UEFI Application.\r
+  @param  SystemTable                A pointer to the EFI System Table.\r
 \r
-  @retval  EFI_SUCCESS One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCESS The return status from the last driver entry point in the list.\r
+  @retval  EFI_SUCCESS               The UEFI Application exited normally.\r
+  @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
+  @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
 **/\r
 EFI_STATUS\r
@@ -66,13 +69,15 @@ _ModuleEntryPoint (
   return Status;\r
 }\r
 \r
+\r
 /**\r
-  Invoke the destuctors of all libraries and call gBS->Exit\r
-  to return control to firmware core.\r
+  Invokes the library destructors for all dependent libraries and terminates\r
+  the UEFI Application.\r
+\r
+  This function calls ProcessLibraryDestructorList() and the EFI Boot Service Exit()\r
+  with a status specified by Status.\r
 \r
-  @param  Status Status returned by the application that is exiting.\r
-  \r
-  @retval VOID\r
+  @param  Status  Status returned by the application that is exiting.\r
 \r
 **/\r
 VOID\r
@@ -87,14 +92,16 @@ Exit (
   gBS->Exit (gImageHandle, Status, 0, NULL);\r
 }\r
 \r
+\r
 /**\r
-  Enrty point wrapper of UEFI Application.\r
+  Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().\r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
 \r
-  @retval  EFI_SUCCESS One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCESS The return status from the last driver entry point in the list.\r
+  @retval  EFI_SUCCESS               The UEFI Application exited normally.\r
+  @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
+  @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
 **/\r
 EFI_STATUS\r