xref: /netbsd-src/external/apache2/llvm/dist/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.h (revision 82d56013d7b633d116a93943de88e08335357a7c)
1 //===- ELFObjcopy.h ---------------------------------------------*- C++ -*-===//
2 //
3 // 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
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
10 #define LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
11 
12 namespace llvm {
13 class Error;
14 class MemoryBuffer;
15 class raw_ostream;
16 
17 namespace object {
18 class ELFObjectFileBase;
19 } // end namespace object
20 
21 namespace objcopy {
22 struct CommonConfig;
23 struct ELFConfig;
24 
25 namespace elf {
26 Error executeObjcopyOnIHex(const CommonConfig &Config,
27                            const ELFConfig &ELFConfig, MemoryBuffer &In,
28                            raw_ostream &Out);
29 Error executeObjcopyOnRawBinary(const CommonConfig &Config,
30                                 const ELFConfig &ELFConfig, MemoryBuffer &In,
31                                 raw_ostream &Out);
32 Error executeObjcopyOnBinary(const CommonConfig &Config,
33                              const ELFConfig &ELFConfig,
34                              object::ELFObjectFileBase &In, raw_ostream &Out);
35 
36 } // end namespace elf
37 } // end namespace objcopy
38 } // end namespace llvm
39 
40 #endif // LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
41