Loading...
Searching...
No Matches
Function

Detailed Description

Classes

struct  BinaryNinja::VariableNameAndType
 
struct  BinaryNinja::StackVariableReference
 
struct  BinaryNinja::IndirectBranchInfo
 
struct  BinaryNinja::ArchAndAddr
 
struct  BinaryNinja::LookupTableEntry
 
struct  BinaryNinja::ConstantData
 
struct  BinaryNinja::PossibleValueSet
 
class  BinaryNinja::Function
 
class  BinaryNinja::AdvancedFunctionAnalysisDataRequestor
 

Class Documentation

◆ BinaryNinja::VariableNameAndType

struct BinaryNinja::VariableNameAndType

Public Member Functions

bool operator== (const VariableNameAndType &a)
 
bool operator!= (const VariableNameAndType &a)
 

Public Attributes

Variable var
 
Confidence< Ref< Type > > type
 
std::string name
 
bool autoDefined
 

Member Function Documentation

◆ operator==()

bool BinaryNinja::VariableNameAndType::operator== ( const VariableNameAndType & a)
inline

◆ operator!=()

bool BinaryNinja::VariableNameAndType::operator!= ( const VariableNameAndType & a)
inline

Member Data Documentation

◆ var

Variable BinaryNinja::VariableNameAndType::var

◆ type

Confidence<Ref<Type> > BinaryNinja::VariableNameAndType::type

◆ name

std::string BinaryNinja::VariableNameAndType::name

◆ autoDefined

bool BinaryNinja::VariableNameAndType::autoDefined

◆ BinaryNinja::StackVariableReference

struct BinaryNinja::StackVariableReference
Class Members
uint32_t sourceOperand
Confidence< Ref< Type > > type
string name
Variable var
int64_t referencedOffset
size_t size

◆ BinaryNinja::IndirectBranchInfo

struct BinaryNinja::IndirectBranchInfo
Class Members
Ref< Architecture > sourceArch
uint64_t sourceAddr
Ref< Architecture > destArch
uint64_t destAddr
bool autoDefined

◆ BinaryNinja::ArchAndAddr

struct BinaryNinja::ArchAndAddr

Public Member Functions

ArchAndAddroperator= (const ArchAndAddr &a)
 
bool operator== (const ArchAndAddr &a) const
 
bool operator< (const ArchAndAddr &a) const
 
 ArchAndAddr ()
 
 ArchAndAddr (Architecture *a, uint64_t addr)
 

Public Attributes

Ref< Architecturearch
 
uint64_t address
 

Constructor & Destructor Documentation

◆ ArchAndAddr() [1/2]

BinaryNinja::ArchAndAddr::ArchAndAddr ( )
inline

◆ ArchAndAddr() [2/2]

BinaryNinja::ArchAndAddr::ArchAndAddr ( Architecture * a,
uint64_t addr )
inline

Member Function Documentation

◆ operator=()

ArchAndAddr & BinaryNinja::ArchAndAddr::operator= ( const ArchAndAddr & a)
inline

◆ operator==()

bool BinaryNinja::ArchAndAddr::operator== ( const ArchAndAddr & a) const
inline

◆ operator<()

bool BinaryNinja::ArchAndAddr::operator< ( const ArchAndAddr & a) const
inline

Member Data Documentation

◆ arch

Ref<Architecture> BinaryNinja::ArchAndAddr::arch

◆ address

uint64_t BinaryNinja::ArchAndAddr::address

◆ BinaryNinja::LookupTableEntry

struct BinaryNinja::LookupTableEntry
Class Members
vector< int64_t > fromValues
int64_t toValue

◆ BinaryNinja::ConstantData

struct BinaryNinja::ConstantData

Public Member Functions

 ConstantData ()
 
 ConstantData (BNRegisterValueType state, uint64_t value)
 
 ConstantData (BNRegisterValueType state, uint64_t value, size_t size, Ref< Function > func=nullptr)
 
std::pair< DataBuffer, BNBuiltinTypeToDataBuffer () const
 
RegisterValue ToRegisterValue () const
 

Public Attributes

Ref< Functionfunc = nullptr
 
- Public Attributes inherited from BNRegisterValue
BNRegisterValueType state
 
int64_t value
 
int64_t offset
 
size_t size
 

Constructor & Destructor Documentation

◆ ConstantData() [1/3]

ConstantData::ConstantData ( )

◆ ConstantData() [2/3]

ConstantData::ConstantData ( BNRegisterValueType state,
uint64_t value )

◆ ConstantData() [3/3]

ConstantData::ConstantData ( BNRegisterValueType state,
uint64_t value,
size_t size,
Ref< Function > func = nullptr )

Member Function Documentation

◆ ToDataBuffer()

pair< DataBuffer, BNBuiltinType > ConstantData::ToDataBuffer ( ) const

◆ ToRegisterValue()

RegisterValue ConstantData::ToRegisterValue ( ) const

Member Data Documentation

◆ func

Ref<Function> BinaryNinja::ConstantData::func = nullptr

◆ BinaryNinja::PossibleValueSet

struct BinaryNinja::PossibleValueSet

Public Member Functions

BNPossibleValueSet ToAPIObject ()
 

Static Public Member Functions

static PossibleValueSet FromAPIObject (BNPossibleValueSet &value)
 
static void FreeAPIObject (BNPossibleValueSet *value)
 

Public Attributes

BNRegisterValueType state
 
int64_t value
 
int64_t offset
 
size_t size
 
std::vector< BNValueRangeranges
 
std::set< int64_t > valueSet
 
std::vector< LookupTableEntrytable
 
size_t count
 

Member Function Documentation

◆ FromAPIObject()

PossibleValueSet PossibleValueSet::FromAPIObject ( BNPossibleValueSet & value)
static

◆ ToAPIObject()

BNPossibleValueSet PossibleValueSet::ToAPIObject ( )

◆ FreeAPIObject()

void PossibleValueSet::FreeAPIObject ( BNPossibleValueSet * value)
static

Member Data Documentation

◆ state

BNRegisterValueType BinaryNinja::PossibleValueSet::state

◆ value

int64_t BinaryNinja::PossibleValueSet::value

◆ offset

int64_t BinaryNinja::PossibleValueSet::offset

◆ size

size_t BinaryNinja::PossibleValueSet::size

◆ ranges

std::vector<BNValueRange> BinaryNinja::PossibleValueSet::ranges

◆ valueSet

std::set<int64_t> BinaryNinja::PossibleValueSet::valueSet

◆ table

std::vector<LookupTableEntry> BinaryNinja::PossibleValueSet::table

◆ count

size_t BinaryNinja::PossibleValueSet::count

◆ BinaryNinja::Function

class BinaryNinja::Function

Public Member Functions

 Function (BNFunction *func)
 
virtual ~Function ()
 
Ref< BinaryViewGetView () const
 Get the BinaryView this Function is defined in.
 
Ref< ArchitectureGetArchitecture () const
 Get the architecture this function was defined with.
 
Ref< PlatformGetPlatform () const
 Get the platform this function was defined with.
 
uint64_t GetStart () const
 Get the starting virtual address of this function.
 
Ref< SymbolGetSymbol () const
 Get the Symbol for this function.
 
bool WasAutomaticallyDiscovered () const
 Whether this function was automatically discovered by analysis.
 
bool HasUserAnnotations () const
 Whether this function has user annotations.
 
Confidence< bool > CanReturn () const
 Whether this function can return.
 
Confidence< bool > IsPure () const
 Whether this function is pure.
 
bool HasExplicitlyDefinedType () const
 Whether this function has an explicitly defined type.
 
bool NeedsUpdate () const
 Whether this function needs update.
 
std::vector< Ref< BasicBlock > > GetBasicBlocks () const
 Get a list of Basic Blocks for this function.
 
Ref< BasicBlockGetBasicBlockAtAddress (Architecture *arch, uint64_t addr) const
 Get the basic block an address is located in.
 
void MarkRecentUse ()
 Mark this function as recently used.
 
std::string GetComment () const
 Get the function comment.
 
std::string GetCommentForAddress (uint64_t addr) const
 Get a comment located at an address.
 
std::vector< uint64_t > GetCommentedAddresses () const
 Get a list of addresses with comments.
 
void SetComment (const std::string &comment)
 Set the comment for the function.
 
void SetCommentForAddress (uint64_t addr, const std::string &comment)
 Set the comment at an address.
 
std::vector< ReferenceSourceGetCallSites () const
 Get a list of callsites for this function.
 
void AddUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr)
 Places a user-defined cross-reference from the instruction at the given address and architecture to the specified target address.
 
void RemoveUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr)
 Removes a user-defined cross-reference.
 
void AddUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name)
 Places a user-defined type cross-reference from the instruction at the given address and architecture to the specified type.
 
void RemoveUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name)
 Removes a user-defined type cross-reference.
 
void AddUserTypeFieldReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name, uint64_t offset, size_t size=0)
 Places a user-defined type field cross-reference from the instruction at the given address and architecture to the specified type.
 
void RemoveUserTypeFieldReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name, uint64_t offset, size_t size=0)
 Removes a user-defined type field cross-reference.
 
Ref< LowLevelILFunctionGetLowLevelIL () const
 Get the LLIL for this function.
 
Ref< LowLevelILFunctionGetLowLevelILIfAvailable () const
 Get the LLIL for this function if it is available.
 
size_t GetLowLevelILForInstruction (Architecture *arch, uint64_t addr)
 Get the Low Level IL Instruction start for an instruction at an address.
 
std::set< size_t > GetLowLevelILInstructionsForAddress (Architecture *arch, uint64_t addr)
 
std::vector< size_t > GetLowLevelILExitsForInstruction (Architecture *arch, uint64_t addr)
 
std::pair< DataBuffer, BNBuiltinTypeGetConstantData (BNRegisterValueType state, uint64_t value, size_t size=0)
 
RegisterValue GetRegisterValueAtInstruction (Architecture *arch, uint64_t addr, uint32_t reg)
 
RegisterValue GetRegisterValueAfterInstruction (Architecture *arch, uint64_t addr, uint32_t reg)
 
RegisterValue GetStackContentsAtInstruction (Architecture *arch, uint64_t addr, int64_t offset, size_t size)
 
RegisterValue GetStackContentsAfterInstruction (Architecture *arch, uint64_t addr, int64_t offset, size_t size)
 
RegisterValue GetParameterValueAtInstruction (Architecture *arch, uint64_t addr, Type *functionType, size_t i)
 
RegisterValue GetParameterValueAtLowLevelILInstruction (size_t instr, Type *functionType, size_t i)
 
std::vector< uint32_t > GetRegistersReadByInstruction (Architecture *arch, uint64_t addr)
 
std::vector< uint32_t > GetRegistersWrittenByInstruction (Architecture *arch, uint64_t addr)
 
std::vector< StackVariableReferenceGetStackVariablesReferencedByInstruction (Architecture *arch, uint64_t addr)
 
std::vector< StackVariableReferenceGetStackVariablesReferencedByInstructionIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< BNConstantReferenceGetConstantsReferencedByInstruction (Architecture *arch, uint64_t addr)
 
std::vector< BNConstantReferenceGetConstantsReferencedByInstructionIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< ILReferenceSourceGetMediumLevelILVariableReferences (const Variable &var)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesFrom (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesInRange (Architecture *arch, uint64_t addr, uint64_t len)
 
std::vector< ILReferenceSourceGetMediumLevelILVariableReferencesIfAvailable (const Variable &var)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesFromIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesInRangeIfAvailable (Architecture *arch, uint64_t addr, uint64_t len)
 
std::vector< ILReferenceSourceGetHighLevelILVariableReferences (const Variable &var)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesFrom (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesInRange (Architecture *arch, uint64_t addr, uint64_t len)
 
std::vector< ILReferenceSourceGetHighLevelILVariableReferencesIfAvailable (const Variable &var)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesFromIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesInRangeIfAvailable (Architecture *arch, uint64_t addr, uint64_t len)
 
Ref< LowLevelILFunctionGetLiftedIL () const
 Retrieves a LowLevelILFunction used to represent lifted IL.
 
Ref< LowLevelILFunctionGetLiftedILIfAvailable () const
 Retrieves a LowLevelILFunction used to represent lifted IL, or None if not loaded.
 
size_t GetLiftedILForInstruction (Architecture *arch, uint64_t addr)
 
std::set< size_t > GetLiftedILInstructionsForAddress (Architecture *arch, uint64_t addr)
 
std::set< size_t > GetLiftedILFlagUsesForDefinition (size_t i, uint32_t flag)
 
std::set< size_t > GetLiftedILFlagDefinitionsForUse (size_t i, uint32_t flag)
 
std::set< uint32_t > GetFlagsReadByLiftedILInstruction (size_t i)
 
std::set< uint32_t > GetFlagsWrittenByLiftedILInstruction (size_t i)
 
Ref< MediumLevelILFunctionGetMediumLevelIL () const
 Get the MLIL for this Function.
 
Ref< MediumLevelILFunctionGetMediumLevelILIfAvailable () const
 Get the MLIL for this Function if it's available.
 
Ref< MediumLevelILFunctionGetMappedMediumLevelIL () const
 Get the Mapped MLIL for this Function.
 
Ref< MediumLevelILFunctionGetMappedMediumLevelILIfAvailable () const
 Get the Mapped MLIL for this Function if it's available.
 
Ref< HighLevelILFunctionGetHighLevelIL () const
 Get the HLIL for this Function.
 
Ref< HighLevelILFunctionGetHighLevelILIfAvailable () const
 Get the HLIL for this Function if it's available.
 
Ref< LanguageRepresentationFunctionGetLanguageRepresentation (const std::string &language="Pseudo C") const
 
Ref< LanguageRepresentationFunctionGetLanguageRepresentationIfAvailable (const std::string &language="Pseudo C") const
 
Ref< TypeGetType () const
 
Confidence< Ref< Type > > GetReturnType () const
 
Confidence< std::vector< uint32_t > > GetReturnRegisters () const
 
Confidence< Ref< CallingConvention > > GetCallingConvention () const
 
Confidence< std::vector< Variable > > GetParameterVariables () const
 
Confidence< bool > HasVariableArguments () const
 
Confidence< int64_t > GetStackAdjustment () const
 
std::map< uint32_t, Confidence< int32_t > > GetRegisterStackAdjustments () const
 
Confidence< std::set< uint32_t > > GetClobberedRegisters () const
 
void SetAutoType (Type *type)
 
void SetAutoReturnType (const Confidence< Ref< Type > > &type)
 
void SetAutoReturnRegisters (const Confidence< std::vector< uint32_t > > &returnRegs)
 
void SetAutoCallingConvention (const Confidence< Ref< CallingConvention > > &convention)
 
void SetAutoParameterVariables (const Confidence< std::vector< Variable > > &vars)
 
void SetAutoHasVariableArguments (const Confidence< bool > &varArgs)
 
void SetAutoCanReturn (const Confidence< bool > &returns)
 
void SetAutoPure (const Confidence< bool > &pure)
 
void SetAutoStackAdjustment (const Confidence< int64_t > &stackAdjust)
 
void SetAutoRegisterStackAdjustments (const std::map< uint32_t, Confidence< int32_t > > &regStackAdjust)
 
void SetAutoClobberedRegisters (const Confidence< std::set< uint32_t > > &clobbered)
 
void SetUserType (Type *type)
 
void SetReturnType (const Confidence< Ref< Type > > &type)
 
void SetReturnRegisters (const Confidence< std::vector< uint32_t > > &returnRegs)
 
void SetCallingConvention (const Confidence< Ref< CallingConvention > > &convention)
 
void SetParameterVariables (const Confidence< std::vector< Variable > > &vars)
 
void SetHasVariableArguments (const Confidence< bool > &varArgs)
 
void SetCanReturn (const Confidence< bool > &returns)
 
void SetPure (const Confidence< bool > &pure)
 
void SetStackAdjustment (const Confidence< int64_t > &stackAdjust)
 
void SetRegisterStackAdjustments (const std::map< uint32_t, Confidence< int32_t > > &regStackAdjust)
 
void SetClobberedRegisters (const Confidence< std::set< uint32_t > > &clobbered)
 
bool HasUserType () const
 
void ApplyImportedTypes (Symbol *sym, Ref< Type > type=nullptr)
 
void ApplyAutoDiscoveredType (Type *type)
 
Ref< FlowGraphCreateFunctionGraph (const FunctionViewType &type, DisassemblySettings *settings=nullptr)
 
std::map< int64_t, std::vector< VariableNameAndType > > GetStackLayout ()
 
void CreateAutoStackVariable (int64_t offset, const Confidence< Ref< Type > > &type, const std::string &name)
 
void CreateUserStackVariable (int64_t offset, const Confidence< Ref< Type > > &type, const std::string &name)
 
void DeleteAutoStackVariable (int64_t offset)
 
void DeleteUserStackVariable (int64_t offset)
 
bool GetStackVariableAtFrameOffset (Architecture *arch, uint64_t addr, int64_t offset, VariableNameAndType &var)
 
std::map< Variable, VariableNameAndTypeGetVariables ()
 List of Function Variables.
 
std::set< VariableGetMediumLevelILVariables ()
 
std::set< VariableGetMediumLevelILAliasedVariables ()
 
std::set< SSAVariableGetMediumLevelILSSAVariables ()
 
std::set< VariableGetHighLevelILVariables ()
 
std::set< VariableGetHighLevelILAliasedVariables ()
 
std::set< SSAVariableGetHighLevelILSSAVariables ()
 
std::set< VariableGetMediumLevelILVariablesIfAvailable ()
 
std::set< VariableGetMediumLevelILAliasedVariablesIfAvailable ()
 
std::set< SSAVariableGetMediumLevelILSSAVariablesIfAvailable ()
 
std::set< VariableGetHighLevelILVariablesIfAvailable ()
 
std::set< VariableGetHighLevelILAliasedVariablesIfAvailable ()
 
std::set< SSAVariableGetHighLevelILSSAVariablesIfAvailable ()
 
void CreateAutoVariable (const Variable &var, const Confidence< Ref< Type > > &type, const std::string &name, bool ignoreDisjointUses=false)
 
void CreateUserVariable (const Variable &var, const Confidence< Ref< Type > > &type, const std::string &name, bool ignoreDisjointUses=false)
 
void DeleteAutoVariable (const Variable &var)
 
void DeleteUserVariable (const Variable &var)
 
bool IsVariableUserDefinded (const Variable &var)
 
Confidence< Ref< Type > > GetVariableType (const Variable &var)
 
std::string GetVariableName (const Variable &var)
 
std::string GetVariableNameOrDefault (const Variable &var)
 
std::string GetLastSeenVariableNameOrDefault (const Variable &var)
 
void SetAutoIndirectBranches (Architecture *sourceArch, uint64_t source, const std::vector< ArchAndAddr > &branches)
 
void SetUserIndirectBranches (Architecture *sourceArch, uint64_t source, const std::vector< ArchAndAddr > &branches)
 
std::vector< IndirectBranchInfoGetIndirectBranches ()
 
std::vector< IndirectBranchInfoGetIndirectBranchesAt (Architecture *arch, uint64_t addr)
 
std::vector< uint64_t > GetUnresolvedIndirectBranches ()
 
bool HasUnresolvedIndirectBranches ()
 
void SetAutoCallTypeAdjustment (Architecture *arch, uint64_t addr, const Confidence< Ref< Type > > &adjust)
 
void SetAutoCallStackAdjustment (Architecture *arch, uint64_t addr, const Confidence< int64_t > &adjust)
 
void SetAutoCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, const std::map< uint32_t, Confidence< int32_t > > &adjust)
 
void SetAutoCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, uint32_t regStack, const Confidence< int32_t > &adjust)
 
