public static extern LLVMRelocationIteratorRef* GetRelocations(LLVMSectionIteratorRef* Section);
public static extern int IsRelocationIteratorAtEnd(LLVMSectionIteratorRef* Section, LLVMRelocationIteratorRef* RI);
public static extern ulong GetSectionAddress(LLVMSectionIteratorRef* SI);
public static extern int GetSectionContainsSymbol(LLVMSectionIteratorRef* SI, LLVMSymbolIteratorRef* Sym);
public static extern ulong GetSectionSize(LLVMSectionIteratorRef* SI);
public static extern System.IntPtr GetSectionContents(LLVMSectionIteratorRef* SI);
public static extern void MoveToContainingSection(LLVMSectionIteratorRef* Sect, LLVMSymbolIteratorRef* Sym);
public static extern System.IntPtr GetSectionName(LLVMSectionIteratorRef* SI);
public static extern int IsSectionIteratorAtEnd(LLVMObjectFileRef* ObjectFile, LLVMSectionIteratorRef* SI);
public static extern void MoveToNextSection(LLVMSectionIteratorRef* SI);
public static extern void DisposeSectionIterator(LLVMSectionIteratorRef* SI);
internal Section(TargetBinary objFile, LLVMSectionIteratorRef iterator) : this(objFile, iterator, true) { }
internal Section(TargetBinary objFile, LLVMSectionIteratorRef iterator, bool clone) { ContainingBinary = objFile; IteratorRef = clone ? LibLLVMSectionIteratorClone(iterator) : iterator; }
internal Section(TargetObjectFile objFile, LLVMSectionIteratorRef iterator, bool clone) { ObjectFile = objFile; IteratorRef = clone ? LibLLVMSectionIteratorClone(iterator) : iterator; }
internal Section(TargetObjectFile objFile, LLVMSectionIteratorRef iterator) : this(objFile, iterator, true) { }