From 08e34ac325743085911f96b62c81d9a1f2127806 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Mon, 27 Apr 2026 16:39:21 -0400 Subject: Extend MLIL call instruction outputs to be expressions --- binaryninjaapi.h | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index bc36f633..88d43f4e 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -15695,6 +15695,7 @@ namespace BinaryNinja { const ILSourceLocation& loc = ILSourceLocation()); ExprId VarSplitSSA(size_t size, const SSAVariable& high, const SSAVariable& low, const ILSourceLocation& loc = ILSourceLocation()); + ExprId VarOutputSSA(size_t size, const SSAVariable& dest, const ILSourceLocation& loc = ILSourceLocation()); ExprId AddressOf(const Variable& var, const ILSourceLocation& loc = ILSourceLocation()); ExprId AddressOfField(const Variable& var, uint64_t offset, const ILSourceLocation& loc = ILSourceLocation()); ExprId Const(size_t size, uint64_t val, const ILSourceLocation& loc = ILSourceLocation()); @@ -15752,35 +15753,36 @@ namespace BinaryNinja { ExprId JumpTo(ExprId dest, const std::map& targets, const ILSourceLocation& loc = ILSourceLocation()); ExprId ReturnHint(ExprId dest, const ILSourceLocation& loc = ILSourceLocation()); - ExprId Call(const std::vector& output, ExprId dest, const std::vector& params, + ExprId Call(const std::vector& output, ExprId dest, const std::vector& params, const ILSourceLocation& loc = ILSourceLocation()); - ExprId CallUntyped(const std::vector& output, ExprId dest, const std::vector& params, + ExprId CallUntyped(const std::vector& output, ExprId dest, const std::vector& params, ExprId stack, const ILSourceLocation& loc = ILSourceLocation()); - ExprId Syscall(const std::vector& output, const std::vector& params, + ExprId Syscall(const std::vector& output, const std::vector& params, const ILSourceLocation& loc = ILSourceLocation()); - ExprId SyscallUntyped(const std::vector& output, const std::vector& params, ExprId stack, + ExprId SyscallUntyped(const std::vector& output, const std::vector& params, ExprId stack, const ILSourceLocation& loc = ILSourceLocation()); - ExprId TailCall(const std::vector& output, ExprId dest, const std::vector& params, + ExprId TailCall(const std::vector& output, ExprId dest, const std::vector& params, const ILSourceLocation& loc = ILSourceLocation()); - ExprId TailCallUntyped(const std::vector& output, ExprId dest, const std::vector& params, + ExprId TailCallUntyped(const std::vector& output, ExprId dest, const std::vector& params, ExprId stack, const ILSourceLocation& loc = ILSourceLocation()); - ExprId CallSSA(const std::vector& output, ExprId dest, const std::vector& params, + ExprId CallSSA(const std::vector& output, ExprId dest, const std::vector& params, size_t newMemVersion, size_t prevMemVersion, const ILSourceLocation& loc = ILSourceLocation()); - ExprId CallUntypedSSA(const std::vector& output, ExprId dest, const std::vector& params, + ExprId CallUntypedSSA(const std::vector& output, ExprId dest, const std::vector& params, size_t newMemVersion, size_t prevMemVersion, ExprId stack, const ILSourceLocation& loc = ILSourceLocation()); - ExprId SyscallSSA(const std::vector& output, const std::vector& params, + ExprId SyscallSSA(const std::vector& output, const std::vector& params, size_t newMemVersion, size_t prevMemVersion, const ILSourceLocation& loc = ILSourceLocation()); - ExprId SyscallUntypedSSA(const std::vector& output, const std::vector& params, + ExprId SyscallUntypedSSA(const std::vector& output, const std::vector& params, size_t newMemVersion, size_t prevMemVersion, ExprId stack, const ILSourceLocation& loc = ILSourceLocation()); - ExprId TailCallSSA(const std::vector& output, ExprId dest, const std::vector& params, + ExprId TailCallSSA(const std::vector& output, ExprId dest, const std::vector& params, size_t newMemVersion, size_t prevMemVersion, const ILSourceLocation& loc = ILSourceLocation()); - ExprId TailCallUntypedSSA(const std::vector& output, ExprId dest, + ExprId TailCallUntypedSSA(const std::vector& output, ExprId dest, const std::vector& params, size_t newMemVersion, size_t prevMemVersion, ExprId stack, const ILSourceLocation& loc = ILSourceLocation()); ExprId SeparateParamList(const std::vector& params, const ILSourceLocation& loc = ILSourceLocation()); ExprId SharedParamSlot(const std::vector& params, const ILSourceLocation& loc = ILSourceLocation()); + ExprId VarOutput(size_t size, const Variable& var, const ILSourceLocation& loc = ILSourceLocation()); ExprId Return(const std::vector& sources, const ILSourceLocation& loc = ILSourceLocation()); ExprId NoReturn(const ILSourceLocation& loc = ILSourceLocation()); ExprId CompareEqual(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation()); -- cgit v1.3.1