void SetUserCallTypeAdjustment (Architecture *arch, uint64_t addr, const Confidence< Ref< Type > > &adjust)
 
void SetUserCallStackAdjustment (Architecture *arch, uint64_t addr, const Confidence< int64_t > &adjust)
 
void SetUserCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, const std::map< uint32_t, Confidence< int32_t > > &adjust)
 
void SetUserCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, uint32_t regStack, const Confidence< int32_t > &adjust)
 
Confidence< Ref< Type > > GetCallTypeAdjustment (Architecture *arch, uint64_t addr)
 
Confidence< int64_t > GetCallStackAdjustment (Architecture *arch, uint64_t addr)
 
std::map< uint32_t, Confidence< int32_t > > GetCallRegisterStackAdjustment (Architecture *arch, uint64_t addr)
 
Confidence< int32_t > GetCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, uint32_t regStack)
 
bool IsCallInstruction (Architecture *arch, uint64_t addr)
 
std::vector< std::vector< InstructionTextToken > > GetBlockAnnotations (Architecture *arch, uint64_t addr)
 
BNIntegerDisplayType GetIntegerConstantDisplayType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand)
 
Ref< TypeGetIntegerConstantDisplayTypeEnumType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand)
 
void SetIntegerConstantDisplayType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand, BNIntegerDisplayType type, Ref< Type > enumType=nullptr)
 
std::pair< BNIntegerDisplayType, Ref< Type > > GetIntegerConstantDisplayTypeAndEnumType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand)
 
BNHighlightColor GetInstructionHighlight (Architecture *arch, uint64_t addr)
 
void SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightColor color)
 
void SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, uint8_t alpha=255)
 
void SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, BNHighlightStandardColor mixColor, uint8_t mix, uint8_t alpha=255)
 
void SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, uint8_t r, uint8_t g, uint8_t b, uint8_t alpha=255)
 
void SetUserInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightColor color)
 
void SetUserInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, uint8_t alpha=255)
 
void SetUserInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, BNHighlightStandardColor mixColor, uint8_t mix, uint8_t alpha=255)
 
void SetUserInstructionHighlight (Architecture *arch, uint64_t addr, uint8_t r, uint8_t g, uint8_t b, uint8_t alpha=255)
 
std::vector< TagReferenceGetAllTagReferences ()
 
std::vector< TagReferenceGetTagReferencesOfType (Ref< TagType > tagType)
 
std::vector< TagReferenceGetAddressTagReferences ()
 
std::vector< TagReferenceGetAutoAddressTagReferences ()
 
std::vector< TagReferenceGetUserAddressTagReferences ()
 
std::vector< Ref< Tag > > GetAddressTags (Architecture *arch, uint64_t addr)
 
std::vector< Ref< Tag > > GetAutoAddressTags (Architecture *arch, uint64_t addr)
 
std::vector< Ref< Tag > > GetUserAddressTags (Architecture *arch, uint64_t addr)
 
std::vector< Ref< Tag > > GetAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType)
 
std::vector< Ref< Tag > > GetAutoAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType)
 
std::vector< Ref< Tag > > GetUserAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType)
 
std::vector< TagReferenceGetAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end)
 
std::vector< TagReferenceGetAutoAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end)
 
std::vector< TagReferenceGetUserAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end)
 
void AddAutoAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag)
 
void RemoveAutoAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag)
 
void RemoveAutoAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType)
 
void AddUserAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag)
 
void RemoveUserAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag)
 
void RemoveUserAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType)
 
std::vector< TagReferenceGetFunctionTagReferences ()
 
std::vector< TagReferenceGetAutoFunctionTagReferences ()
 
std::vector< TagReferenceGetUserFunctionTagReferences ()
 
std::vector< Ref< Tag > > GetFunctionTags ()
 
std::vector< Ref< Tag > > GetAutoFunctionTags ()
 
std::vector< Ref< Tag > > GetUserFunctionTags ()
 
std::vector< Ref< Tag > > GetFunctionTagsOfType (Ref< TagType > tagType)
 
std::vector< Ref< Tag > > GetAutoFunctionTagsOfType (Ref< TagType > tagType)
 
std::vector< Ref< Tag > > GetUserFunctionTagsOfType (Ref< TagType > tagType)
 
void AddAutoFunctionTag (Ref< Tag > tag)
 
void RemoveAutoFunctionTag (Ref< Tag > tag)
 
void RemoveAutoFunctionTagsOfType (Ref< TagType > tagType)
 
void AddUserFunctionTag (Ref< Tag > tag)
 
void RemoveUserFunctionTag (Ref< Tag > tag)
 
void RemoveUserFunctionTagsOfType (Ref< TagType > tagType)
 
