LLVM API Documentation
00001 //===- llvm/Support/Disassembler.h ------------------------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file implements the necessary glue to call external disassembler 00011 // libraries. 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_SYSTEM_DISASSEMBLER_H 00016 #define LLVM_SYSTEM_DISASSEMBLER_H 00017 00018 #include "llvm/Support/DataTypes.h" 00019 #include <string> 00020 00021 namespace llvm { 00022 namespace sys { 00023 00024 /// This function returns true, if there is possible to use some external 00025 /// disassembler library. False otherwise. 00026 bool hasDisassembler(void); 00027 00028 /// This function provides some "glue" code to call external disassembler 00029 /// libraries. 00030 std::string disassembleBuffer(uint8_t* start, size_t length, uint64_t pc = 0); 00031 00032 } 00033 } 00034 00035 #endif // LLVM_SYSTEM_DISASSEMBLER_H