summaryrefslogtreecommitdiffstats
path: root/MdePkg/Include/Library/UefiApplicationEntryPoint.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Library/UefiApplicationEntryPoint.h')
-rw-r--r--MdePkg/Include/Library/UefiApplicationEntryPoint.h77
1 files changed, 53 insertions, 24 deletions
diff --git a/MdePkg/Include/Library/UefiApplicationEntryPoint.h b/MdePkg/Include/Library/UefiApplicationEntryPoint.h
index b6c193b710..9497f9a162 100644
--- a/MdePkg/Include/Library/UefiApplicationEntryPoint.h
+++ b/MdePkg/Include/Library/UefiApplicationEntryPoint.h
@@ -24,11 +24,18 @@ extern CONST UINT32 _gUefiDriverRevision;
/**
Enrty point to UEFI Application.
- @param ImageHandle ImageHandle of the loaded driver.
- @param SystemTable Pointer to the EFI System Table.
+ This function is the entry point for a UEFI Application. This function must call
+ ProcessLibraryConstructorList(), ProcessModuleEntryPointList(), and ProcessLibraryDestructorList().
+ The return value from ProcessModuleEntryPointList() is returned.
+ If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is less than _gUefiDriverRevison,
+ then return EFI_INCOMPATIBLE_VERSION.
- @retval EFI_SUCCESS One or more of the drivers returned a success code.
- @retval !EFI_SUCESS The return status from the last driver entry point in the list.
+ @param ImageHandle The image handle of the UEFI Application.
+ @param SystemTable A pointer to the EFI System Table.
+
+ @retval EFI_SUCCESS The UEFI Application exited normally.
+ @retval EFI_INCOMPATIBLE_VERSION _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.
+ @retval Other Return value from ProcessModuleEntryPointList().
**/
EFI_STATUS
@@ -40,13 +47,14 @@ _ModuleEntryPoint (
/**
- Enrty point wrapper of UEFI Application.
+ Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().
- @param ImageHandle ImageHandle of the loaded driver.
- @param SystemTable Pointer to the EFI System Table.
+ @param ImageHandle The image handle of the UEFI Application.
+ @param SystemTable A pointer to the EFI System Table.
- @retval EFI_SUCCESS One or more of the drivers returned a success code.
- @retval !EFI_SUCESS The return status from the last driver entry point in the list.
+ @retval EFI_SUCCESS The UEFI Application exited normally.
+ @retval EFI_INCOMPATIBLE_VERSION _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.
+ @retval Other Return value from ProcessModuleEntryPointList().
**/
EFI_STATUS
@@ -58,10 +66,13 @@ EfiMain (
/**
- Invoke the destuctors of all libraries and call gBS->Exit
- to return control to firmware core.
+ Invokes the library destructors fror all dependent libraries and terminates
+ the UEFI Application.
+
+ This function calls ProcessLibraryDestructorList() and the EFI Boot Service Exit()
+ with a status specified by Status.
- @param Status Status returned by the application that is exiting.
+ @param Status Status returned by the application that is exiting.
**/
VOID
@@ -72,11 +83,20 @@ Exit (
/**
- Call constructors for all libraries. Autogen tool inserts the implementation
- of this function into Autogen.c.
-
- @param ImageHandle ImageHandle of the loaded driver.
- @param SystemTable Pointer to the EFI System Table.
+ Autogenerated function that calls the library constructors for all of the module's
+ dependent libraries.
+
+ This function must be called by _ModuleEntryPoint().
+ This function calls the set of library constructors for the set of library instances
+ that a module depends on. This includes library instances that a module depends on
+ directly and library instances that a module depends on indirectly through other libraries.
+ This function is autogenerated by build tools and those build tools are responsible for
+ collecting the set of library instances, determine which ones have constructors, and
+ calling the library constructors in the proper order based upon each of the library
+ instances own dependencies.
+
+ @param ImageHandle The image handle of the UEFI Application.
+ @param SystemTable A pointer to the EFI System Table.
**/
VOID
@@ -88,11 +108,20 @@ ProcessLibraryConstructorList (
/**
- Call destructors for all libraries. Autogen tool inserts the implementation
- of this function into Autogen.c.
+ Autogenerated function that calls the library descructors for all of the module's
+ dependent libraries.
- @param ImageHandle ImageHandle of the loaded driver.
- @param SystemTable Pointer to the EFI System Table.
+ This function may be called by _ModuleEntryPoint()or ExitDriver().
+ This function calls the set of library destructors for the set of library instances
+ that a module depends on. This includes library instances that a module depends on
+ directly and library instances that a module depends on indirectly through other libraries.
+ This function is autogenerated by build tools and those build tools are responsible
+ for collecting the set of library instances, determine which ones have destructors,
+ and calling the library destructors in the proper order based upon each of the library
+ instances own dependencies.
+
+ @param ImageHandle The image handle of the UEFI Application.
+ @param SystemTable A pointer to the EFI System Table.
**/
VOID
@@ -110,9 +139,9 @@ ProcessLibraryDestructorList (
@param ImageHandle ImageHandle of the loaded driver.
@param SystemTable Pointer to the EFI System Table.
- @return Status returned by entry points specified by
- the user.
-
+ @retval EFI_SUCCESS The UEFI Application executed normally.
+ @retval !EFI_SUCCESS The UEFI Application failed to execute normally.
+
**/
EFI_STATUS
EFIAPI