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>
|
2021-04-16 21:53:43 +02:00
|
|
|
#include <LibC/elf.h>
|
2020-04-11 12:32:38 -06:00
|
|
|
|
|
|
|
|
namespace ELF {
|
|
|
|
|
|
2022-01-13 20:54:53 +02:00
|
|
|
bool validate_elf_header(ElfW(Ehdr) const& elf_header, size_t file_size, bool verbose = true);
|
2022-03-31 00:29:56 -07:00
|
|
|
ErrorOr<bool> validate_program_headers(ElfW(Ehdr) const& elf_header, size_t file_size, ReadonlyBytes buffer, StringBuilder* interpreter_path_builder = nullptr, bool verbose = true);
|
2020-04-11 12:32:38 -06:00
|
|
|
|
|
|
|
|
} // end namespace ELF
|