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