summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2017-03-07 02:38:09 -0500
committerRusty Wagner <rusty@vector35.com>2017-03-07 02:38:09 -0500
commit3a95d0ae05e21775042176b8f688bafeb3f6d80f (patch)
tree371d67bd4d5e86b0158e5c01e65038eda213f796 /binaryninjaapi.h
parent7aab4e4a3f8f2daadd1fbd00259da5b01090d84c (diff)
Add outputs and parameters for call and return, handle aliasing
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index e3ba4968..f63deee1 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -2201,20 +2201,25 @@ namespace BinaryNinja
size_t GetInstructionStart(Architecture* arch, uint64_t addr);
ExprId AddExpr(BNMediumLevelILOperation operation, size_t size,
- ExprId a = 0, ExprId b = 0, ExprId c = 0, ExprId d = 0, ExprId e = 0);
+ ExprId a = 0, ExprId b = 0, ExprId c = 0, ExprId d = 0, ExprId e = 0, ExprId f = 0);
ExprId AddInstruction(ExprId expr);
ExprId SetVar(size_t size, const BNILVariable& var, ExprId src);
ExprId SetVarField(size_t size, const BNILVariable& var, int64_t offset, ExprId src);
ExprId SetVarSplit(size_t size, const BNILVariable& high, const BNILVariable& low, ExprId src);
ExprId SetVarSSA(size_t size, const BNILVariable& var, size_t index, ExprId src);
- ExprId SetVarFieldSSA(size_t size, const BNILVariable& var, int64_t offset, size_t varIndex, ExprId src);
+ ExprId SetVarFieldSSA(size_t size, const BNILVariable& var, size_t varIndex, int64_t offset, ExprId src);
ExprId SetVarSplitSSA(size_t size, const BNILVariable& high, size_t highIndex,
const BNILVariable& low, size_t lowIndex, ExprId src);
+ ExprId SetVarAliased(size_t size, const BNILVariable& var, size_t destIndex, size_t srcIndex, ExprId src);
+ ExprId SetVarFieldAliased(size_t size, const BNILVariable& var, size_t destIndex, size_t srcIndex,
+ int64_t offset, ExprId src);
ExprId Var(size_t size, const BNILVariable& var);
ExprId VarField(size_t size, const BNILVariable& var, int64_t offset);
ExprId VarSSA(size_t size, const BNILVariable& var, size_t index);
ExprId VarFieldSSA(size_t size, const BNILVariable& var, int64_t offset, size_t varIndex);
+ ExprId VarAliased(size_t size, const BNILVariable& var, size_t memIndex);
+ ExprId VarFieldAliased(size_t size, const BNILVariable& var, int64_t offset, size_t memIndex);
ExprId AddressOf(size_t size, const BNILVariable& var);
ExprId AddressOfField(size_t size, const BNILVariable& var, int64_t offset);