Ref< TagCreateAutoAddressTag (Architecture *arch, uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateUserAddressTag (Architecture *arch, uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateAutoFunctionTag (const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateUserFunctionTag (const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateAutoAddressTag (Architecture *arch, uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false)
 
Ref< TagCreateUserAddressTag (Architecture *arch, uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false)
 
Ref< TagCreateAutoFunctionTag (Ref< TagType > tagType, const std::string &data, bool unique=false)
 
Ref< TagCreateUserFunctionTag (Ref< TagType > tagType, const std::string &data, bool unique=false)
 
void Reanalyze (BNFunctionUpdateType type=UserFunctionUpdate)
 
void MarkUpdatesRequired (BNFunctionUpdateType type=UserFunctionUpdate)
 
void MarkCallerUpdatesRequired (BNFunctionUpdateType type=UserFunctionUpdate)
 
Ref< WorkflowGetWorkflow ()
 
void RequestAdvancedAnalysisData ()
 
void ReleaseAdvancedAnalysisData ()
 
void ReleaseAdvancedAnalysisData (size_t count)
 
std::map< std::string, double > GetAnalysisPerformanceInfo ()
 
std::vector< DisassemblyTextLineGetTypeTokens (DisassemblySettings *settings=nullptr)
 
Confidence< RegisterValueGetGlobalPointerValue () const
 
bool UsesIncomingGlobalPointer () const
 
Confidence< RegisterValueGetRegisterValueAtExit (uint32_t reg) const
 
bool IsFunctionTooLarge ()
 Whether the function is too large to automatically perform analysis.
 
bool IsAnalysisSkipped ()
 Whether automatic analysis was skipped for this function.
 
BNAnalysisSkipReason GetAnalysisSkipReason ()
 
BNFunctionAnalysisSkipOverride GetAnalysisSkipOverride ()
 
void SetAnalysisSkipOverride (BNFunctionAnalysisSkipOverride skip)
 
Ref< FlowGraphGetUnresolvedStackAdjustmentGraph ()
 
void SetUserVariableValue (const Variable &var, uint64_t defAddr, PossibleValueSet &value)
 
void ClearUserVariableValue (const Variable &var, uint64_t defAddr)
 
std::map< Variable, std::map< ArchAndAddr, PossibleValueSet > > GetAllUserVariableValues ()
 
void ClearAllUserVariableValues ()
 
void RequestDebugReport (const std::string &name)
 
std::string GetGotoLabelName (uint64_t labelId)
 Get the name for a given label ID.
 
void SetGotoLabelName (uint64_t labelId, const std::string &name)
 Set the name for a given label ID.
 
BNDeadStoreElimination GetVariableDeadStoreElimination (const Variable &var)
 
void SetVariableDeadStoreElimination (const Variable &var, BNDeadStoreElimination mode)
 
std::map< Variable, std::set< Variable > > GetMergedVariables ()
 
void MergeVariables (const Variable &target, const std::set< Variable > &sources)
 
void UnmergeVariables (const Variable &target, const std::set< Variable > &sources)
 
std::set< VariableGetSplitVariables ()
 
void SplitVariable (const Variable &var)
 
void UnsplitVariable (const Variable &var)
 
uint64_t GetHighestAddress ()
 The highest (largest) virtual address contained in a function.
 
uint64_t GetLowestAddress ()
 The lowest (smallest) virtual address contained in a function.
 
std::vector< BNAddressRangeGetAddressRanges ()
 All of the address ranges covered by a function.
 
bool GetInstructionContainingAddress (Architecture *arch, uint64_t addr, uint64_t *start)
 
Confidence< bool > IsInlinedDuringAnalysis ()
 
void SetAutoInlinedDuringAnalysis (Confidence< bool > inlined)
 
void SetUserInlinedDuringAnalysis (Confidence< bool > inlined)
 
bool IsInstructionCollapsed (const HighLevelILInstruction &instr, uint64_t designator=0) const
 
bool IsCollapsed () const
 
void ToggleRegion (uint64_t hash)
 
void CollapseRegion (uint64_t hash)
 
void ExpandRegion (uint64_t hash)
 
void ExpandAll ()
 
- Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction >
 CoreRefCountObject ()
 
virtual ~CoreRefCountObject ()
 
BNFunctionGetObject () const
 
void AddRef ()
 
void Release ()
 
void AddRefForRegistration ()
 
void ReleaseForRegistration ()
 
void AddRefForCallback ()
 
void ReleaseForCallback ()
 

Additional Inherited Members

- Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction >
static BNFunctionGetObject (CoreRefCountObject *obj)
 
static BNFunctionGetObject (const CoreRefCountObject *obj)
 
- Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction >
std::atomic< int > m_refs
 
bool m_registeredRef
 
BNFunctionm_object
 

Constructor & Destructor Documentation

◆ Function()

Function::Function ( BNFunction * func)

◆ ~Function()

Function::~Function ( )
virtual

Member Function Documentation

◆ GetView()

Ref< BinaryView > Function::GetView ( ) const

Get the BinaryView this Function is defined in.

Returns
a BinaryView reference

◆ GetArchitecture()

Ref< Architecture > Function::GetArchitecture ( ) const

Get the architecture this function was defined with.

Returns
an Architecture reference

◆ GetPlatform()

Ref< Platform > Function::GetPlatform ( ) const

Get the platform this function was defined with.

Returns
a Platform reference

◆ GetStart()

uint64_t Function::GetStart ( ) const

Get the starting virtual address of this function.

Returns
the start address

◆ GetSymbol()

Ref< Symbol > Function::GetSymbol ( ) const

Get the Symbol for this function.

Returns
a Symbol reference

◆ WasAutomaticallyDiscovered()

bool Function::WasAutomaticallyDiscovered ( ) const

Whether this function was automatically discovered by analysis.

Returns
Whether the function was automatically discovered

◆ HasUserAnnotations()

bool Function::HasUserAnnotations ( ) const

Whether this function has user annotations.

Returns
Whether this function has user annotations

◆ CanReturn()

Confidence< bool > Function::CanReturn ( ) const

Whether this function can return.

Returns
Whether this function can return

◆ IsPure()

Confidence< bool > Function::IsPure ( ) const

Whether this function is pure.

Returns
Whether this function is pure

◆ HasExplicitlyDefinedType()

bool Function::HasExplicitlyDefinedType ( ) const

Whether this function has an explicitly defined type.

Returns
Whether this function has an explicitly defined type

◆ NeedsUpdate()

bool Function::NeedsUpdate ( ) const

Whether this function needs update.

Returns
Whether this function needs update

◆ GetBasicBlocks()

vector< Ref< BasicBlock > > Function::GetBasicBlocks ( ) const

Get a list of Basic Blocks for this function.

Returns
a list of BasicBlock references for this function

◆ GetBasicBlockAtAddress()

Ref< BasicBlock > Function::GetBasicBlockAtAddress ( Architecture * arch,
uint64_t addr ) const

Get the basic block an address is located in.

Parameters
archArchitecture for the basic block
addrAddress to check
Returns

◆ MarkRecentUse()

void Function::MarkRecentUse ( )

Mark this function as recently used.

◆ GetComment()

string Function::GetComment ( ) const

Get the function comment.

Returns
The function comment

◆ GetCommentForAddress()

string Function::GetCommentForAddress ( uint64_t addr) const

Get a comment located at an address.

Returns
The comment at an address

◆ GetCommentedAddresses()

vector< uint64_t > Function::GetCommentedAddresses ( ) const

Get a list of addresses with comments.

Returns
A list of virtual addresses with comments

◆ SetComment()

void Function::SetComment ( const std::string & comment)

Set the comment for the function.

Parameters
commentThe new function comment

◆ SetCommentForAddress()

void Function::SetCommentForAddress ( uint64_t addr,
const std::string & comment )

Set the comment at an address.

Parameters
addrAddress for the comment
commentText of the comment

◆ GetCallSites()

vector< ReferenceSource > Function::GetCallSites ( ) const

Get a list of callsites for this function.

Returns
a list of ReferenceSource

◆ AddUserCodeReference()

void Function::AddUserCodeReference ( Architecture * fromArch,
uint64_t fromAddr,
uint64_t toAddr )

Places a user-defined cross-reference from the instruction at the given address and architecture to the specified target address.

If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use `RemoveUserCodeReference`.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
toAddrVirtual address of the xref's destination.

◆ RemoveUserCodeReference()

void Function::RemoveUserCodeReference ( Architecture * fromArch,
uint64_t fromAddr,
uint64_t toAddr )

Removes a user-defined cross-reference.

If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
toAddrVirtual address of the xref's destination.

◆ AddUserTypeReference()

void Function::AddUserTypeReference ( Architecture * fromArch,
uint64_t fromAddr,
const QualifiedName & name )

Places a user-defined type cross-reference from the instruction at the given address and architecture to the specified type.

If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use `RemoveUserTypeReference`.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type

◆ RemoveUserTypeReference()

void Function::RemoveUserTypeReference ( Architecture * fromArch,
uint64_t fromAddr,
const QualifiedName & name )

Removes a user-defined type cross-reference.

If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type

◆ AddUserTypeFieldReference()

void Function::AddUserTypeFieldReference ( Architecture * fromArch,
uint64_t fromAddr,
const QualifiedName & name,
uint64_t offset,
size_t size = 0 )

Places a user-defined type field cross-reference from the instruction at the given address and architecture to the specified type.

If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use :func:`remove_user_type_field_ref`.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type
offsetOffset of the field, relative to the type
size(Optional) size of the access

◆ RemoveUserTypeFieldReference()

void Function::RemoveUserTypeFieldReference ( Architecture * fromArch,
uint64_t fromAddr,
const QualifiedName & name,
uint64_t offset,
size_t size = 0 )

Removes a user-defined type field cross-reference.

If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type
offsetOffset of the field, relative to the type
size(Optional) size of the access

◆ GetLowLevelIL()

Ref< LowLevelILFunction > Function::GetLowLevelIL ( ) const

Get the LLIL for this function.

Returns
a LowLevelILFunction reference

◆ GetLowLevelILIfAvailable()

Ref< LowLevelILFunction > Function::GetLowLevelILIfAvailable ( ) const

Get the LLIL for this function if it is available.

Returns
a LowLevelILFunction reference

◆ GetLowLevelILForInstruction()

size_t Function::GetLowLevelILForInstruction ( Architecture * arch,
uint64_t addr )

Get the Low Level IL Instruction start for an instruction at an address.

Parameters
archArchitecture for the instruction
addrAddress of the instruction
Returns
Start address of the instruction

◆ GetLowLevelILInstructionsForAddress()

set< size_t > Function::GetLowLevelILInstructionsForAddress ( Architecture * arch,
uint64_t addr )

◆ GetLowLevelILExitsForInstruction()

vector< size_t > Function::GetLowLevelILExitsForInstruction ( Architecture * arch,
uint64_t addr )

◆ GetConstantData()

pair< DataBuffer, BNBuiltinType > Function::GetConstantData ( BNRegisterValueType state,
uint64_t value,
size_t size = 0 )

◆ GetRegisterValueAtInstruction()

RegisterValue Function::GetRegisterValueAtInstruction ( Architecture * arch,
uint64_t addr,
uint32_t reg )

◆ GetRegisterValueAfterInstruction()

RegisterValue Function::GetRegisterValueAfterInstruction ( Architecture * arch,
uint64_t addr,
uint32_t reg )

◆ GetStackContentsAtInstruction()

RegisterValue Function::GetStackContentsAtInstruction ( Architecture * arch,
uint64_t addr,
int64_t offset,
size_t size )

◆ GetStackContentsAfterInstruction()

RegisterValue Function::GetStackContentsAfterInstruction ( Architecture * arch,
uint64_t addr,
int64_t offset,
size_t size )

◆ GetParameterValueAtInstruction()

RegisterValue Function::GetParameterValueAtInstruction ( Architecture * arch,
uint64_t addr,
Type * functionType,
size_t i )

◆ GetParameterValueAtLowLevelILInstruction()

RegisterValue Function::GetParameterValueAtLowLevelILInstruction ( size_t instr,
Type * functionType,
size_t i )

◆ GetRegistersReadByInstruction()

vector< uint32_t > Function::GetRegistersReadByInstruction ( Architecture * arch,
uint64_t addr )

◆ GetRegistersWrittenByInstruction()

vector< uint32_t > Function::GetRegistersWrittenByInstruction ( Architecture * arch,
uint64_t addr )

◆ GetStackVariablesReferencedByInstruction()

vector< StackVariableReference > Function::GetStackVariablesReferencedByInstruction ( Architecture * arch,
uint64_t addr )

◆ GetStackVariablesReferencedByInstructionIfAvailable()

vector< StackVariableReference > Function::GetStackVariablesReferencedByInstructionIfAvailable ( Architecture * arch,
uint64_t addr )

◆ GetConstantsReferencedByInstruction()

vector< BNConstantReference > Function::GetConstantsReferencedByInstruction ( Architecture * arch,
uint64_t addr )

◆ GetConstantsReferencedByInstructionIfAvailable()

vector< BNConstantReference > Function::GetConstantsReferencedByInstructionIfAvailable ( Architecture * arch,
uint64_t addr )

◆ GetMediumLevelILVariableReferences()

vector< ILReferenceSource > Function::GetMediumLevelILVariableReferences ( const Variable & var)

◆ GetMediumLevelILVariableReferencesFrom()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesFrom ( Architecture * arch,
uint64_t addr )

◆ GetMediumLevelILVariableReferencesInRange()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesInRange ( Architecture * arch,
uint64_t addr,
uint64_t len )

◆ GetMediumLevelILVariableReferencesIfAvailable()

vector< ILReferenceSource > Function::GetMediumLevelILVariableReferencesIfAvailable ( const Variable & var)

◆ GetMediumLevelILVariableReferencesFromIfAvailable()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesFromIfAvailable ( Architecture * arch,
uint64_t addr )

◆ GetMediumLevelILVariableReferencesInRangeIfAvailable()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesInRangeIfAvailable ( Architecture * arch,
uint64_t addr,
uint64_t len )

◆ GetHighLevelILVariableReferences()

vector< ILReferenceSource > Function::GetHighLevelILVariableReferences ( const Variable & var)

◆ GetHighLevelILVariableReferencesFrom()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesFrom ( Architecture * arch,
uint64_t addr )

◆ GetHighLevelILVariableReferencesInRange()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesInRange ( Architecture * arch,
uint64_t addr,
uint64_t len )

◆ GetHighLevelILVariableReferencesIfAvailable()

vector< ILReferenceSource > Function::GetHighLevelILVariableReferencesIfAvailable ( const Variable & var)

◆ GetHighLevelILVariableReferencesFromIfAvailable()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesFromIfAvailable ( Architecture * arch,
uint64_t addr )

◆ GetHighLevelILVariableReferencesInRangeIfAvailable()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesInRangeIfAvailable ( Architecture * arch,
uint64_t addr,
uint64_t len )

◆ GetLiftedIL()

Ref< LowLevelILFunction > Function::GetLiftedIL ( ) const

Retrieves a LowLevelILFunction used to represent lifted IL.

Returns
LowLevelILFunction used to represent lifted IL.

◆ GetLiftedILIfAvailable()

Ref< LowLevelILFunction > Function::GetLiftedILIfAvailable ( ) const

Retrieves a LowLevelILFunction used to represent lifted IL, or None if not loaded.

Returns
LowLevelILFunction used to represent lifted IL, or None if not loaded.

◆ GetLiftedILForInstruction()

size_t Function::GetLiftedILForInstruction ( Architecture * arch,
uint64_t addr )

◆ GetLiftedILInstructionsForAddress()

set< size_t > Function::GetLiftedILInstructionsForAddress ( Architecture * arch,
uint64_t addr )

◆ GetLiftedILFlagUsesForDefinition()

set< size_t > Function::GetLiftedILFlagUsesForDefinition ( size_t i,
uint32_t flag )

◆ GetLiftedILFlagDefinitionsForUse()

set< size_t > Function::GetLiftedILFlagDefinitionsForUse ( size_t i,
uint32_t flag )

◆ GetFlagsReadByLiftedILInstruction()

set< uint32_t > Function::GetFlagsReadByLiftedILInstruction ( size_t i)

◆ GetFlagsWrittenByLiftedILInstruction()

set< uint32_t > Function::GetFlagsWrittenByLiftedILInstruction ( size_t i)

◆ GetMediumLevelIL()

Ref< MediumLevelILFunction > Function::GetMediumLevelIL ( ) const

Get the MLIL for this Function.

Returns
The MLIL for this Function.

◆ GetMediumLevelILIfAvailable()

Ref< MediumLevelILFunction > Function::GetMediumLevelILIfAvailable ( ) const

Get the MLIL for this Function if it's available.

Returns
The MLIL for this Function if it's available.

◆ GetMappedMediumLevelIL()

Ref< MediumLevelILFunction > Function::GetMappedMediumLevelIL ( ) const

Get the Mapped MLIL for this Function.

Returns
The Mapped MLIL for this Function.

◆ GetMappedMediumLevelILIfAvailable()

Ref< MediumLevelILFunction > Function::GetMappedMediumLevelILIfAvailable ( ) const

Get the Mapped MLIL for this Function if it's available.

Returns
The Mapped MLIL for this Function if it's available.

◆ GetHighLevelIL()

Ref< HighLevelILFunction > Function::GetHighLevelIL ( ) const

Get the HLIL for this Function.

Returns
The HLIL for this Function.

◆ GetHighLevelILIfAvailable()

Ref< HighLevelILFunction > Function::GetHighLevelILIfAvailable ( ) const

Get the HLIL for this Function if it's available.

Returns
The HLIL for this Function if it's available.

◆ GetLanguageRepresentation()

Ref< LanguageRepresentationFunction > Function::GetLanguageRepresentation ( const std::string & language = "Pseudo C") const

◆ GetLanguageRepresentationIfAvailable()

Ref< LanguageRepresentationFunction > Function::GetLanguageRepresentationIfAvailable ( const std::string & language = "Pseudo C") const

◆ GetType()

Ref< Type > Function::GetType ( ) const

◆ GetReturnType()

Confidence< Ref< Type > > Function::GetReturnType ( ) const

◆ GetReturnRegisters()

Confidence< vector< uint32_t > > Function::GetReturnRegisters ( ) const

◆ GetCallingConvention()

Confidence< Ref< CallingConvention > > Function::GetCallingConvention ( ) const

◆ GetParameterVariables()

Confidence< vector< Variable > > Function::GetParameterVariables ( ) const

◆ HasVariableArguments()

Confidence< bool > Function::HasVariableArguments ( ) const

◆ GetStackAdjustment()

Confidence< int64_t > Function::GetStackAdjustment ( ) const

◆ GetRegisterStackAdjustments()

map< uint32_t, Confidence< int32_t > > Function::GetRegisterStackAdjustments ( ) const

◆ GetClobberedRegisters()

Confidence< set< uint32_t > > Function::GetClobberedRegisters ( ) const

◆ SetAutoType()

void Function::SetAutoType ( Type * type)

◆ SetAutoReturnType()

void Function::SetAutoReturnType ( const Confidence< Ref< Type > > & type)

◆ SetAutoReturnRegisters()

void Function::SetAutoReturnRegisters ( const Confidence< std::vector< uint32_t > > & returnRegs)

◆ SetAutoCallingConvention()

void Function::SetAutoCallingConvention ( const Confidence< Ref< CallingConvention > > & convention)

◆ SetAutoParameterVariables()

void Function::SetAutoParameterVariables ( const Confidence< std::vector< Variable > > & vars)

◆ SetAutoHasVariableArguments()

void Function::SetAutoHasVariableArguments ( const Confidence< bool > & varArgs)

◆ SetAutoCanReturn()

void Function::SetAutoCanReturn ( const Confidence< bool > & returns)

◆ SetAutoPure()

void Function::SetAutoPure ( const Confidence< bool > & pure)

◆ SetAutoStackAdjustment()

void Function::SetAutoStackAdjustment ( const Confidence< int64_t > & stackAdjust)

◆ SetAutoRegisterStackAdjustments()

void Function::SetAutoRegisterStackAdjustments ( const std::map< uint32_t, Confidence< int32_t > > & regStackAdjust)

◆ SetAutoClobberedRegisters()

void Function::SetAutoClobberedRegisters ( const Confidence< std::set< uint32_t > > & clobbered)

◆ SetUserType()

void Function::SetUserType ( Type * type)

◆ SetReturnType()

void Function::SetReturnType ( const Confidence< Ref< Type > > & type)

◆ SetReturnRegisters()

void Function::SetReturnRegisters ( const Confidence< std::vector< uint32_t > > & returnRegs)

◆ SetCallingConvention()

void Function::SetCallingConvention ( const Confidence< Ref< CallingConvention > > & convention)

◆ SetParameterVariables()

void Function::SetParameterVariables ( const Confidence< std::vector< Variable > > & vars)

◆ SetHasVariableArguments()

void Function::SetHasVariableArguments ( const Confidence< bool > & varArgs)

◆ SetCanReturn()

void Function::SetCanReturn ( const Confidence< bool > & returns)

◆ SetPure()

void Function::SetPure ( const Confidence< bool > & pure)

◆ SetStackAdjustment()

void Function::SetStackAdjustment ( const Confidence< int64_t > & stackAdjust)

◆ SetRegisterStackAdjustments()

void Function::SetRegisterStackAdjustments ( const std::map< uint32_t, Confidence< int32_t > > & regStackAdjust)

◆ SetClobberedRegisters()

void Function::SetClobberedRegisters ( const Confidence< std::set< uint32_t > > & clobbered)

◆ HasUserType()

bool Function::HasUserType ( ) const

◆ ApplyImportedTypes()

void Function::ApplyImportedTypes ( Symbol * sym,
Ref< Type > type = nullptr )

◆ ApplyAutoDiscoveredType()

void Function::ApplyAutoDiscoveredType ( Type * type)

◆ CreateFunctionGraph()

Ref< FlowGraph > Function::CreateFunctionGraph ( const FunctionViewType & type,
DisassemblySettings * settings = nullptr )

◆ GetStackLayout()

map< int64_t, vector< VariableNameAndType > > Function::GetStackLayout ( )

◆ CreateAutoStackVariable()

void Function::CreateAutoStackVariable ( int64_t offset,
const Confidence< Ref< Type > > & type,
const std::string & name )

◆ CreateUserStackVariable()

void Function::CreateUserStackVariable ( int64_t offset,
const Confidence< Ref< Type > > & type,
const std::string & name )

◆ DeleteAutoStackVariable()

void Function::DeleteAutoStackVariable ( int64_t offset)

◆ DeleteUserStackVariable()

void Function::DeleteUserStackVariable ( int64_t offset)

◆ GetStackVariableAtFrameOffset()

bool Function::GetStackVariableAtFrameOffset ( Architecture * arch,
uint64_t addr,
int64_t offset,
VariableNameAndType & var )

◆ GetVariables()

map< Variable, VariableNameAndType > Function::GetVariables ( )

List of Function Variables.

Returns
List of Function Variables

◆ GetMediumLevelILVariables()

set< Variable > Function::GetMediumLevelILVariables ( )

◆ GetMediumLevelILAliasedVariables()

set< Variable > Function::GetMediumLevelILAliasedVariables ( )

◆ GetMediumLevelILSSAVariables()

set< SSAVariable > Function::GetMediumLevelILSSAVariables ( )

◆ GetHighLevelILVariables()

set< Variable > Function::GetHighLevelILVariables ( )

◆ GetHighLevelILAliasedVariables()

set< Variable > Function::GetHighLevelILAliasedVariables ( )

◆ GetHighLevelILSSAVariables()

set< SSAVariable > Function::GetHighLevelILSSAVariables ( )

◆ GetMediumLevelILVariablesIfAvailable()

set< Variable > Function::GetMediumLevelILVariablesIfAvailable ( )

◆ GetMediumLevelILAliasedVariablesIfAvailable()

set< Variable > Function::GetMediumLevelILAliasedVariablesIfAvailable ( )

◆ GetMediumLevelILSSAVariablesIfAvailable()

set< SSAVariable > Function::GetMediumLevelILSSAVariablesIfAvailable ( )

◆ GetHighLevelILVariablesIfAvailable()

set< Variable > Function::GetHighLevelILVariablesIfAvailable ( )

◆ GetHighLevelILAliasedVariablesIfAvailable()

set< Variable > Function::GetHighLevelILAliasedVariablesIfAvailable ( )

◆ GetHighLevelILSSAVariablesIfAvailable()

set< SSAVariable > Function::GetHighLevelILSSAVariablesIfAvailable ( )

◆ CreateAutoVariable()

void Function::CreateAutoVariable ( const Variable & var,
const Confidence< Ref< Type > > & type,
const std::string & name,
bool ignoreDisjointUses = false )

◆ CreateUserVariable()

void Function::CreateUserVariable ( const Variable & var,
const Confidence< Ref< Type > > & type,
const std::string & name,
bool ignoreDisjointUses = false )

◆ DeleteAutoVariable()

void BinaryNinja::Function::DeleteAutoVariable ( const Variable & var)

◆ DeleteUserVariable()

void Function::DeleteUserVariable ( const Variable & var)

◆ IsVariableUserDefinded()

bool Function::IsVariableUserDefinded ( const Variable & var)

◆ GetVariableType()

Confidence< Ref< Type > > Function::GetVariableType ( const Variable & var)

◆ GetVariableName()

string Function::GetVariableName ( const Variable & var)

◆ GetVariableNameOrDefault()

string Function::GetVariableNameOrDefault ( const Variable & var)

◆ GetLastSeenVariableNameOrDefault()

string Function::GetLastSeenVariableNameOrDefault ( const Variable & var)

◆ SetAutoIndirectBranches()

void Function::SetAutoIndirectBranches ( Architecture * sourceArch,
uint64_t source,
const std::vector< ArchAndAddr > & branches )

◆ SetUserIndirectBranches()

void Function::SetUserIndirectBranches ( Architecture * sourceArch,
uint64_t source,
const std::vector< ArchAndAddr > & branches )

◆ GetIndirectBranches()

vector< IndirectBranchInfo > Function::GetIndirectBranches ( )

◆ GetIndirectBranchesAt()

vector< IndirectBranchInfo > Function::GetIndirectBranchesAt ( Architecture * arch,
uint64_t addr )

◆ GetUnresolvedIndirectBranches()

vector< uint64_t > Function::GetUnresolvedIndirectBranches ( )

◆ HasUnresolvedIndirectBranches()

bool Function::HasUnresolvedIndirectBranches ( )

◆ SetAutoCallTypeAdjustment()

void Function::SetAutoCallTypeAdjustment ( Architecture * arch,
uint64_t addr,
const Confidence< Ref< Type > > & adjust )

◆ SetAutoCallStackAdjustment()

void Function::SetAutoCallStackAdjustment ( Architecture * arch,
uint64_t addr,
const Confidence< int64_t > & adjust )

◆ SetAutoCallRegisterStackAdjustment() [1/2]

void BinaryNinja::Function::SetAutoCallRegisterStackAdjustment ( Architecture * arch,
uint64_t addr,
const std::map< uint32_t, Confidence< int32_t > > & adjust )

◆ SetAutoCallRegisterStackAdjustment() [2/2]

void Function::SetAutoCallRegisterStackAdjustment ( Architecture * arch,
uint64_t addr,
uint32_t regStack,
const Confidence< int32_t > & adjust )

◆ SetUserCallTypeAdjustment()

void Function::SetUserCallTypeAdjustment ( Architecture * arch,
uint64_t addr,
const Confidence< Ref< Type > > & adjust )

◆ SetUserCallStackAdjustment()

void Function::SetUserCallStackAdjustment ( Architecture * arch,
uint64_t addr,
const Confidence< int64_t > & adjust )

◆ SetUserCallRegisterStackAdjustment() [1/2]

void BinaryNinja::Function::SetUserCallRegisterStackAdjustment ( Architecture * arch,
uint64_t addr,
const std::map< uint32_t, Confidence< int32_t > > & adjust )

◆ SetUserCallRegisterStackAdjustment() [2/2]

void Function::SetUserCallRegisterStackAdjustment ( Architecture * arch,
uint64_t addr,
uint32_t regStack,
const Confidence< int32_t > & adjust )

◆ GetCallTypeAdjustment()

Confidence< Ref< Type > > Function::GetCallTypeAdjustment ( Architecture * arch,
uint64_t addr )

◆ GetCallStackAdjustment()

Confidence< int64_t > Function::GetCallStackAdjustment ( Architecture * arch,
uint64_t addr )

◆ GetCallRegisterStackAdjustment() [1/2]

map< uint32_t, Confidence< int32_t > > Function::GetCallRegisterStackAdjustment ( Architecture * arch,
uint64_t addr )

◆ GetCallRegisterStackAdjustment() [2/2]

Confidence< int32_t > Function::GetCallRegisterStackAdjustment ( Architecture * arch,
uint64_t addr,
uint32_t regStack )

◆ IsCallInstruction()

bool Function::IsCallInstruction ( Architecture * arch,
uint64_t addr )

◆ GetBlockAnnotations()

vector< vector< InstructionTextToken > > Function::GetBlockAnnotations ( Architecture * arch,
uint64_t addr )

◆ GetIntegerConstantDisplayType()

BNIntegerDisplayType Function::GetIntegerConstantDisplayType ( Architecture * arch,
uint64_t instrAddr,
uint64_t value,
size_t operand )

◆ GetIntegerConstantDisplayTypeEnumType()

Ref< Type > Function::GetIntegerConstantDisplayTypeEnumType ( Architecture * arch,
uint64_t instrAddr,
uint64_t value,
size_t operand )

◆ SetIntegerConstantDisplayType()

void Function::SetIntegerConstantDisplayType ( Architecture * arch,
uint64_t instrAddr,
uint64_t value,
size_t operand,
BNIntegerDisplayType type,
Ref< Type > enumType = nullptr )

◆ GetIntegerConstantDisplayTypeAndEnumType()

std::pair< BNIntegerDisplayType, Ref< Type > > Function::GetIntegerConstantDisplayTypeAndEnumType ( Architecture * arch,
uint64_t instrAddr,
uint64_t value,
size_t operand )

◆ GetInstructionHighlight()

BNHighlightColor Function::GetInstructionHighlight ( Architecture * arch,
uint64_t addr )

◆ SetAutoInstructionHighlight() [1/4]

void Function::SetAutoInstructionHighlight ( Architecture * arch,
uint64_t addr,
BNHighlightColor color )

◆ SetAutoInstructionHighlight() [2/4]

void Function::SetAutoInstructionHighlight ( Architecture * arch,
uint64_t addr,
BNHighlightStandardColor color,
uint8_t alpha = 255 )

◆ SetAutoInstructionHighlight() [3/4]

void Function::SetAutoInstructionHighlight ( Architecture * arch,
uint64_t addr,
BNHighlightStandardColor color,
BNHighlightStandardColor mixColor,
uint8_t mix,
uint8_t alpha = 255 )

◆ SetAutoInstructionHighlight() [4/4]

void Function::SetAutoInstructionHighlight ( Architecture * arch,
uint64_t addr,
uint8_t r,
uint8_t g,
uint8_t b,
uint8_t alpha = 255 )

◆ SetUserInstructionHighlight() [1/4]

void Function::SetUserInstructionHighlight ( Architecture * arch,
uint64_t addr,
BNHighlightColor color )

◆ SetUserInstructionHighlight() [2/4]

void Function::SetUserInstructionHighlight ( Architecture * arch,
uint64_t addr,
BNHighlightStandardColor color,
uint8_t alpha = 255 )

◆ SetUserInstructionHighlight() [3/4]

void Function::SetUserInstructionHighlight ( Architecture * arch,
uint64_t addr,
BNHighlightStandardColor color,
BNHighlightStandardColor mixColor,
uint8_t mix,
uint8_t alpha = 255 )

◆ SetUserInstructionHighlight() [4/4]

void Function::SetUserInstructionHighlight ( Architecture * arch,
uint64_t addr,
uint8_t r,
uint8_t g,
uint8_t b,
uint8_t alpha = 255 )

◆ GetAllTagReferences()

std::vector< TagReference > Function::GetAllTagReferences ( )

◆ GetTagReferencesOfType()

std::vector< TagReference > Function::GetTagReferencesOfType ( Ref< TagType > tagType)

◆ GetAddressTagReferences()

std::vector< TagReference > Function::GetAddressTagReferences ( )

◆ GetAutoAddressTagReferences()

std::vector< TagReference > Function::GetAutoAddressTagReferences ( )

◆ GetUserAddressTagReferences()

std::vector< TagReference > Function::GetUserAddressTagReferences ( )

◆ GetAddressTags()

std::vector< Ref< Tag > > Function::GetAddressTags ( Architecture * arch,
uint64_t addr )

◆ GetAutoAddressTags()

std::vector< Ref< Tag > > Function::GetAutoAddressTags ( Architecture * arch,
uint64_t addr )

◆ GetUserAddressTags()

std::vector< Ref< Tag > > Function::GetUserAddressTags ( Architecture * arch,
uint64_t addr )

◆ GetAddressTagsOfType()

std::vector< Ref< Tag > > Function::GetAddressTagsOfType ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType )

◆ GetAutoAddressTagsOfType()

std::vector< Ref< Tag > > Function::GetAutoAddressTagsOfType ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType )

◆ GetUserAddressTagsOfType()

std::vector< Ref< Tag > > Function::GetUserAddressTagsOfType ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType )

◆ GetAddressTagsInRange()

std::vector< TagReference > Function::GetAddressTagsInRange ( Architecture * arch,
uint64_t start,
uint64_t end )

◆ GetAutoAddressTagsInRange()

std::vector< TagReference > Function::GetAutoAddressTagsInRange ( Architecture * arch,
uint64_t start,
uint64_t end )

◆ GetUserAddressTagsInRange()

std::vector< TagReference > Function::GetUserAddressTagsInRange ( Architecture * arch,
uint64_t start,
uint64_t end )

◆ AddAutoAddressTag()

void Function::AddAutoAddressTag ( Architecture * arch,
uint64_t addr,
Ref< Tag > tag )

◆ RemoveAutoAddressTag()

void Function::RemoveAutoAddressTag ( Architecture * arch,
uint64_t addr,
Ref< Tag > tag )

◆ RemoveAutoAddressTagsOfType()

void Function::RemoveAutoAddressTagsOfType ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType )

