1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
use super::prelude::*;
#[derive(Debug)]
pub enum LLVMOpaqueObjectFile {}
pub type LLVMObjectFileRef = *mut LLVMOpaqueObjectFile;
#[derive(Debug)]
pub enum LLVMOpaqueSectionIterator {}
pub type LLVMSectionIteratorRef = *mut LLVMOpaqueSectionIterator;
#[derive(Debug)]
pub enum LLVMOpaqueSymbolIterator {}
pub type LLVMSymbolIteratorRef = *mut LLVMOpaqueSymbolIterator;
#[derive(Debug)]
pub enum LLVMOpaqueRelocationIterator {}
pub type LLVMRelocationIteratorRef = *mut LLVMOpaqueRelocationIterator;
extern "C" {
pub fn LLVMCreateObjectFile(MemBuf: LLVMMemoryBufferRef) -> LLVMObjectFileRef;
pub fn LLVMDisposeObjectFile(ObjectFile: LLVMObjectFileRef);
pub fn LLVMGetSections(ObjectFile: LLVMObjectFileRef) -> LLVMSectionIteratorRef;
pub fn LLVMDisposeSectionIterator(SI: LLVMSectionIteratorRef);
pub fn LLVMIsSectionIteratorAtEnd(
ObjectFile: LLVMObjectFileRef,
SI: LLVMSectionIteratorRef,
) -> LLVMBool;
pub fn LLVMMoveToNextSection(SI: LLVMSectionIteratorRef);
pub fn LLVMMoveToContainingSection(Sect: LLVMSectionIteratorRef, Sym: LLVMSymbolIteratorRef);
pub fn LLVMGetSymbols(ObjectFile: LLVMObjectFileRef) -> LLVMSymbolIteratorRef;
pub fn LLVMDisposeSymbolIterator(SI: LLVMSymbolIteratorRef);
pub fn LLVMIsSymbolIteratorAtEnd(
ObjectFile: LLVMObjectFileRef,
SI: LLVMSymbolIteratorRef,
) -> LLVMBool;
pub fn LLVMMoveToNextSymbol(SI: LLVMSymbolIteratorRef);
pub fn LLVMGetSectionName(SI: LLVMSectionIteratorRef) -> *const ::libc::c_char;
pub fn LLVMGetSectionSize(SI: LLVMSectionIteratorRef) -> u64;
pub fn LLVMGetSectionContents(SI: LLVMSectionIteratorRef) -> *const ::libc::c_char;
pub fn LLVMGetSectionAddress(SI: LLVMSectionIteratorRef) -> u64;
pub fn LLVMGetSectionContainsSymbol(
SI: LLVMSectionIteratorRef,
Sym: LLVMSymbolIteratorRef,
) -> LLVMBool;
pub fn LLVMGetRelocations(Section: LLVMSectionIteratorRef) -> LLVMRelocationIteratorRef;
pub fn LLVMDisposeRelocationIterator(RI: LLVMRelocationIteratorRef);
pub fn LLVMIsRelocationIteratorAtEnd(
Section: LLVMSectionIteratorRef,
RI: LLVMRelocationIteratorRef,
) -> LLVMBool;
pub fn LLVMMoveToNextRelocation(RI: LLVMRelocationIteratorRef);
pub fn LLVMGetSymbolName(SI: LLVMSymbolIteratorRef) -> *const ::libc::c_char;
pub fn LLVMGetSymbolAddress(SI: LLVMSymbolIteratorRef) -> u64;
pub fn LLVMGetSymbolSize(SI: LLVMSymbolIteratorRef) -> u64;
pub fn LLVMGetRelocationOffset(RI: LLVMRelocationIteratorRef) -> u64;
pub fn LLVMGetRelocationSymbol(RI: LLVMRelocationIteratorRef) -> LLVMSymbolIteratorRef;
pub fn LLVMGetRelocationType(RI: LLVMRelocationIteratorRef) -> u64;
pub fn LLVMGetRelocationTypeName(RI: LLVMRelocationIteratorRef) -> *const ::libc::c_char;
pub fn LLVMGetRelocationValueString(RI: LLVMRelocationIteratorRef) -> *const ::libc::c_char;
}