blob: a7fe37d00505998bfe25052a727641249e37c931 [file] [log] [blame]
Alexander Shaposhnikovf4e75a52018-10-29 21:22:58 +00001//===- ELFObjcopy.h ---------------------------------------------*- C++ -*-===//
2//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Alexander Shaposhnikovf4e75a52018-10-29 21:22:58 +00006//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
10#define LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
11
12namespace llvm {
Jordan Rupprecht307deab2019-01-30 14:36:53 +000013class Error;
Alexander Shaposhnikovf4e75a52018-10-29 21:22:58 +000014class MemoryBuffer;
15
16namespace object {
17class ELFObjectFileBase;
18} // end namespace object
19
20namespace objcopy {
21struct CopyConfig;
22class Buffer;
23
24namespace elf {
Jordan Rupprecht307deab2019-01-30 14:36:53 +000025Error executeObjcopyOnRawBinary(const CopyConfig &Config, MemoryBuffer &In,
26 Buffer &Out);
27Error executeObjcopyOnBinary(const CopyConfig &Config,
28 object::ELFObjectFileBase &In, Buffer &Out);
Alexander Shaposhnikovf4e75a52018-10-29 21:22:58 +000029
30} // end namespace elf
31} // end namespace objcopy
32} // end namespace llvm
33
34#endif // LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H