VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
VoltMod::KHookForwarder Class Referencefinal

The loader's KHook, which every module's hooks go through. More...

#include <KHookForwarder.hpp>

+ Inheritance diagram for VoltMod::KHookForwarder:

Public Member Functions

KHook::HookID_t SetupHook (void *function, void *context, void *removedFunction, void *pre, void *post, void *makeReturn, void *makeCallOriginal, unsigned int stackSize, bool async) override
 
KHook::HookID_t SetupVirtualHook (void **vtable, int index, void *context, void *removedFunction, void *pre, void *post, void *makeReturn, void *makeCallOriginal, unsigned int stackSize, bool async) override
 
void RemoveHook (KHook::HookID_t id, bool async, void(*removed)(KHook::HookID_t, void *), void *context) override
 
void * GetContextPtr () override
 
void * GetOriginalFunction () override
 
void * GetOriginalValuePtr () override
 
void * GetOverrideValuePtr () override
 
void * GetCurrentValuePtr (bool pop) override
 
void DestroyReturnValue () override
 
void * FindOriginal (void *function) override
 
void * FindOriginalVirtual (void **vtable, int index) override
 
void * DoRecall (KHook::Action action, void *returnValue, std::size_t returnSize, void *construct, void *destruct) override
 
void SaveReturnValue (KHook::Action action, void *returnValue, std::size_t returnSize, void *construct, void *destruct, bool original) override
 
void * LookupSignature (void *start, std::size_t size, const char *signature) override
 
bool WasOriginalFunctionSkipped () override
 

Detailed Description

The loader's KHook, which every module's hooks go through.

No per-module bookkeeping: each hook is removed by the subscription that owns it.

Definition at line 14 of file KHookForwarder.hpp.

Member Function Documentation

◆ DestroyReturnValue()

void VoltMod::KHookForwarder::DestroyReturnValue ( )
inlineoverride

Definition at line 42 of file KHookForwarder.hpp.

◆ DoRecall()

void * VoltMod::KHookForwarder::DoRecall ( KHook::Action  action,
void *  returnValue,
std::size_t  returnSize,
void *  construct,
void *  destruct 
)
inlineoverride

Definition at line 46 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ FindOriginal()

void * VoltMod::KHookForwarder::FindOriginal ( void *  function)
inlineoverride

Definition at line 43 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ FindOriginalVirtual()

void * VoltMod::KHookForwarder::FindOriginalVirtual ( void **  vtable,
int  index 
)
inlineoverride

Definition at line 44 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ GetContextPtr()

void * VoltMod::KHookForwarder::GetContextPtr ( )
inlineoverride

Definition at line 37 of file KHookForwarder.hpp.

◆ GetCurrentValuePtr()

void * VoltMod::KHookForwarder::GetCurrentValuePtr ( bool  pop)
inlineoverride

Definition at line 41 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ GetOriginalFunction()

void * VoltMod::KHookForwarder::GetOriginalFunction ( )
inlineoverride

Definition at line 38 of file KHookForwarder.hpp.

◆ GetOriginalValuePtr()

void * VoltMod::KHookForwarder::GetOriginalValuePtr ( )
inlineoverride

Definition at line 39 of file KHookForwarder.hpp.

◆ GetOverrideValuePtr()

void * VoltMod::KHookForwarder::GetOverrideValuePtr ( )
inlineoverride

Definition at line 40 of file KHookForwarder.hpp.

◆ LookupSignature()

void * VoltMod::KHookForwarder::LookupSignature ( void *  start,
std::size_t  size,
const char *  signature 
)
inlineoverride

Definition at line 58 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ RemoveHook()

void VoltMod::KHookForwarder::RemoveHook ( KHook::HookID_t  id,
bool  async,
void(*)(KHook::HookID_t, void *)  removed,
void *  context 
)
inlineoverride

Definition at line 32 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ SaveReturnValue()

void VoltMod::KHookForwarder::SaveReturnValue ( KHook::Action  action,
void *  returnValue,
std::size_t  returnSize,
void *  construct,
void *  destruct,
bool  original 
)
inlineoverride

Definition at line 52 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ SetupHook()

KHook::HookID_t VoltMod::KHookForwarder::SetupHook ( void *  function,
void *  context,
void *  removedFunction,
void *  pre,
void *  post,
void *  makeReturn,
void *  makeCallOriginal,
unsigned int  stackSize,
bool  async 
)
inlineoverride

Definition at line 17 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ SetupVirtualHook()

KHook::HookID_t VoltMod::KHookForwarder::SetupVirtualHook ( void **  vtable,
int  index,
void *  context,
void *  removedFunction,
void *  pre,
void *  post,
void *  makeReturn,
void *  makeCallOriginal,
unsigned int  stackSize,
bool  async 
)
inlineoverride

Definition at line 24 of file KHookForwarder.hpp.

References VoltMod::ReadFile().

◆ WasOriginalFunctionSkipped()

bool VoltMod::KHookForwarder::WasOriginalFunctionSkipped ( )
inlineoverride

Definition at line 63 of file KHookForwarder.hpp.


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