]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/Sec/SecMain.h
Fixed a bug on the menu display: Following steps to reproduce it:
[mirror_edk2.git] / UnixPkg / Sec / SecMain.h
index 9714b5a4b966a9cb51fc62349a4bec44e20ff74a..c7a72c93a6b0bbeaab3c3b4dc41b550ea0632b2c 100644 (file)
@@ -1,6 +1,7 @@
 /*++\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2006 - 2009, Intel Corporation                                                         \r
+Portions copyright (c) 2008-2009 Apple Inc.\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
@@ -17,12 +18,9 @@ Abstract:
   Include file for host API based SEC\r
 \r
 --*/\r
-#include "PiPei.h"\r
-#include "Uefi/UefiSpec.h"\r
+#include <FrameworkPei.h>\r
 \r
 #include <Protocol/UnixThunk.h>\r
-#include <Pi/PiFirmwareVolume.h>\r
-#include <Guid/PeiPeCoffLoader.h>\r
 #include <Ppi/StatusCode.h>\r
 \r
 #include <Library/PeCoffLib.h>\r
@@ -31,6 +29,7 @@ Abstract:
 #include <Library/PrintLib.h>\r
 #include <Library/PcdLib.h>\r
 #include <Library/DebugLib.h>\r
+#include <Library/ReportStatusCodeLib.h>\r
 \r
 #define STACK_SIZE                0x20000      \r
 \r
@@ -45,10 +44,17 @@ typedef struct {
 } UNIX_SYSTEM_MEMORY;\r
 \r
 \r
+#define MAX_IMAGE_CONTEXT_TO_MOD_HANDLE_ARRAY_SIZE 0x100\r
+\r
+typedef struct {\r
+  PE_COFF_LOADER_IMAGE_CONTEXT   *ImageContext;\r
+  VOID                           *ModHandle;\r
+} IMAGE_CONTEXT_TO_MOD_HANDLE;\r
+\r
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecWinNtPeiLoadFile (\r
+SecUnixPeiLoadFile (\r
   VOID                  *Pe32Data,  // TODO: add IN/OUT modifier to Pe32Data\r
   EFI_PHYSICAL_ADDRESS  *ImageAddress,  // TODO: add IN/OUT modifier to ImageAddress\r
   UINT64                *ImageSize,  // TODO: add IN/OUT modifier to ImageSize\r
@@ -76,7 +82,7 @@ Returns:
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecWinNtPeiAutoScan (\r
+SecUnixPeiAutoScan (\r
   IN  UINTN                 Index,\r
   OUT EFI_PHYSICAL_ADDRESS  *MemoryBase,\r
   OUT UINT64                *MemorySize\r
@@ -102,7 +108,7 @@ Returns:
 \r
 VOID *\r
 EFIAPI\r
-SecWinNtWinNtThunkAddress (\r
+SecUnixUnixThunkAddress (\r
   VOID\r
   )\r
 /*++\r
@@ -125,7 +131,7 @@ Returns:
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecWinNtWinNtFwhAddress (\r
+SecUnixUnixFwhAddress (\r
   IN OUT UINT64                *FwhSize,\r
   IN OUT EFI_PHYSICAL_ADDRESS  *FwhBase\r
   )\r
@@ -150,12 +156,12 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 SecPeiReportStatusCode (\r
-  IN EFI_PEI_SERVICES         **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES     **PeiServices,\r
   IN EFI_STATUS_CODE_TYPE     CodeType,\r
   IN EFI_STATUS_CODE_VALUE    Value,\r
   IN UINT32                   Instance,\r
-  IN EFI_GUID                 * CallerId,\r
-  IN EFI_STATUS_CODE_DATA     * Data OPTIONAL\r
+  IN CONST EFI_GUID             *CallerId,\r
+  IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL\r
   )\r
 /*++\r
 \r
@@ -179,12 +185,11 @@ Returns:
 --*/\r
 ;\r
 \r
-INTN\r
-EFIAPI\r
+int\r
 main (\r
-  IN  INTN  Argc,\r
-  IN  CHAR8 **Argv,\r
-  IN  CHAR8 **Envp\r
+  IN  int   Argc,\r
+  IN  char  **Argv,\r
+  IN  char  **Envp\r
   )\r
 /*++\r
 \r
@@ -334,7 +339,7 @@ Returns:
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecWinNtPeCoffLoaderLoadAsDll (\r
+SecUnixPeCoffLoaderLoadAsDll (\r
   IN CHAR8    *PdbFileName,\r
   IN VOID     **ImageEntryPoint,\r
   OUT VOID    **ModHandle\r
@@ -360,7 +365,7 @@ Returns:
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecWinNtPeCoffLoaderFreeLibrary (\r
+SecUnixPeCoffLoaderFreeLibrary (\r
   OUT VOID    *ModHandle\r
   )\r
 /*++\r
@@ -382,7 +387,7 @@ Returns:
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecWinNtFdAddress (\r
+SecUnixFdAddress (\r
   IN     UINTN                 Index,\r
   IN OUT EFI_PHYSICAL_ADDRESS  *FdBase,\r
   IN OUT UINT64                *FdSize\r
@@ -505,44 +510,32 @@ Returns:
 \r
 EFI_STATUS\r
 EFIAPI\r
-SecNt32PeCoffGetImageInfo (\r
-  IN EFI_PEI_PE_COFF_LOADER_PROTOCOL          *This,\r
-  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT         *ImageContext\r
+SecTemporaryRamSupport (\r
+  IN CONST EFI_PEI_SERVICES   **PeiServices,\r
+  IN EFI_PHYSICAL_ADDRESS     TemporaryMemoryBase,\r
+  IN EFI_PHYSICAL_ADDRESS     PermanentMemoryBase,\r
+  IN UINTN                    CopySize\r
   );\r
 \r
-EFI_STATUS\r
-EFIAPI\r
-SecNt32PeCoffLoadImage (\r
-  IN EFI_PEI_PE_COFF_LOADER_PROTOCOL          *This,\r
-  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT         *ImageContext\r
-  );\r
 \r
-EFI_STATUS\r
+RETURN_STATUS\r
 EFIAPI\r
-SecNt32PeCoffRelocateImage (\r
-  IN EFI_PEI_PE_COFF_LOADER_PROTOCOL          *This,\r
-  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT         *ImageContext\r
+SecPeCoffGetEntryPoint (\r
+  IN     VOID  *Pe32Data,\r
+  IN OUT VOID  **EntryPoint\r
   );\r
 \r
-EFI_STATUS\r
+VOID\r
 EFIAPI\r
-SecNt32PeCoffUnloadimage (\r
-  IN EFI_PEI_PE_COFF_LOADER_PROTOCOL      *This,\r
-  IN PE_COFF_LOADER_IMAGE_CONTEXT         *ImageContext\r
+SecPeCoffRelocateImageExtraAction (\r
+  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
   );\r
 \r
-EFI_STATUS\r
+VOID\r
 EFIAPI\r
-SecTemporaryRamSupport (\r
-  IN CONST EFI_PEI_SERVICES   **PeiServices,\r
-  IN EFI_PHYSICAL_ADDRESS     TemporaryMemoryBase,\r
-  IN EFI_PHYSICAL_ADDRESS     PermanentMemoryBase,\r
-  IN UINTN                    CopySize\r
+SecPeCoffLoaderUnloadImageExtraAction (\r
+  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
   );\r
 \r
-typedef struct {\r
-  EFI_PEI_PE_COFF_LOADER_PROTOCOL PeCoff;\r
-  VOID                            *ModHandle;\r
-} EFI_PEI_PE_COFF_LOADER_PROTOCOL_INSTANCE;\r
 \r
 extern EFI_UNIX_THUNK_PROTOCOL  *gUnix;\r