Skip to content
Snippets Groups Projects
Commit 134c7474 authored by Jason Hiser's avatar Jason Hiser :tractor:
Browse files

Merge branch 'libkeystone-integrate' into 'master'

Add functions to rewrite_util.hpp

See merge request opensrc/irdb-sdk!1
parents 04a7a1c0 d30dffda
No related tags found
No related merge requests found
......@@ -24,6 +24,29 @@ namespace IRDB_SDK
extern Instruction_t* insertAssemblyBefore (FileIR_t* firp, Instruction_t* before, string assembly, Instruction_t *target=nullptr);
extern Instruction_t* insertAssemblyAfter (FileIR_t* firp, Instruction_t* after , string assembly, Instruction_t *target=nullptr);
/*
* The insertAssemblyInstructionsBefore function takes in a group of (semicolon-seperated) assembly statements and inserts them into the
* program before the "before" instruction.
* Param: firp -- The current FileIR_t object
* before -- The instruction that the new instructions will be inserted before
* instructions -- The assembly to be inserted. Typical assembly formatting applies: instructions
* start on new lines, defined labels are allowed. For x86, the format must be in NASM style assembly.
* Returns: A vector of the newly inserted instructions.
* Side Effect: The new instructions are inserted into the IRDB data structures.
*/
extern std::vector<Instruction_t*> insertAssemblyInstructionsBefore (FileIR_t* firp, Instruction_t* before, string instructions, Instruction_t *target=nullptr);
/*
* The insertAssemblyInstructionsAfter function takes in a group of (semicolon-seperated) assembly statements and inserts them into the
* program after the "after" instruction.
* Param: firp -- The current FileIR_t object
* after -- The instruction that the new instructions will be inserted after
* instructions -- The assembly to be inserted. Typical assembly formatting applies: instructions
* start on new lines, defined labels are allowed. For x86, the format must be in NASM style assembly.
* Returns: A vector of the newly inserted instructions.
* Side Effect: The new instructions are inserted into the IRDB data structures.
*/
extern std::vector<Instruction_t*> insertAssemblyInstructionsAfter (FileIR_t* firp, Instruction_t* after , string instructions, Instruction_t *target=nullptr);
extern Instruction_t* insertDataBitsBefore (FileIR_t* firp, Instruction_t* before, string dataBits, Instruction_t *target=nullptr);
extern Instruction_t* insertDataBitsAfter (FileIR_t* firp, Instruction_t* after , string dataBits, Instruction_t *target=nullptr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment