10#ifndef __KERNELKIT_PEF_SHARED_OBJECT_H__
11#define __KERNELKIT_PEF_SHARED_OBJECT_H__
41 void Mount(DylibTraits* to_mount) {
42 if (!to_mount || !to_mount->ImageObject)
return;
60 template <
typename SymbolType>
62 if (symbol_name ==
nullptr || *symbol_name == 0)
return nullptr;
63 if (len >
kPathLen || len < 1)
return nullptr;
65 auto ret =
reinterpret_cast<SymbolType
>(
fLoader->FindSymbol(symbol_name, kind).Leak().Leak());
#define NE_COPY_DEFAULT(KLASS)
Definition Detail.h:17
PEF Code Manager header file.
Shared Library class Load library from this class.
Definition IPEFDylibObject.h:24
DylibTraits ** GetAddressOf()
Definition IPEFDylibObject.h:36
void Mount(DylibTraits *to_mount)
Definition IPEFDylibObject.h:41
IPEFDylibObject()=default
PEFLoader * fLoader
Definition IPEFDylibObject.h:77
DylibTraits * Get()
Definition IPEFDylibObject.h:38
DylibTraits * fMounted
Definition IPEFDylibObject.h:33
void Unmount()
Definition IPEFDylibObject.h:56
SymbolType Load(const Char *symbol_name, const SizeT &len, const UInt32 &kind)
Definition IPEFDylibObject.h:61
~IPEFDylibObject()=default
Definition PEFCodeMgr.h:30
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
void Void
Definition Config.h:87
EXTERN_C IDylibRef rtl_init_dylib_pef(USER_PROCESS &header)
IPEFDylibObject * IDylibRef
Definition IPEFDylibObject.h:80
__SIZE_TYPE__ SizeT
Definition Config.h:60
__UINT32_TYPE__ UInt32
Definition Config.h:44
void * VoidPtr
Definition Config.h:33
EXTERN_C Void __ne_pure_call(USER_PROCESS *process)
Unimplemented function (crashes by default).
Definition HalSchedulerCorePrimitives.cc:16
@ kPefCode
Definition PEF.h:109
EXTERN_C Void rtl_fini_dylib_pef(USER_PROCESS &header, IDylibRef lib, Bool *successful)
bool Bool
Definition Config.h:50