◆ AddUserAddressTag()

void Function::AddUserAddressTag ( Architecture * arch,
uint64_t addr,
Ref< Tag > tag )

◆ RemoveUserAddressTag()

void Function::RemoveUserAddressTag ( Architecture * arch,
uint64_t addr,
Ref< Tag > tag )

◆ RemoveUserAddressTagsOfType()

void Function::RemoveUserAddressTagsOfType ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType )

◆ GetFunctionTagReferences()

std::vector< TagReference > Function::GetFunctionTagReferences ( )

◆ GetAutoFunctionTagReferences()

std::vector< TagReference > Function::GetAutoFunctionTagReferences ( )

◆ GetUserFunctionTagReferences()

std::vector< TagReference > Function::GetUserFunctionTagReferences ( )

◆ GetFunctionTags()

std::vector< Ref< Tag > > Function::GetFunctionTags ( )

◆ GetAutoFunctionTags()

std::vector< Ref< Tag > > Function::GetAutoFunctionTags ( )

◆ GetUserFunctionTags()

std::vector< Ref< Tag > > Function::GetUserFunctionTags ( )

◆ GetFunctionTagsOfType()

std::vector< Ref< Tag > > Function::GetFunctionTagsOfType ( Ref< TagType > tagType)

◆ GetAutoFunctionTagsOfType()

