|
decompiler
1.0.0
|
An operation that writes to volatile memory. More...
#include <userop.hh>
Public Member Functions | |
| VolatileWriteOp (Architecture *g, const string &nm, int4 ind, bool functional) | |
| Constructor. | |
| virtual string | getOperatorName (const PcodeOp *op) const |
| Get the symbol representing this operation in decompiled code. More... | |
| virtual int4 | extractAnnotationSize (const Varnode *vn, const PcodeOp *op) |
| Assign a size to an annotation input to this userop. More... | |
Public Member Functions inherited from ghidra::VolatileOp | |
| VolatileOp (Architecture *g, const string &nm, int4 ind) | |
| Constructor. | |
| virtual void | decode (Decoder &decoder) |
| Currently volatile ops only need their name. | |
Public Member Functions inherited from ghidra::UserPcodeOp | |
| UserPcodeOp (Architecture *g, const string &nm, int4 ind) | |
| Construct from name and index. | |
| const string & | getName (void) const |
| Get the low-level name of the p-code op. | |
| int4 | getIndex (void) const |
| Get the constant id of the op. | |
| uint4 | getDisplay (void) const |
| Get display type (0=functional) | |
| virtual | ~UserPcodeOp (void) |
| Destructor. | |
Additional Inherited Members | |
Public Types inherited from ghidra::UserPcodeOp | |
| enum | userop_flags { annotation_assignment = 1, no_operator = 2 } |
| Enumeration of different boolean properties that can be assigned to a CALLOTHER. More... | |
Static Protected Member Functions inherited from ghidra::VolatileOp | |
| static string | appendSize (const string &base, int4 size) |
| Append a suffix to a string encoding a specific size. More... | |
Protected Attributes inherited from ghidra::UserPcodeOp | |
| string | name |
| Low-level name of p-code operator. | |
| int4 | useropindex |
| Index passed in the CALLOTHER op. | |
| Architecture * | glb |
| Architecture owning the user defined op. | |
| uint4 | flags |
| Boolean attributes of the CALLOTHER. | |
An operation that writes to volatile memory.
This CALLOTHER p-code operation takes as its input parameters:
|
virtual |
Assign a size to an annotation input to this userop.
Assuming an annotation refers to a special symbol accessed by this operation, retrieve the size (in bytes) of the symbol, which isn't ordinarily stored as part of the annotation.
Reimplemented from ghidra::UserPcodeOp.
References ghidra::PcodeOp::getIn(), and ghidra::Varnode::getSize().
|
virtual |
Get the symbol representing this operation in decompiled code.
This will return the symbol formally displayed in source code, which can be tailored more than the low-level name
| op | is the operation (in context) where a symbol is needed |
Reimplemented from ghidra::UserPcodeOp.
References ghidra::PcodeOp::getIn(), ghidra::Varnode::getSize(), ghidra::UserPcodeOp::name, and ghidra::PcodeOp::numInput().
1.8.13