LLVM 22.0.0git
Public Types | Public Member Functions | List of all members
llvm::orc::MemoryAccess Class Referenceabstract

APIs for manipulating memory in the target process. More...

#include "llvm/ExecutionEngine/Orc/MemoryAccess.h"

Inheritance diagram for llvm::orc::MemoryAccess:
[legend]

Public Types

using WriteResultFn = unique_function< void(Error)>
 Callback function for asynchronous writes.
 
template<typename T >
using ReadUIntsResult = std::vector< T >
 
template<typename T >
using OnReadUIntsCompleteFn = unique_function< void(Expected< ReadUIntsResult< T > >)>
 
using ReadPointersResult = std::vector< ExecutorAddr >
 
using OnReadPointersCompleteFn = unique_function< void(Expected< ReadPointersResult >)>
 
using ReadBuffersResult = std::vector< std::vector< uint8_t > >
 
using OnReadBuffersCompleteFn = unique_function< void(Expected< ReadBuffersResult >)>
 
using ReadStringsResult = std::vector< std::string >
 
using OnReadStringsCompleteFn = unique_function< void(Expected< ReadStringsResult >)>
 

Public Member Functions

virtual ~MemoryAccess ()
 
virtual void writeUInt8sAsync (ArrayRef< tpctypes::UInt8Write > Ws, WriteResultFn OnWriteComplete)=0
 
virtual void writeUInt16sAsync (ArrayRef< tpctypes::UInt16Write > Ws, WriteResultFn OnWriteComplete)=0
 
virtual void writeUInt32sAsync (ArrayRef< tpctypes::UInt32Write > Ws, WriteResultFn OnWriteComplete)=0
 
virtual void writeUInt64sAsync (ArrayRef< tpctypes::UInt64Write > Ws, WriteResultFn OnWriteComplete)=0
 
virtual void writePointersAsync (ArrayRef< tpctypes::PointerWrite > Ws, WriteResultFn OnWriteComplete)=0
 
virtual void writeBuffersAsync (ArrayRef< tpctypes::BufferWrite > Ws, WriteResultFn OnWriteComplete)=0
 
virtual void readUInt8sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint8_t > OnComplete)=0
 
virtual void readUInt16sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint16_t > OnComplete)=0
 
virtual void readUInt32sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint32_t > OnComplete)=0
 
virtual void readUInt64sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint64_t > OnComplete)=0
 
virtual void readPointersAsync (ArrayRef< ExecutorAddr > Rs, OnReadPointersCompleteFn OnComplete)=0
 
virtual void readBuffersAsync (ArrayRef< ExecutorAddrRange > Rs, OnReadBuffersCompleteFn OnComplete)=0
 
virtual void readStringsAsync (ArrayRef< ExecutorAddr > Rs, OnReadStringsCompleteFn OnComplete)=0
 
Error writeUInt8s (ArrayRef< tpctypes::UInt8Write > Ws)
 
Error writeUInt16s (ArrayRef< tpctypes::UInt16Write > Ws)
 
Error writeUInt32s (ArrayRef< tpctypes::UInt32Write > Ws)
 
Error writeUInt64s (ArrayRef< tpctypes::UInt64Write > Ws)
 
Error writePointers (ArrayRef< tpctypes::PointerWrite > Ws)
 
Error writeBuffers (ArrayRef< tpctypes::BufferWrite > Ws)
 
Expected< ReadUIntsResult< uint8_t > > readUInt8s (ArrayRef< ExecutorAddr > Rs)
 
Expected< ReadUIntsResult< uint16_t > > readUInt16s (ArrayRef< ExecutorAddr > Rs)
 
Expected< ReadUIntsResult< uint32_t > > readUInt32s (ArrayRef< ExecutorAddr > Rs)
 
Expected< ReadUIntsResult< uint64_t > > readUInt64s (ArrayRef< ExecutorAddr > Rs)
 
Expected< ReadPointersResultreadPointers (ArrayRef< ExecutorAddr > Rs)
 
Expected< ReadBuffersResultreadBuffers (ArrayRef< ExecutorAddrRange > Rs)
 
Expected< ReadStringsResultreadStrings (ArrayRef< ExecutorAddr > Rs)
 

Detailed Description

APIs for manipulating memory in the target process.

Definition at line 26 of file MemoryAccess.h.

Member Typedef Documentation

◆ OnReadBuffersCompleteFn

Definition at line 41 of file MemoryAccess.h.

◆ OnReadPointersCompleteFn

Definition at line 37 of file MemoryAccess.h.

◆ OnReadStringsCompleteFn

Definition at line 45 of file MemoryAccess.h.

◆ OnReadUIntsCompleteFn

Definition at line 33 of file MemoryAccess.h.

◆ ReadBuffersResult

using llvm::orc::MemoryAccess::ReadBuffersResult = std::vector<std::vector<uint8_t> >

Definition at line 40 of file MemoryAccess.h.

◆ ReadPointersResult

Definition at line 36 of file MemoryAccess.h.

◆ ReadStringsResult

using llvm::orc::MemoryAccess::ReadStringsResult = std::vector<std::string>

Definition at line 44 of file MemoryAccess.h.

◆ ReadUIntsResult

template<typename T >
using llvm::orc::MemoryAccess::ReadUIntsResult = std::vector<T>

Definition at line 31 of file MemoryAccess.h.

◆ WriteResultFn

Callback function for asynchronous writes.

Definition at line 29 of file MemoryAccess.h.

Constructor & Destructor Documentation

◆ ~MemoryAccess()

llvm::orc::MemoryAccess::~MemoryAccess ( )
virtualdefault

Member Function Documentation

◆ readBuffers()

Expected< ReadBuffersResult > llvm::orc::MemoryAccess::readBuffers ( ArrayRef< ExecutorAddrRange Rs)
inline

Definition at line 176 of file MemoryAccess.h.

References P.

◆ readBuffersAsync()

virtual void llvm::orc::MemoryAccess::readBuffersAsync ( ArrayRef< ExecutorAddrRange Rs,
OnReadBuffersCompleteFn  OnComplete 
)
pure virtual

◆ readPointers()

Expected< ReadPointersResult > llvm::orc::MemoryAccess::readPointers ( ArrayRef< ExecutorAddr Rs)
inline

Definition at line 168 of file MemoryAccess.h.

References P.

◆ readPointersAsync()

virtual void llvm::orc::MemoryAccess::readPointersAsync ( ArrayRef< ExecutorAddr Rs,
OnReadPointersCompleteFn  OnComplete 
)
pure virtual

◆ readStrings()

Expected< ReadStringsResult > llvm::orc::MemoryAccess::readStrings ( ArrayRef< ExecutorAddr Rs)
inline

Definition at line 184 of file MemoryAccess.h.

References P.

◆ readStringsAsync()

virtual void llvm::orc::MemoryAccess::readStringsAsync ( ArrayRef< ExecutorAddr Rs,
OnReadStringsCompleteFn  OnComplete 
)
pure virtual

◆ readUInt16s()

Expected< ReadUIntsResult< uint16_t > > llvm::orc::MemoryAccess::readUInt16s ( ArrayRef< ExecutorAddr Rs)
inline

Definition at line 144 of file MemoryAccess.h.

References P.

◆ readUInt16sAsync()

virtual void llvm::orc::MemoryAccess::readUInt16sAsync ( ArrayRef< ExecutorAddr Rs,
OnReadUIntsCompleteFn< uint16_t OnComplete 
)
pure virtual

◆ readUInt32s()

Expected< ReadUIntsResult< uint32_t > > llvm::orc::MemoryAccess::readUInt32s ( ArrayRef< ExecutorAddr Rs)
inline

Definition at line 152 of file MemoryAccess.h.

References P.

◆ readUInt32sAsync()

virtual void llvm::orc::MemoryAccess::readUInt32sAsync ( ArrayRef< ExecutorAddr Rs,
OnReadUIntsCompleteFn< uint32_t OnComplete 
)
pure virtual

◆ readUInt64s()

Expected< ReadUIntsResult< uint64_t > > llvm::orc::MemoryAccess::readUInt64s ( ArrayRef< ExecutorAddr Rs)
inline

Definition at line 160 of file MemoryAccess.h.

References P.

◆ readUInt64sAsync()

virtual void llvm::orc::MemoryAccess::readUInt64sAsync ( ArrayRef< ExecutorAddr Rs,
OnReadUIntsCompleteFn< uint64_t OnComplete 
)
pure virtual

◆ readUInt8s()

Expected< ReadUIntsResult< uint8_t > > llvm::orc::MemoryAccess::readUInt8s ( ArrayRef< ExecutorAddr Rs)
inline

Definition at line 136 of file MemoryAccess.h.

References P.

◆ readUInt8sAsync()

virtual void llvm::orc::MemoryAccess::readUInt8sAsync ( ArrayRef< ExecutorAddr Rs,
OnReadUIntsCompleteFn< uint8_t OnComplete 
)
pure virtual

◆ writeBuffers()

Error llvm::orc::MemoryAccess::writeBuffers ( ArrayRef< tpctypes::BufferWrite Ws)
inline

Definition at line 128 of file MemoryAccess.h.

◆ writeBuffersAsync()

virtual void llvm::orc::MemoryAccess::writeBuffersAsync ( ArrayRef< tpctypes::BufferWrite Ws,
WriteResultFn  OnWriteComplete 
)
pure virtual

◆ writePointers()

Error llvm::orc::MemoryAccess::writePointers ( ArrayRef< tpctypes::PointerWrite Ws)
inline

◆ writePointersAsync()

virtual void llvm::orc::MemoryAccess::writePointersAsync ( ArrayRef< tpctypes::PointerWrite Ws,
WriteResultFn  OnWriteComplete 
)
pure virtual

◆ writeUInt16s()

Error llvm::orc::MemoryAccess::writeUInt16s ( ArrayRef< tpctypes::UInt16Write Ws)
inline

Definition at line 96 of file MemoryAccess.h.

◆ writeUInt16sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt16sAsync ( ArrayRef< tpctypes::UInt16Write Ws,
WriteResultFn  OnWriteComplete 
)
pure virtual

◆ writeUInt32s()

Error llvm::orc::MemoryAccess::writeUInt32s ( ArrayRef< tpctypes::UInt32Write Ws)
inline

Definition at line 104 of file MemoryAccess.h.

◆ writeUInt32sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt32sAsync ( ArrayRef< tpctypes::UInt32Write Ws,
WriteResultFn  OnWriteComplete 
)
pure virtual

◆ writeUInt64s()

Error llvm::orc::MemoryAccess::writeUInt64s ( ArrayRef< tpctypes::UInt64Write Ws)
inline

Definition at line 112 of file MemoryAccess.h.

◆ writeUInt64sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt64sAsync ( ArrayRef< tpctypes::UInt64Write Ws,
WriteResultFn  OnWriteComplete 
)
pure virtual

◆ writeUInt8s()

Error llvm::orc::MemoryAccess::writeUInt8s ( ArrayRef< tpctypes::UInt8Write Ws)
inline

Definition at line 89 of file MemoryAccess.h.

◆ writeUInt8sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt8sAsync ( ArrayRef< tpctypes::UInt8Write Ws,
WriteResultFn  OnWriteComplete 
)
pure virtual

The documentation for this class was generated from the following files: