REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the UefiPayloadPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   ELF library
 | |
| 
 | |
|   Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.<BR>
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef EFI_LIB_INTERNAL_H_
 | |
| #define EFI_LIB_INTERNAL_H_
 | |
| 
 | |
| #include <Library/BaseLib.h>
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/BaseMemoryLib.h>
 | |
| #include "ElfLib.h"
 | |
| #include "ElfCommon.h"
 | |
| #include "Elf32.h"
 | |
| #include "Elf64.h"
 | |
| 
 | |
| #define ELF_NEXT_ENTRY(EntryType, Current, EntrySize) \
 | |
|               ((EntryType *) ((UINT8 *)Current + EntrySize))
 | |
| 
 | |
| /**
 | |
|   Return the section header specified by Index.
 | |
| 
 | |
|   @param ImageBase      The image base.
 | |
|   @param Index          The section index.
 | |
| 
 | |
|   @return Pointer to the section header.
 | |
| **/
 | |
| Elf32_Shdr *
 | |
| GetElf32SectionByIndex (
 | |
|   IN  UINT8   *ImageBase,
 | |
|   IN  UINT32  Index
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Return the section header specified by Index.
 | |
| 
 | |
|   @param ImageBase      The image base.
 | |
|   @param Index          The section index.
 | |
| 
 | |
|   @return Pointer to the section header.
 | |
| **/
 | |
| Elf64_Shdr *
 | |
| GetElf64SectionByIndex (
 | |
|   IN  UINT8   *ImageBase,
 | |
|   IN  UINT32  Index
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Return the segment header specified by Index.
 | |
| 
 | |
|   @param ImageBase      The image base.
 | |
|   @param Index          The segment index.
 | |
| 
 | |
|   @return Pointer to the segment header.
 | |
| **/
 | |
| Elf32_Phdr *
 | |
| GetElf32SegmentByIndex (
 | |
|   IN  UINT8   *ImageBase,
 | |
|   IN  UINT32  Index
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Return the segment header specified by Index.
 | |
| 
 | |
|   @param ImageBase      The image base.
 | |
|   @param Index          The segment index.
 | |
| 
 | |
|   @return Pointer to the segment header.
 | |
| **/
 | |
| Elf64_Phdr *
 | |
| GetElf64SegmentByIndex (
 | |
|   IN  UINT8   *ImageBase,
 | |
|   IN  UINT32  Index
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Load ELF image which has 32-bit architecture
 | |
| 
 | |
|   @param[in]  ElfCt               ELF image context pointer.
 | |
| 
 | |
|   @retval EFI_SUCCESS         ELF binary is loaded successfully.
 | |
|   @retval Others              Loading ELF binary fails.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| LoadElf32Image (
 | |
|   IN    ELF_IMAGE_CONTEXT  *ElfCt
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Load ELF image which has 64-bit architecture
 | |
| 
 | |
|   @param[in]  ImageBase       Memory address of an image.
 | |
|   @param[out] EntryPoint      The entry point of loaded ELF image.
 | |
| 
 | |
|   @retval EFI_SUCCESS         ELF binary is loaded successfully.
 | |
|   @retval Others              Loading ELF binary fails.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| LoadElf64Image (
 | |
|   IN    ELF_IMAGE_CONTEXT  *ElfCt
 | |
|   );
 | |
| 
 | |
| #endif
 |