diff options
| author | KyleMiles <krm504@nyu.edu> | 2022-09-22 13:43:46 -0400 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2022-09-22 13:49:36 -0400 |
| commit | bdf05c261bd1c24f0440c17e10b983b50613bc20 (patch) | |
| tree | 8a6ee0c5b801b60028d22bea7f31af38bd9da0eb /binaryninjaapi.h | |
| parent | e95b220ef18c9dd9e1aecab32b735ff47237f9c7 (diff) | |
Add new DebugInfo APIs
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 752b9c52..5c04816b 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -11933,9 +11933,31 @@ namespace BinaryNinja { public: DebugInfo(BNDebugInfo* debugInfo); - std::vector<NameAndType> GetTypes(const std::string& parserName = ""); - std::vector<DebugFunctionInfo> GetFunctions(const std::string& parserName = ""); - std::vector<DataVariableAndName> GetDataVariables(const std::string& parserName = ""); + std::vector<std::string> GetParsers() const; + + std::vector<NameAndType> GetTypes(const std::string& parserName = "") const; + std::vector<DebugFunctionInfo> GetFunctions(const std::string& parserName = "") const; + std::vector<DataVariableAndName> GetDataVariables(const std::string& parserName = "") const; + + Ref<Type> GetTypeByName(const std::string& parserName, const std::string& name) const; + std::optional<std::tuple<uint64_t, Ref<Type>>> GetDataVariableByName( + const std::string& parserName, const std::string& name) const; + std::optional<std::tuple<std::string, Ref<Type>>> GetDataVariableByAddress( + const std::string& parserName, const uint64_t address) const; + + std::vector<std::tuple<std::string, Ref<Type>>> GetTypesByName(const std::string& name) const; + std::vector<std::tuple<std::string, uint64_t, Ref<Type>>> GetDataVariablesByName(const std::string& name) const; + std::vector<std::tuple<std::string, std::string, Ref<Type>>> GetDataVariablesByAddress( + const uint64_t address) const; + + bool RemoveParserInfo(const std::string& parserName); + bool RemoveParserTypes(const std::string& parserName); + bool RemoveParserFunctions(const std::string& parserName); + bool RemoveParserDataVariables(const std::string& parserName); + + bool RemoveTypeByName(const std::string& parserName, const std::string& name); + bool RemoveFunctionByIndex(const std::string& parserName, const size_t index); + bool RemoveDataVariableByAddress(const std::string& parserName, const uint64_t address); bool AddType(const std::string& name, Ref<Type> type); bool AddFunction(const DebugFunctionInfo& function); |
