OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
Mem32 Class Reference

#include <mem32.h>

Public Types

enum class  Type : uint32_t { plain , zCParser , zCParser_variables , zCPar_Symbol }
 
using ptr32_t = Compatibility::ptr32_t
 

Public Member Functions

 Mem32 ()
 
 ~Mem32 ()
 
template<class T >
void setCallbackR (Type t, const T &fn)
 
template<class T >
void setCallbackW (Type t, const T &fn)
 
template<class T >
void setCallbackR (Type t, std::function< void(T &t, uint32_t)> fn)
 
template<class T >
void setCallbackW (Type t, std::function< void(T &t, uint32_t)> fn)
 
ptr32_t pin (void *mem, ptr32_t address, uint32_t size, const char *comment=nullptr)
 
ptr32_t pin (void *mem, uint32_t size, const char *comment=nullptr)
 
ptr32_t pin (ptr32_t address, uint32_t size, Type type)
 
ptr32_t alloc (uint32_t size, const char *comment=nullptr)
 
ptr32_t alloc (ptr32_t address, uint32_t size, const char *comment=nullptr)
 
ptr32_t alloc (uint32_t size, Type type, const char *comment=nullptr)
 
void free (ptr32_t at)
 
ptr32_t realloc (ptr32_t address, uint32_t size)
 
auto deref (ptr32_t address) -> std::tuple< void *, uint32_t >
 
const void * deref (ptr32_t address, uint32_t size)
 
void * derefv (ptr32_t address, uint32_t size)
 
template<class T >
T * deref (ptr32_t address)
 
void writeInt (ptr32_t address, int32_t v)
 
int32_t readInt (ptr32_t address)
 
void copyBytes (ptr32_t src, ptr32_t dst, uint32_t size)
 

Static Public Attributes

static constexpr uint32_t memAlign = 8
 

Detailed Description

Definition at line 12 of file mem32.h.

Member Typedef Documentation

◆ ptr32_t

Definition at line 27 of file mem32.h.

Member Enumeration Documentation

◆ Type

enum class Mem32::Type : uint32_t
strong
Enumerator
plain 
zCParser 
zCParser_variables 
zCPar_Symbol 

Definition at line 20 of file mem32.h.

Constructor & Destructor Documentation

◆ Mem32()

Mem32::Mem32 ( )

Definition at line 11 of file mem32.cpp.

◆ ~Mem32()

Mem32::~Mem32 ( )

Definition at line 20 of file mem32.cpp.

Member Function Documentation

◆ alloc() [1/3]

Mem32::ptr32_t Mem32::alloc ( ptr32_t  address,
uint32_t  size,
const char *  comment = nullptr 
)

Definition at line 74 of file mem32.cpp.

◆ alloc() [2/3]

Mem32::ptr32_t Mem32::alloc ( uint32_t  size,
const char *  comment = nullptr 
)

Definition at line 89 of file mem32.cpp.

◆ alloc() [3/3]

Mem32::ptr32_t Mem32::alloc ( uint32_t  size,
Type  type,
const char *  comment = nullptr 
)

Definition at line 103 of file mem32.cpp.

◆ copyBytes()

void Mem32::copyBytes ( ptr32_t  src,
ptr32_t  dst,
uint32_t  size 
)

Definition at line 222 of file mem32.cpp.

◆ deref() [1/3]

template<class T >
T * Mem32::deref ( ptr32_t  address)
inline

Definition at line 67 of file mem32.h.

◆ deref() [2/3]

auto Mem32::deref ( ptr32_t  address) -> std::tuple<void*, uint32_t>

Definition at line 163 of file mem32.cpp.

◆ deref() [3/3]

const void * Mem32::deref ( ptr32_t  address,
uint32_t  size 
)

Definition at line 128 of file mem32.cpp.

◆ derefv()

void * Mem32::derefv ( ptr32_t  address,
uint32_t  size 
)

Definition at line 144 of file mem32.cpp.

◆ free()

void Mem32::free ( ptr32_t  at)

Definition at line 113 of file mem32.cpp.

◆ pin() [1/3]

Mem32::ptr32_t Mem32::pin ( ptr32_t  address,
uint32_t  size,
Type  type 
)

Definition at line 63 of file mem32.cpp.

◆ pin() [2/3]

Mem32::ptr32_t Mem32::pin ( void *  mem,
ptr32_t  address,
uint32_t  size,
const char *  comment = nullptr 
)

Definition at line 41 of file mem32.cpp.

◆ pin() [3/3]

Mem32::ptr32_t Mem32::pin ( void *  mem,
uint32_t  size,
const char *  comment = nullptr 
)

Definition at line 52 of file mem32.cpp.

◆ readInt()

int32_t Mem32::readInt ( ptr32_t  address)

Definition at line 205 of file mem32.cpp.

◆ realloc()

Mem32::ptr32_t Mem32::realloc ( ptr32_t  address,
uint32_t  size 
)

Definition at line 277 of file mem32.cpp.

◆ setCallbackR() [1/2]

template<class T >
void Mem32::setCallbackR ( Type  t,
const T &  fn 
)
inline

Definition at line 31 of file mem32.h.

◆ setCallbackR() [2/2]

template<class T >
void Mem32::setCallbackR ( Type  t,
std::function< void(T &t, uint32_t)>  fn 
)
inline

Definition at line 37 of file mem32.h.

◆ setCallbackW() [1/2]

template<class T >
void Mem32::setCallbackW ( Type  t,
const T &  fn 
)
inline

Definition at line 34 of file mem32.h.

◆ setCallbackW() [2/2]

template<class T >
void Mem32::setCallbackW ( Type  t,
std::function< void(T &t, uint32_t)>  fn 
)
inline

Definition at line 44 of file mem32.h.

◆ writeInt()

void Mem32::writeInt ( ptr32_t  address,
int32_t  v 
)

Definition at line 191 of file mem32.cpp.

Member Data Documentation

◆ memAlign

constexpr uint32_t Mem32::memAlign = 8
staticconstexpr

Definition at line 28 of file mem32.h.


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