Package ghidra.pcode.emu.sys
Class EmuSyscallLibrary.SyscallPcodeUseropDefinition<T>
java.lang.Object
ghidra.pcode.emu.sys.EmuSyscallLibrary.SyscallPcodeUseropDefinition<T>
- Type Parameters:
T
- the type of data processed by the userop, typicallybyte[]
- All Implemented Interfaces:
PcodeUseropLibrary.PcodeUseropDefinition<T>
- Enclosing interface:
EmuSyscallLibrary<T>
public static final class EmuSyscallLibrary.SyscallPcodeUseropDefinition<T>
extends Object
implements PcodeUseropLibrary.PcodeUseropDefinition<T>
The
EmuSyscallLibrary.syscall(PcodeExecutor, PcodeUseropLibrary)
method wrapped as a
userop definition-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
execute
(PcodeExecutor<T> executor, PcodeUseropLibrary<T> library, Varnode outVar, List<Varnode> inVars) Invoke/execute the userop.int
Get the number of input operands acccepted by the userop.getName()
Get the name of the userop.
-
Constructor Details
-
SyscallPcodeUseropDefinition
-
-
Method Details
-
getName
Description copied from interface:PcodeUseropLibrary.PcodeUseropDefinition
Get the name of the userop.This is the symbol assigned to the userop when compiling new Sleigh code. It cannot conflict with existing userops (except those declared, but not defined, by the executor's language) or other symbols of the executor's language. If this userop is to be used generically across many languages, choose an unlikely name. Conventionally, these start with two underscores
__
.- Specified by:
getName
in interfacePcodeUseropLibrary.PcodeUseropDefinition<T>
- Returns:
- the name of the userop
-
getInputCount
public int getInputCount()Description copied from interface:PcodeUseropLibrary.PcodeUseropDefinition
Get the number of input operands acccepted by the userop.- Specified by:
getInputCount
in interfacePcodeUseropLibrary.PcodeUseropDefinition<T>
- Returns:
- the count or -1 if the userop is variadic
-
execute
public void execute(PcodeExecutor<T> executor, PcodeUseropLibrary<T> library, Varnode outVar, List<Varnode> inVars) Description copied from interface:PcodeUseropLibrary.PcodeUseropDefinition
Invoke/execute the userop.- Specified by:
execute
in interfacePcodeUseropLibrary.PcodeUseropDefinition<T>
- Parameters:
executor
- the executor invoking this userop.library
- the complete library for this execution. Note the library may have been composed from more than the one defining this userop.outVar
- if invoked as an rval, the destination varnode for the userop's output. Otherwise,null
.inVars
- the input varnodes as ordered in the source.- See Also:
-