ELFObjcopy.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. #ifndef LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
  9. #define LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H
  10. namespace llvm {
  11. class Error;
  12. class MemoryBuffer;
  13. class raw_ostream;
  14. namespace object {
  15. class ELFObjectFileBase;
  16. } // end namespace object
  17. namespace objcopy {
  18. struct CommonConfig;
  19. struct ELFConfig;
  20. namespace elf {
  21. Error executeObjcopyOnIHex(const CommonConfig &Config,
  22. const ELFConfig &ELFConfig, MemoryBuffer &In,
  23. raw_ostream &Out);
  24. Error executeObjcopyOnRawBinary(const CommonConfig &Config,
  25. const ELFConfig &ELFConfig, MemoryBuffer &In,
  26. raw_ostream &Out);
  27. Error executeObjcopyOnBinary(const CommonConfig &Config,
  28. const ELFConfig &ELFConfig,
  29. object::ELFObjectFileBase &In, raw_ostream &Out);
  30. } // end namespace elf
  31. } // end namespace objcopy
  32. } // end namespace llvm
  33. #endif // LLVM_TOOLS_OBJCOPY_ELFOBJCOPY_H