std::vector< Ref< Tag > > Function::GetAutoFunctionTagsOfType ( Ref< TagType > tagType)

◆ GetUserFunctionTagsOfType()

std::vector< Ref< Tag > > Function::GetUserFunctionTagsOfType ( Ref< TagType > tagType)

◆ AddAutoFunctionTag()

void Function::AddAutoFunctionTag ( Ref< Tag > tag)

◆ RemoveAutoFunctionTag()

void Function::RemoveAutoFunctionTag ( Ref< Tag > tag)

◆ RemoveAutoFunctionTagsOfType()

void Function::RemoveAutoFunctionTagsOfType ( Ref< TagType > tagType)

◆ AddUserFunctionTag()

void Function::AddUserFunctionTag ( Ref< Tag > tag)

◆ RemoveUserFunctionTag()

void Function::RemoveUserFunctionTag ( Ref< Tag > tag)

◆ RemoveUserFunctionTagsOfType()

void Function::RemoveUserFunctionTagsOfType ( Ref< TagType > tagType)

◆ CreateAutoAddressTag() [1/2]

Ref< Tag > Function::CreateAutoAddressTag ( Architecture * arch,
uint64_t addr,
const std::string & tagTypeName,
const std::string & data,
bool unique = false )

◆ CreateUserAddressTag() [1/2]

