Files
system76-edk2/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLibInternal.h
Michael Kubacki e5efcf8be8 UefiPayloadPkg: Apply uncrustify changes
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>
2021-12-07 17:24:28 +00:00

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