2020-04-11 12:32:38 -06:00
|
|
|
/*
|
2021-05-30 07:28:59 -06:00
|
|
|
* Copyright (c) 2020, Andrew Kaster <akaster@serenityos.org>
|
2020-04-11 12:32:38 -06:00
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-04-11 12:32:38 -06:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2022-02-16 00:19:20 +02:00
|
|
|
#include <AK/StringBuilder.h>
|
2023-04-30 19:07:21 +04:00
|
|
|
#include <LibELF/ELFABI.h>
|
2020-04-11 12:32:38 -06:00
|
|
|
|
|
|
|
|
namespace ELF {
|
|
|
|
|
|
2023-11-30 23:58:55 +01:00
|
|
|
bool validate_elf_header(Elf_Ehdr const& elf_header, size_t file_size, bool verbose = true);
|
|
|
|
|
ErrorOr<bool> validate_program_headers(Elf_Ehdr const& elf_header, size_t file_size, ReadonlyBytes buffer, StringBuilder* interpreter_path_builder = nullptr, Optional<size_t>* requested_stack_size = nullptr, bool verbose = true);
|
2020-04-11 12:32:38 -06:00
|
|
|
|
|
|
|
|
} // end namespace ELF
|