xref: /freebsd/contrib/llvm-project/llvm/include/llvm/ObjCopy/COFF/COFFObjcopy.h (revision 81ad626541db97eb356e2c1d4a20eb2a26a766ab)
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