Ref< Tag > Function::CreateUserAddressTag ( Architecture * arch,
uint64_t addr,
const std::string & tagTypeName,
const std::string & data,
bool unique = false )

◆ CreateAutoFunctionTag() [1/2]

Ref< Tag > Function::CreateAutoFunctionTag ( const std::string & tagTypeName,
const std::string & data,
bool unique = false )

◆ CreateUserFunctionTag() [1/2]

Ref< Tag > Function::CreateUserFunctionTag ( const std::string & tagTypeName,
const std::string & data,
bool unique = false )

◆ CreateAutoAddressTag() [2/2]

Ref< Tag > Function::CreateAutoAddressTag ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType,
const std::string & data,
bool unique = false )

◆ CreateUserAddressTag() [2/2]

Ref< Tag > Function::CreateUserAddressTag ( Architecture * arch,
uint64_t addr,
Ref< TagType > tagType,
const std::string & data,
bool unique = false )

◆ CreateAutoFunctionTag() [2/2]

Ref< Tag > Function::CreateAutoFunctionTag ( Ref< TagType > tagType,
const std::string & data,
bool unique = false )

◆ CreateUserFunctionTag() [2/2]

Ref< Tag > Function::CreateUserFunctionTag ( Ref< TagType > tagType,
const std::string & data,
bool unique = false )

