mirror of
https://git.proxmox.com/git/efi-boot-shim
synced 2025-04-29 16:01:58 +00:00
57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
// SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
/*
|
|
* pe.h - helper functions for pe binaries.
|
|
* Copyright Peter Jones <pjones@redhat.com>
|
|
*/
|
|
|
|
#ifndef PE_H_
|
|
#define PE_H_
|
|
|
|
void *
|
|
ImageAddress (void *image, uint64_t size, uint64_t address);
|
|
|
|
EFI_STATUS
|
|
read_header(void *data, unsigned int datasize,
|
|
PE_COFF_LOADER_IMAGE_CONTEXT *context);
|
|
|
|
EFI_STATUS verify_image(void *data, unsigned int datasize,
|
|
EFI_LOADED_IMAGE *li,
|
|
PE_COFF_LOADER_IMAGE_CONTEXT *context);
|
|
|
|
EFI_STATUS
|
|
verify_sbat_section(char *SBATBase, size_t SBATSize);
|
|
|
|
EFI_STATUS
|
|
get_section_vma (UINTN section_num,
|
|
char *buffer, size_t bufsz UNUSED,
|
|
PE_COFF_LOADER_IMAGE_CONTEXT *context,
|
|
char **basep, size_t *sizep,
|
|
EFI_IMAGE_SECTION_HEADER **sectionp);
|
|
|
|
EFI_STATUS
|
|
get_section_vma_by_name (char *name, size_t namesz,
|
|
char *buffer, size_t bufsz,
|
|
PE_COFF_LOADER_IMAGE_CONTEXT *context,
|
|
char **basep, size_t *sizep,
|
|
EFI_IMAGE_SECTION_HEADER **sectionp);
|
|
|
|
EFI_STATUS
|
|
handle_image (void *data, unsigned int datasize,
|
|
EFI_LOADED_IMAGE *li,
|
|
EFI_IMAGE_ENTRY_POINT *entry_point,
|
|
EFI_PHYSICAL_ADDRESS *alloc_address,
|
|
UINTN *alloc_pages);
|
|
|
|
EFI_STATUS
|
|
generate_hash (char *data, unsigned int datasize,
|
|
PE_COFF_LOADER_IMAGE_CONTEXT *context,
|
|
UINT8 *sha256hash, UINT8 *sha1hash);
|
|
|
|
EFI_STATUS
|
|
relocate_coff (PE_COFF_LOADER_IMAGE_CONTEXT *context,
|
|
EFI_IMAGE_SECTION_HEADER *Section,
|
|
void *orig, void *data);
|
|
|
|
#endif /* !PE_H_ */
|
|
// vim:fenc=utf-8:tw=75:noet
|