2019-09-06 15:57:44 -07:00

29 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `disassembler` mod in crate `llvm_sys`."><meta name="keywords" content="rust, rustlang, rust-lang, disassembler"><title>llvm_sys::disassembler - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../llvm_sys/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module disassembler</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'><a href='../index.html'>llvm_sys</a></p><script>window.sidebarCurrent = {name: 'disassembler', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/llvm_sys/disassembler.rs.html#1-146' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>llvm_sys</a>::<wbr><a class="mod" href=''>disassembler</a></span></h1><div class='docblock'><p>A disassembler library.</p>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.LLVMOpInfoSymbol1.html" title='llvm_sys::disassembler::LLVMOpInfoSymbol1 struct'>LLVMOpInfoSymbol1</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Struct_LLVMOpInfo1.html" title='llvm_sys::disassembler::Struct_LLVMOpInfo1 struct'>Struct_LLVMOpInfo1</a></td><td class='docblock-short'></td></tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2>
<table><tr class='module-item'><td><a class="enum" href="enum.LLVMOpaqueDisasmContext.html" title='llvm_sys::disassembler::LLVMOpaqueDisasmContext enum'>LLVMOpaqueDisasmContext</a></td><td class='docblock-short'></td></tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
<table><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_Option_AsmPrinterVariant.html" title='llvm_sys::disassembler::LLVMDisassembler_Option_AsmPrinterVariant constant'>LLVMDisassembler_Option_AsmPrinterVariant</a></td><td class='docblock-short'><p>The option use the other assembler printer variant</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_Option_PrintImmHex.html" title='llvm_sys::disassembler::LLVMDisassembler_Option_PrintImmHex constant'>LLVMDisassembler_Option_PrintImmHex</a></td><td class='docblock-short'><p>The option to print immediates as hex.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_Option_PrintLatency.html" title='llvm_sys::disassembler::LLVMDisassembler_Option_PrintLatency constant'>LLVMDisassembler_Option_PrintLatency</a></td><td class='docblock-short'><p>The option to print latency information alongside instructions</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_Option_SetInstrComments.html" title='llvm_sys::disassembler::LLVMDisassembler_Option_SetInstrComments constant'>LLVMDisassembler_Option_SetInstrComments</a></td><td class='docblock-short'><p>The option to set comment on instructions</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_Option_UseMarkup.html" title='llvm_sys::disassembler::LLVMDisassembler_Option_UseMarkup constant'>LLVMDisassembler_Option_UseMarkup</a></td><td class='docblock-short'><p>The option to produce marked up assembly.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_DeMangled_Name.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_DeMangled_Name constant'>LLVMDisassembler_ReferenceType_DeMangled_Name</a></td><td class='docblock-short'><p>The output reference is to a C++ symbol name.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_InOut_None.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_InOut_None constant'>LLVMDisassembler_ReferenceType_InOut_None</a></td><td class='docblock-short'><p>No input reference type or no output reference type.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_ARM64_ADRP.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_ARM64_ADRP constant'>LLVMDisassembler_ReferenceType_In_ARM64_ADRP</a></td><td class='docblock-short'><p>The input reference is from an ARM64::ADRP instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_ARM64_ADDXri.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_ARM64_ADDXri constant'>LLVMDisassembler_ReferenceType_In_ARM64_ADDXri</a></td><td class='docblock-short'><p>The input reference is from an ARM64::ADDXri instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_ARM64_LDRXui.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_ARM64_LDRXui constant'>LLVMDisassembler_ReferenceType_In_ARM64_LDRXui</a></td><td class='docblock-short'><p>The input reference is from an ARM64::LDRXui instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_ARM64_LDRXl.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_ARM64_LDRXl constant'>LLVMDisassembler_ReferenceType_In_ARM64_LDRXl</a></td><td class='docblock-short'><p>The input reference is from an ARM64::LDRXl instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_ARM64_ADR.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_ARM64_ADR constant'>LLVMDisassembler_ReferenceType_In_ARM64_ADR</a></td><td class='docblock-short'><p>The input reference is from an ARM64::ADR instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_Branch.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_Branch constant'>LLVMDisassembler_ReferenceType_In_Branch</a></td><td class='docblock-short'><p>The input reference is from a branch instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_In_PCrel_Load.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_In_PCrel_Load constant'>LLVMDisassembler_ReferenceType_In_PCrel_Load</a></td><td class='docblock-short'><p>The input reference is from a PC relative load instruction.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr constant'>LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr</a></td><td class='docblock-short'><p>The output reference is to a cstring address in a literal pool.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr constant'>LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr</a></td><td class='docblock-short'><p>The output reference is to a symbol address in a literal pool.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref constant'>LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref</a></td><td class='docblock-short'><p>The output reference is to a Objective-C CoreFoundation string.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref constant'>LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref</a></td><td class='docblock-short'><p>The output reference is to a Objective-C class ref.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_Objc_Message.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_Objc_Message constant'>LLVMDisassembler_ReferenceType_Out_Objc_Message</a></td><td class='docblock-short'><p>The output reference is to a Objective-C message.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref constant'>LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref</a></td><td class='docblock-short'><p>The output reference is to a Objective-C message ref.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref constant'>LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref</a></td><td class='docblock-short'><p>The output reference is to a Objective-C selector ref.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_ReferenceType_Out_SymbolStub.html" title='llvm_sys::disassembler::LLVMDisassembler_ReferenceType_Out_SymbolStub constant'>LLVMDisassembler_ReferenceType_Out_SymbolStub</a></td><td class='docblock-short'><p>The output reference is to as symbol stub.</p>
</td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM64_PAGE.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM64_PAGE constant'>LLVMDisassembler_VariantKind_ARM64_PAGE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM64_PAGEOFF.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM64_PAGEOFF constant'>LLVMDisassembler_VariantKind_ARM64_PAGEOFF</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM64_GOTPAGE.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM64_GOTPAGE constant'>LLVMDisassembler_VariantKind_ARM64_GOTPAGE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF constant'>LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM64_TLVP.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM64_TLVP constant'>LLVMDisassembler_VariantKind_ARM64_TLVP</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM64_TLVOFF.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM64_TLVOFF constant'>LLVMDisassembler_VariantKind_ARM64_TLVOFF</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM_HI16.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM_HI16 constant'>LLVMDisassembler_VariantKind_ARM_HI16</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_ARM_LO16.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_ARM_LO16 constant'>LLVMDisassembler_VariantKind_ARM_LO16</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LLVMDisassembler_VariantKind_None.html" title='llvm_sys::disassembler::LLVMDisassembler_VariantKind_None constant'>LLVMDisassembler_VariantKind_None</a></td><td class='docblock-short'></td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table><tr class='module-item'><td><a class="fn" href="fn.LLVMCreateDisasm.html" title='llvm_sys::disassembler::LLVMCreateDisasm fn'>LLVMCreateDisasm</a><a title='unsafe function' href='#'><sup></sup></a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.LLVMCreateDisasmCPU.html" title='llvm_sys::disassembler::LLVMCreateDisasmCPU fn'>LLVMCreateDisasmCPU</a><a title='unsafe function' href='#'><sup></sup></a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.LLVMCreateDisasmCPUFeatures.html" title='llvm_sys::disassembler::LLVMCreateDisasmCPUFeatures fn'>LLVMCreateDisasmCPUFeatures</a><a title='unsafe function' href='#'><sup></sup></a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.LLVMDisasmDispose.html" title='llvm_sys::disassembler::LLVMDisasmDispose fn'>LLVMDisasmDispose</a><a title='unsafe function' href='#'><sup></sup></a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.LLVMDisasmInstruction.html" title='llvm_sys::disassembler::LLVMDisasmInstruction fn'>LLVMDisasmInstruction</a><a title='unsafe function' href='#'><sup></sup></a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.LLVMSetDisasmOptions.html" title='llvm_sys::disassembler::LLVMSetDisasmOptions fn'>LLVMSetDisasmOptions</a><a title='unsafe function' href='#'><sup></sup></a></td><td class='docblock-short'></td></tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
<table><tr class='module-item'><td><a class="type" href="type.LLVMDisasmContextRef.html" title='llvm_sys::disassembler::LLVMDisasmContextRef type'>LLVMDisasmContextRef</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="type" href="type.LLVMOpInfoCallback.html" title='llvm_sys::disassembler::LLVMOpInfoCallback type'>LLVMOpInfoCallback</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="type" href="type.LLVMSymbolLookupCallback.html" title='llvm_sys::disassembler::LLVMSymbolLookupCallback type'>LLVMSymbolLookupCallback</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../";window.currentCrate = "llvm_sys";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>