1 //===- COFFObjcopy.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_OBJCOPY_COFF_COFFOBJCOPY_H 10 #define LLVM_OBJCOPY_COFF_COFFOBJCOPY_H 11 12 namespace llvm { 13 class Error; 14 class raw_ostream; 15 16 namespace object { 17 class COFFObjectFile; 18 } // end namespace object 19 20 namespace objcopy { 21 struct CommonConfig; 22 struct COFFConfig; 23 24 namespace coff { 25 26 /// Apply the transformations described by \p Config and \p COFFConfig 27 /// to \p In and writes the result into \p Out. 28 /// \returns any Error encountered whilst performing the operation. 29 Error executeObjcopyOnBinary(const CommonConfig &Config, const COFFConfig &, 30 object::COFFObjectFile &In, raw_ostream &Out); 31 32 } // end namespace coff 33 } // end namespace objcopy 34 } // end namespace llvm 35 36 #endif // LLVM_OBJCOPY_COFF_COFFOBJCOPY_H 37