LLVM API Documentation

Classes | Defines | Typedefs | Functions
include/llvm-c/Disassembler.h File Reference
#include "llvm/Support/DataTypes.h"
#include <stddef.h>
Include dependency graph for include/llvm-c/Disassembler.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LLVMOpInfoSymbol1
struct  LLVMOpInfo1

Defines

#define LLVMDisassembler_VariantKind_None   0 /* all targets */
#define LLVMDisassembler_VariantKind_ARM_HI16   1 /* :upper16: */
#define LLVMDisassembler_VariantKind_ARM_LO16   2 /* :lower16: */
#define LLVMDisassembler_VariantKind_ARM64_PAGE   1 /* @page */
#define LLVMDisassembler_VariantKind_ARM64_PAGEOFF   2 /* @pageoff */
#define LLVMDisassembler_VariantKind_ARM64_GOTPAGE   3 /* @gotpage */
#define LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF   4 /* @gotpageoff */
#define LLVMDisassembler_VariantKind_ARM64_TLVP   5 /* @tvlppage */
#define LLVMDisassembler_VariantKind_ARM64_TLVOFF   6 /* @tvlppageoff */
#define LLVMDisassembler_ReferenceType_InOut_None   0
#define LLVMDisassembler_ReferenceType_In_Branch   1
#define LLVMDisassembler_ReferenceType_In_PCrel_Load   2
#define LLVMDisassembler_ReferenceType_In_ARM64_ADRP   0x100000001
#define LLVMDisassembler_ReferenceType_In_ARM64_ADDXri   0x100000002
#define LLVMDisassembler_ReferenceType_In_ARM64_LDRXui   0x100000003
#define LLVMDisassembler_ReferenceType_In_ARM64_LDRXl   0x100000004
#define LLVMDisassembler_ReferenceType_In_ARM64_ADR   0x100000005
#define LLVMDisassembler_ReferenceType_Out_SymbolStub   1
#define LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr   2
#define LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr   3
#define LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref   4
#define LLVMDisassembler_ReferenceType_Out_Objc_Message   5
#define LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref   6
#define LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref   7
#define LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref   8
#define LLVMDisassembler_ReferenceType_DeMangled_Name   9
#define LLVMDisassembler_Option_UseMarkup   1
#define LLVMDisassembler_Option_PrintImmHex   2
#define LLVMDisassembler_Option_AsmPrinterVariant   4
#define LLVMDisassembler_Option_SetInstrComments   8
#define LLVMDisassembler_Option_PrintLatency   16

Typedefs

typedef void * LLVMDisasmContextRef
typedef int(* LLVMOpInfoCallback )(void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t Size, int TagType, void *TagBuf)
typedef const char *(* LLVMSymbolLookupCallback )(void *DisInfo, uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)

Functions

LLVMDisasmContextRef LLVMCreateDisasm (const char *TripleName, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)
LLVMDisasmContextRef LLVMCreateDisasmCPU (const char *Triple, const char *CPU, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)
int LLVMSetDisasmOptions (LLVMDisasmContextRef DC, uint64_t Options)
void LLVMDisasmDispose (LLVMDisasmContextRef DC)
size_t LLVMDisasmInstruction (LLVMDisasmContextRef DC, uint8_t *Bytes, uint64_t BytesSize, uint64_t PC, char *OutString, size_t OutStringSize)