blob: b66bbd5d33fcb1e8c49b8dc977e6cf34a253ca78 [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 {
13class MemoryBuffer;
14
15namespace object {
16class ELFObjectFileBase;
17} // end namespace object
18
19namespace objcopy {
20struct CopyConfig;
21class Buffer;
22
23namespace elf {
24void executeObjcopyOnRawBinary(const CopyConfig &Config, MemoryBuffer &In,
25 Buffer &Out);
26void executeObjcopyOnBinary(const CopyConfig &Config,
27 object::ELFObjectFileBase &In, Buffer &Out);
28
29} // end namespace elf
30} // end namespace objcopy
31} // end namespace llvm
32
33#endif // LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H