1218885Sdim//===- llvm/Support/Disassembler.h ------------------------------*- C++ -*-===// 2218885Sdim// 3218885Sdim// The LLVM Compiler Infrastructure 4218885Sdim// 5218885Sdim// This file is distributed under the University of Illinois Open Source 6218885Sdim// License. See LICENSE.TXT for details. 7218885Sdim// 8218885Sdim//===----------------------------------------------------------------------===// 9218885Sdim// 10218885Sdim// This file implements the necessary glue to call external disassembler 11218885Sdim// libraries. 12218885Sdim// 13218885Sdim//===----------------------------------------------------------------------===// 14218885Sdim 15218885Sdim#ifndef LLVM_SYSTEM_DISASSEMBLER_H 16218885Sdim#define LLVM_SYSTEM_DISASSEMBLER_H 17218885Sdim 18218885Sdim#include "llvm/Support/DataTypes.h" 19218885Sdim#include <string> 20218885Sdim 21218885Sdimnamespace llvm { 22218885Sdimnamespace sys { 23218885Sdim 24218885Sdim/// This function returns true, if there is possible to use some external 25218885Sdim/// disassembler library. False otherwise. 26218885Sdimbool hasDisassembler(); 27218885Sdim 28218885Sdim/// This function provides some "glue" code to call external disassembler 29218885Sdim/// libraries. 30218885Sdimstd::string disassembleBuffer(uint8_t* start, size_t length, uint64_t pc = 0); 31218885Sdim 32218885Sdim} 33218885Sdim} 34218885Sdim 35218885Sdim#endif // LLVM_SYSTEM_DISASSEMBLER_H 36