diff options
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 61 |
1 files changed, 45 insertions, 16 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 9e8f516c..47490857 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -612,6 +612,41 @@ namespace BinaryNinja Ref<Architecture> arch; uint64_t addr; }; + + struct InstructionTextToken + { + BNInstructionTextTokenType type; + std::string text; + uint64_t value; + + InstructionTextToken(); + InstructionTextToken(BNInstructionTextTokenType type, const std::string& text, uint64_t value = 0); + }; + + struct DisassemblyTextLine + { + uint64_t addr; + std::vector<InstructionTextToken> tokens; + }; + + struct LinearDisassemblyPosition + { + Ref<Function> function; + Ref<BasicBlock> block; + uint64_t address; + }; + + struct LinearDisassemblyLine + { + BNLinearDisassemblyLineType type; + Ref<Function> function; + Ref<BasicBlock> block; + size_t lineOffset; + DisassemblyTextLine contents; + }; + + class DisassemblySettings; + class AnalysisCompletionEvent: public CoreRefCountObject<BNAnalysisCompletionEvent, BNNewAnalysisCompletionEventReference, BNFreeAnalysisCompletionEvent> { @@ -811,6 +846,16 @@ namespace BinaryNinja Ref<AnalysisCompletionEvent> AddAnalysisCompletionEvent(const std::function<void()>& callback); BNAnalysisProgress GetAnalysisProgress(); + + uint64_t GetNextFunctionStartAfterAddress(uint64_t addr); + uint64_t GetNextBasicBlockStartAfterAddress(uint64_t addr); + uint64_t GetNextDataAfterAddress(uint64_t addr); + + LinearDisassemblyPosition GetLinearDisassemblyPositionForAddress(uint64_t addr); + std::vector<LinearDisassemblyLine> GetPreviousLinearDisassemblyLines(LinearDisassemblyPosition& pos, + DisassemblySettings* settings); + std::vector<LinearDisassemblyLine> GetNextLinearDisassemblyLines(LinearDisassemblyPosition& pos, + DisassemblySettings* settings); }; class BinaryData: public BinaryView @@ -1035,16 +1080,6 @@ namespace BinaryNinja void AddBranch(BNBranchType type, uint64_t target = 0, Architecture* arch = nullptr, bool hasDelaySlot = false); }; - struct InstructionTextToken - { - BNInstructionTextTokenType type; - std::string text; - uint64_t value; - - InstructionTextToken(); - InstructionTextToken(BNInstructionTextTokenType type, const std::string& text, uint64_t value = 0); - }; - class LowLevelILFunction; class FunctionRecognizer; class CallingConvention; @@ -1396,12 +1431,6 @@ namespace BinaryNinja void SetMaximumSymbolWidth(size_t width); }; - struct DisassemblyTextLine - { - uint64_t addr; - std::vector<InstructionTextToken> tokens; - }; - class Function; struct BasicBlockEdge |
