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