decompiler 1.0.0
Classes | Variables
options.hh File Reference

Classes for processing architecture configuration options. More...

#include "error.hh"
#include "marshal.hh"

Classes

class  ArchOption
 Base class for options classes that affect the configuration of the Architecture object. More...
 
class  OptionDatabase
 A Dispatcher for possible ArchOption commands. More...
 
class  OptionExtraPop
 Set the extrapop parameter used by the (default) prototype model. More...
 
class  OptionReadOnly
 Toggle whether read-only memory locations have their value propagated. More...
 
class  OptionDefaultPrototype
 Set the default prototype model for analyzing unknown functions. More...
 
class  OptionInferConstPtr
 Toggle whether the decompiler attempts to infer constant pointers. More...
 
class  OptionForLoops
 Toggle whether the decompiler attempts to recover for-loop variables. More...
 
class  OptionInline
 Mark/unmark a specific function as inline. More...
 
class  OptionNoReturn
 Mark/unmark a specific function with the noreturn property. More...
 
class  OptionStructAlign
 Alter the "structure alignment" data organization setting. More...
 
class  OptionWarning
 Toggle whether a warning should be issued if a specific action/rule is applied. More...
 
class  OptionNullPrinting
 Toggle whether null pointers should be printed as the string "NULL". More...
 
class  OptionInPlaceOps
 Toggle whether in-place operators (+=, *=, &=, etc.) are emitted by the decompiler. More...
 
class  OptionConventionPrinting
 Toggle whether the calling convention is printed when emitting function prototypes. More...
 
class  OptionNoCastPrinting
 Toggle whether cast syntax is emitted by the decompiler or stripped. More...
 
class  OptionHideExtensions
 Toggle whether implied extensions (ZEXT or SEXT) are printed. More...
 
class  OptionMaxLineWidth
 Set the maximum number of characters per decompiled line. More...
 
class  OptionIndentIncrement
 Set the number of characters to indent per nested scope. More...
 
class  OptionCommentIndent
 How many characters to indent comment lines. More...
 
class  OptionCommentStyle
 Set the style of comment emitted by the decompiler. More...
 
class  OptionCommentHeader
 Toggle whether different comment types are emitted by the decompiler in the header for a function. More...
 
class  OptionCommentInstruction
 Toggle whether different comment types are emitted by the decompiler in the body of a function. More...
 
class  OptionIntegerFormat
 Set the formatting strategy used by the decompiler to emit integers. More...
 
class  OptionSetAction
 Establish a new root Action for the decompiler. More...
 
class  OptionCurrentAction
 Toggle a sub-group of actions within a root Action. More...
 
class  OptionAllowContextSet
 Toggle whether the disassembly engine is allowed to modify context. More...
 
class  OptionIgnoreUnimplemented
 Toggle whether unimplemented instructions are treated as a no-operation. More...
 
class  OptionErrorUnimplemented
 Toggle whether unimplemented instructions are treated as a fatal error. More...
 
class  OptionErrorReinterpreted
 Toggle whether off-cut reinterpretation of an instruction is a fatal error. More...
 
class  OptionErrorTooManyInstructions
 Toggle whether too many instructions in one function body is considered a fatal error. More...
 
class  OptionProtoEval
 Set the prototype model to use when evaluating the parameters of the current function. More...
 
class  OptionSetLanguage
 Set the current language emitted by the decompiler. More...
 
class  OptionJumpLoad
 Toggle whether the decompiler should try to recover the table used to evaluate a switch. More...
 
class  OptionToggleRule
 Toggle whether a specific Rule is applied in the current Action. More...
 
class  OptionAliasBlock
 Set how locked data-types on the stack affect alias heuristics. More...
 
class  OptionMaxInstruction
 Maximum number of instructions that can be processed in a single function. More...
 
class  OptionNamespaceStrategy
 How should namespace tokens be displayed. More...
 

Variables

ElementId ELEM_ALIASBLOCK
 Marshaling element <aliasblock>
 
ElementId ELEM_ALLOWCONTEXTSET
 Marshaling element <allowcontextset>
 
ElementId ELEM_ANALYZEFORLOOPS
 Marshaling element <analyzeforloops>
 
ElementId ELEM_COMMENTHEADER
 Marshaling element <commentheader>
 
ElementId ELEM_COMMENTINDENT
 Marshaling element <commentindent>
 
ElementId ELEM_COMMENTINSTRUCTION
 Marshaling element <commentinstruction>
 
ElementId ELEM_COMMENTSTYLE
 Marshaling element <commentstyle>
 
ElementId ELEM_CONVENTIONPRINTING
 Marshaling element <conventionprinting>
 
ElementId ELEM_CURRENTACTION
 Marshaling element <currentaction>
 
ElementId ELEM_DEFAULTPROTOTYPE
 Marshaling element <defaultprototype>
 
ElementId ELEM_ERRORREINTERPRETED
 Marshaling element <errorreinterpreted>
 
ElementId ELEM_ERRORTOOMANYINSTRUCTIONS
 Marshaling element <errortoomanyinstructions>
 
ElementId ELEM_ERRORUNIMPLEMENTED
 Marshaling element <errorunimplemented>
 
ElementId ELEM_EXTRAPOP
 Marshaling element <extrapop>
 
ElementId ELEM_IGNOREUNIMPLEMENTED
 Marshaling element <ignoreunimplemented>
 
ElementId ELEM_INDENTINCREMENT
 Marshaling element <indentincrement>
 
ElementId ELEM_INFERCONSTPTR
 Marshaling element <inferconstptr>
 
ElementId ELEM_INLINE
 Marshaling element <inline>
 
ElementId ELEM_INPLACEOPS
 Marshaling element <inplaceops>
 
ElementId ELEM_INTEGERFORMAT
 Marshaling element <integerformat>
 
ElementId ELEM_JUMPLOAD
 Marshaling element <jumpload>
 
ElementId ELEM_MAXINSTRUCTION
 Marshaling element <maxinstruction>
 
ElementId ELEM_MAXLINEWIDTH
 Marshaling element <maxlinewidth>
 
ElementId ELEM_NAMESPACESTRATEGY
 Marshaling element <namespacestrategy>
 
ElementId ELEM_NOCASTPRINTING
 Marshaling element <nocastprinting>
 
ElementId ELEM_NORETURN
 Marshaling element <noreturn>
 
ElementId ELEM_NULLPRINTING
 Marshaling element <nullprinting>
 
ElementId ELEM_OPTIONSLIST
 Marshaling element <optionslist>
 
ElementId ELEM_PARAM1
 Marshaling element <param1>
 
ElementId ELEM_PARAM2
 Marshaling element <param2>
 
ElementId ELEM_PARAM3
 Marshaling element <param3>
 
ElementId ELEM_PROTOEVAL
 Marshaling element <protoeval>
 
ElementId ELEM_SETACTION
 Marshaling element <setaction>
 
ElementId ELEM_SETLANGUAGE
 Marshaling element <setlanguage>
 
ElementId ELEM_STRUCTALIGN
 Marshaling element <structalign>
 
ElementId ELEM_TOGGLERULE
 Marshaling element <togglerule>
 
ElementId ELEM_WARNING
 Marshaling element <warning>
 

Detailed Description

Classes for processing architecture configuration options.