From 83c9c2bceeb354dcf53e338e9411c6636f418123 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Wed, 7 Feb 2018 17:18:27 -0500 Subject: Add APIs for overriding stack adjustments on calls --- binaryninjaapi.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 650299ed..d7535184 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -2329,6 +2329,21 @@ namespace BinaryNinja std::vector GetIndirectBranches(); std::vector GetIndirectBranchesAt(Architecture* arch, uint64_t addr); + void SetAutoCallStackAdjustment(Architecture* arch, uint64_t addr, const Confidence& adjust); + void SetAutoCallRegisterStackAdjustment(Architecture* arch, uint64_t addr, + const std::map>& adjust); + void SetAutoCallRegisterStackAdjustment(Architecture* arch, uint64_t addr, uint32_t regStack, + const Confidence& adjust); + void SetUserCallStackAdjustment(Architecture* arch, uint64_t addr, const Confidence& adjust); + void SetUserCallRegisterStackAdjustment(Architecture* arch, uint64_t addr, + const std::map>& adjust); + void SetUserCallRegisterStackAdjustment(Architecture* arch, uint64_t addr, uint32_t regStack, + const Confidence& adjust); + + Confidence GetCallStackAdjustment(Architecture* arch, uint64_t addr); + std::map> GetCallRegisterStackAdjustment(Architecture* arch, uint64_t addr); + Confidence GetCallRegisterStackAdjustment(Architecture* arch, uint64_t addr, uint32_t regStack); + std::vector> GetBlockAnnotations(Architecture* arch, uint64_t addr); BNIntegerDisplayType GetIntegerConstantDisplayType(Architecture* arch, uint64_t instrAddr, uint64_t value, -- cgit v1.3.1