19#ifndef LLVM_C_OBJECT_H
20#define LLVM_C_OBJECT_H
25#include "llvm/Config/llvm-config.h"
120 LLVMBinaryRef BR,
const char *Arch,
size_t ArchLen,
char **ErrorMessage);
#define LLVM_C_EXTERN_C_BEGIN
#define LLVM_C_EXTERN_C_END
StandardInstrumentations SI(Mod->getContext(), Debug, VerifyEach)
#define LLVM_C_ABI
LLVM_C_ABI is the export/visibility macro used to mark symbols declared in llvm-c as exported when bu...
LLVM_C_ABI void LLVMMoveToNextRelocation(LLVMRelocationIteratorRef RI)
LLVM_C_ABI void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI)
LLVM_C_ABI uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI)
LLVM_C_ABI LLVMSymbolIteratorRef LLVMGetSymbols(LLVMObjectFileRef ObjectFile)
Deprecated: Use LLVMObjectFileCopySymbolIterator instead.
LLVM_C_ABI uint64_t LLVMGetSectionAddress(LLVMSectionIteratorRef SI)
LLVM_C_ABI LLVMBool LLVMObjectFileIsSymbolIteratorAtEnd(LLVMBinaryRef BR, LLVMSymbolIteratorRef SI)
Returns whether the given symbol iterator is at the end.
struct LLVMOpaqueSymbolIterator * LLVMSymbolIteratorRef
LLVM_C_ABI LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef BR, const char *Arch, size_t ArchLen, char **ErrorMessage)
LLVM_C_ABI uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI)
LLVM_C_ABI uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI)
LLVM_C_ABI LLVMSymbolIteratorRef LLVMObjectFileCopySymbolIterator(LLVMBinaryRef BR)
Retrieve a copy of the symbol iterator for this object file.
LLVM_C_ABI uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI)
LLVM_C_ABI const char * LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI)
LLVM_C_ABI void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect, LLVMSymbolIteratorRef Sym)
LLVM_C_ABI void LLVMDisposeSymbolIterator(LLVMSymbolIteratorRef SI)
LLVM_C_ABI LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile, LLVMSectionIteratorRef SI)
Deprecated: Use LLVMObjectFileIsSectionIteratorAtEnd instead.
LLVM_C_ABI void LLVMMoveToNextSection(LLVMSectionIteratorRef SI)
LLVM_C_ABI LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI)
LLVM_C_ABI const char * LLVMGetSymbolName(LLVMSymbolIteratorRef SI)
LLVM_C_ABI uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI)
LLVM_C_ABI void LLVMDisposeRelocationIterator(LLVMRelocationIteratorRef RI)
LLVM_C_ABI LLVMSectionIteratorRef LLVMObjectFileCopySectionIterator(LLVMBinaryRef BR)
Retrieve a copy of the section iterator for this object file.
LLVM_C_ABI LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile)
Deprecated: Use LLVMObjectFileCopySectionIterator instead.
LLVM_C_ABI LLVMBinaryType LLVMBinaryGetType(LLVMBinaryRef BR)
Retrieve the specific type of a binary.
LLVM_C_ABI LLVMRelocationIteratorRef LLVMGetRelocations(LLVMSectionIteratorRef Section)
LLVM_C_ABI void LLVMDisposeBinary(LLVMBinaryRef BR)
Dispose of a binary file.
struct LLVMOpaqueSectionIterator * LLVMSectionIteratorRef
LLVM_C_ABI const char * LLVMGetSectionName(LLVMSectionIteratorRef SI)
LLVM_C_ABI LLVMBool LLVMIsRelocationIteratorAtEnd(LLVMSectionIteratorRef Section, LLVMRelocationIteratorRef RI)
LLVM_C_ABI LLVMMemoryBufferRef LLVMBinaryCopyMemoryBuffer(LLVMBinaryRef BR)
Retrieves a copy of the memory buffer associated with this object file.
struct LLVMOpaqueRelocationIterator * LLVMRelocationIteratorRef
LLVM_C_ABI const char * LLVMGetRelocationTypeName(LLVMRelocationIteratorRef RI)
struct LLVMOpaqueObjectFile * LLVMObjectFileRef
Deprecated: Use LLVMBinaryRef instead.
LLVM_C_ABI LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile, LLVMSymbolIteratorRef SI)
Deprecated: Use LLVMObjectFileIsSymbolIteratorAtEnd instead.
LLVM_C_ABI LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf)
Deprecated: Use LLVMCreateBinary instead.
LLVM_C_ABI LLVMBool LLVMGetSectionContainsSymbol(LLVMSectionIteratorRef SI, LLVMSymbolIteratorRef Sym)
LLVM_C_ABI void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile)
Deprecated: Use LLVMDisposeBinary instead.
LLVM_C_ABI const char * LLVMGetSectionContents(LLVMSectionIteratorRef SI)
LLVM_C_ABI LLVMBinaryRef LLVMCreateBinary(LLVMMemoryBufferRef MemBuf, LLVMContextRef Context, char **ErrorMessage)
Create a binary file from the given memory buffer.
LLVM_C_ABI void LLVMMoveToNextSymbol(LLVMSymbolIteratorRef SI)
LLVM_C_ABI LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR, LLVMSectionIteratorRef SI)
Returns whether the given section iterator is at the end.
@ LLVMBinaryTypeIR
LLVM IR.
@ LLVMBinaryTypeDXcontainer
DirectX Binary Container.
@ LLVMBinaryTypeELF64B
ELF 64-bit, big endian.
@ LLVMBinaryTypeArchive
Archive file.
@ LLVMBinaryTypeMachO32B
MachO 32-bit, big endian.
@ LLVMBinaryTypeWasm
Web Assembly.
@ LLVMBinaryTypeELF64L
ELF 64-bit, little endian.
@ LLVMBinaryTypeWinRes
Windows resource (.res) file.
@ LLVMBinaryTypeMachOUniversalBinary
Mach-O Universal Binary file.
@ LLVMBinaryTypeMachO64B
MachO 64-bit, big endian.
@ LLVMBinaryTypeCOFF
COFF Object file.
@ LLVMBinaryTypeCOFFImportFile
COFF Import file.
@ LLVMBinaryTypeELF32B
ELF 32-bit, big endian.
@ LLVMBinaryTypeELF32L
ELF 32-bit, little endian.
@ LLVMBinaryTypeMachO32L
MachO 32-bit, little endian.
@ LLVMBinaryTypeMachO64L
MachO 64-bit, little endian.
@ LLVMBinaryTypeOffload
Offloading fatbinary.
struct LLVMOpaqueBinary * LLVMBinaryRef
struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
LLVM uses a polymorphic type hierarchy which C cannot represent, therefore parameters must be passed ...
struct LLVMOpaqueContext * LLVMContextRef
The top-level container for all LLVM global data.