◆ Reanalyze()

void Function::Reanalyze ( BNFunctionUpdateType type = UserFunctionUpdate)

◆ MarkUpdatesRequired()

void Function::MarkUpdatesRequired ( BNFunctionUpdateType type = UserFunctionUpdate)

◆ MarkCallerUpdatesRequired()

void Function::MarkCallerUpdatesRequired ( BNFunctionUpdateType type = UserFunctionUpdate)

◆ GetWorkflow()

Ref< Workflow > Function::GetWorkflow ( )

◆ RequestAdvancedAnalysisData()

void Function::RequestAdvancedAnalysisData ( )

◆ ReleaseAdvancedAnalysisData() [1/2]

void Function::ReleaseAdvancedAnalysisData ( )

◆ ReleaseAdvancedAnalysisData() [2/2]

void BinaryNinja::Function::ReleaseAdvancedAnalysisData ( size_t count)

◆ GetAnalysisPerformanceInfo()

map< string, double > Function::GetAnalysisPerformanceInfo ( )

◆ GetTypeTokens()

vector< DisassemblyTextLine > Function::GetTypeTokens ( DisassemblySettings * settings = nullptr)

◆ GetGlobalPointerValue()

Confidence< RegisterValue > Function::GetGlobalPointerValue ( ) const

◆ UsesIncomingGlobalPointer()

bool Function::UsesIncomingGlobalPointer ( ) const

◆ GetRegisterValueAtExit()

Confidence< RegisterValue > Function::GetRegisterValueAtExit ( uint32_t reg) const

◆ IsFunctionTooLarge()

bool Function::IsFunctionTooLarge ( )

Whether the function is too large to automatically perform analysis.

Returns
Whether the function is too large to automatically perform analysis

◆ IsAnalysisSkipped()

bool Function::IsAnalysisSkipped ( )

Whether automatic analysis was skipped for this function.

Returns
Whether automatic analysis was skipped for this function.

◆ GetAnalysisSkipReason()

BNAnalysisSkipReason Function::GetAnalysisSkipReason ( )

◆ GetAnalysisSkipOverride()

BNFunctionAnalysisSkipOverride Function::GetAnalysisSkipOverride ( )

◆ SetAnalysisSkipOverride()

void Function::SetAnalysisSkipOverride ( BNFunctionAnalysisSkipOverride skip)

◆ GetUnresolvedStackAdjustmentGraph()

Ref< FlowGraph > Function::GetUnresolvedStackAdjustmentGraph ( )

◆ SetUserVariableValue()

void Function::SetUserVariableValue ( const Variable & var,
uint64_t defAddr,
PossibleValueSet & value )

◆ ClearUserVariableValue()

void Function::ClearUserVariableValue ( const Variable & var,
uint64_t defAddr )

◆ GetAllUserVariableValues()

map< Variable, map< ArchAndAddr, PossibleValueSet > > Function::GetAllUserVariableValues ( )

◆ ClearAllUserVariableValues()

void Function::ClearAllUserVariableValues ( )

◆ RequestDebugReport()

void Function::RequestDebugReport ( const std::string & name)

◆ GetGotoLabelName()

string Function::GetGotoLabelName ( uint64_t labelId)

Get the name for a given label ID.

Parameters
labelIdID For the label. Saved in the highlight token value.
Returns
Name for the label

◆ SetGotoLabelName()

void Function::SetGotoLabelName ( uint64_t labelId,
const std::string & name )

Set the name for a given label ID.

Parameters
labelIdID For the label. Saved in the highlight token value.
nameNew name for the label

◆ GetVariableDeadStoreElimination()

BNDeadStoreElimination Function::GetVariableDeadStoreElimination ( const Variable & var)

◆ SetVariableDeadStoreElimination()

void Function::SetVariableDeadStoreElimination ( const Variable & var,
BNDeadStoreElimination mode )

◆ GetMergedVariables()

std::map< Variable, std::set< Variable > > Function::GetMergedVariables ( )

◆ MergeVariables()

void Function::MergeVariables ( const Variable & target,
const std::set< Variable > & sources )

◆ UnmergeVariables()

void Function::UnmergeVariables ( const Variable & target,
const std::set< Variable > & sources )

◆ GetSplitVariables()

std::set< Variable > Function::GetSplitVariables ( )

◆ SplitVariable()

void Function::SplitVariable ( const Variable & var)

◆ UnsplitVariable()

void Function::UnsplitVariable ( const Variable & var)

◆ GetHighestAddress()

uint64_t Function::GetHighestAddress ( )

The highest (largest) virtual address contained in a function.

Returns
The highest (largest) virtual address contained in a function.

◆ GetLowestAddress()

uint64_t Function::GetLowestAddress ( )

The lowest (smallest) virtual address contained in a function.

Returns
The lowest (smallest) virtual address contained in a function.

◆ GetAddressRanges()

std::vector< BNAddressRange > Function::GetAddressRanges ( )

All of the address ranges covered by a function.

Returns
All of the address ranges covered by a function

◆ GetInstructionContainingAddress()

bool Function::GetInstructionContainingAddress ( Architecture * arch,
uint64_t addr,
uint64_t * start )

◆ IsInlinedDuringAnalysis()

Confidence< bool > Function::IsInlinedDuringAnalysis ( )

◆ SetAutoInlinedDuringAnalysis()

void Function::SetAutoInlinedDuringAnalysis ( Confidence< bool > inlined)

◆ SetUserInlinedDuringAnalysis()

void Function::SetUserInlinedDuringAnalysis ( Confidence< bool > inlined)

◆ IsInstructionCollapsed()

bool Function::IsInstructionCollapsed ( const HighLevelILInstruction & instr,
uint64_t designator = 0 ) const

◆ IsCollapsed()

bool Function::IsCollapsed ( ) const

◆ ToggleRegion()

void Function::ToggleRegion ( uint64_t hash)

◆ CollapseRegion()

void Function::CollapseRegion ( uint64_t hash)

◆ ExpandRegion()

void Function::ExpandRegion ( uint64_t hash)

◆ ExpandAll()

void Function::ExpandAll ( )

◆ BinaryNinja::AdvancedFunctionAnalysisDataRequestor

class BinaryNinja::AdvancedFunctionAnalysisDataRequestor

Public Member Functions

 AdvancedFunctionAnalysisDataRequestor (Function *func=nullptr)
 
 AdvancedFunctionAnalysisDataRequestor (const AdvancedFunctionAnalysisDataRequestor &req)
 
 ~AdvancedFunctionAnalysisDataRequestor ()
 
AdvancedFunctionAnalysisDataRequestoroperator= (const AdvancedFunctionAnalysisDataRequestor &req)
 
Ref< FunctionGetFunction ()
 
void SetFunction (Function *func)
 

Constructor & Destructor Documentation

◆ AdvancedFunctionAnalysisDataRequestor() [1/2]

AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor ( Function * func = nullptr)

◆ AdvancedFunctionAnalysisDataRequestor() [2/2]

AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor ( const AdvancedFunctionAnalysisDataRequestor & req)

◆ ~AdvancedFunctionAnalysisDataRequestor()

AdvancedFunctionAnalysisDataRequestor::~AdvancedFunctionAnalysisDataRequestor ( )

Member Function Documentation

◆ operator=()

AdvancedFunctionAnalysisDataRequestor & AdvancedFunctionAnalysisDataRequestor::operator= ( const AdvancedFunctionAnalysisDataRequestor & req)

◆ GetFunction()

Ref< Function > BinaryNinja::AdvancedFunctionAnalysisDataRequestor::GetFunction ( )
inline

◆ SetFunction()

void AdvancedFunctionAnalysisDataRequestor::SetFunction ( Function * func)