Validation.h 550 B

1234567891011121314151617
  1. /*
  2. * Copyright (c) 2020, Andrew Kaster <akaster@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/StringBuilder.h>
  8. #include <LibELF/ELFABI.h>
  9. namespace ELF {
  10. bool validate_elf_header(Elf_Ehdr const& elf_header, size_t file_size, bool verbose = true);
  11. 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);
  12. } // end namespace ELF