LLVM: include/llvm-c/Disassembler.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_C_DISASSEMBLER_H

16#define LLVM_C_DISASSEMBLER_H

17

20

21

22

23

24

25

26

27

29

30

31

32

33

34

35

36

37

41

42

43

44

45

46

47

48

49

51 void *DisInfo, int TagType,

54

55

56

57

58

59

60

61

64 const char *Features, void *DisInfo, int TagType,

67

68

69

70

71

73

74

75#define LLVMDisassembler_Option_UseMarkup 1

76

77#define LLVMDisassembler_Option_PrintImmHex 2

78

79#define LLVMDisassembler_Option_AsmPrinterVariant 4

80

81#define LLVMDisassembler_Option_SetInstrComments 8

82

83#define LLVMDisassembler_Option_PrintLatency 16

84

85#define LLVMDisassembler_Option_Color 32

86

87

88

89

91

92

93

94

95

96

97

98

99

100

101

104 char *OutString, size_t OutStringSize);

105

106

107

108

109

111

112#endif

#define LLVM_C_EXTERN_C_BEGIN

#define LLVM_C_EXTERN_C_END

const char *(* LLVMSymbolLookupCallback)(void *DisInfo, uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)

The type for the symbol lookup function.

LLVMDisasmContextRef LLVMCreateDisasmCPUFeatures(const char *Triple, const char *CPU, const char *Features, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)

Create a disassembler for the TripleName, a specific CPU and specific feature string.

void LLVMDisasmDispose(LLVMDisasmContextRef DC)

Dispose of a disassembler context.

size_t LLVMDisasmInstruction(LLVMDisasmContextRef DC, uint8_t *Bytes, uint64_t BytesSize, uint64_t PC, char *OutString, size_t OutStringSize)

Disassemble a single instruction using the disassembler context specified in the parameter DC.

LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)

Create a disassembler for the TripleName and a specific CPU.

int(* LLVMOpInfoCallback)(void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t OpSize, uint64_t InstSize, int TagType, void *TagBuf)

The type for the operand information call back function.

LLVM_C_EXTERN_C_BEGIN LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)

Create a disassembler for the TripleName.

int LLVMSetDisasmOptions(LLVMDisasmContextRef DC, uint64_t Options)

Set the disassembler's options.

void * LLVMDisasmContextRef

An opaque reference to a disassembler context.