summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit/IPEFDylibObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/KernelKit/IPEFDylibObject.h')
-rw-r--r--src/kernel/KernelKit/IPEFDylibObject.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/kernel/KernelKit/IPEFDylibObject.h b/src/kernel/KernelKit/IPEFDylibObject.h
index d8ed3fc5..cff1ec8c 100644
--- a/src/kernel/KernelKit/IPEFDylibObject.h
+++ b/src/kernel/KernelKit/IPEFDylibObject.h
@@ -29,17 +29,21 @@ class IPEFDylibObject final NE_DYLIB_OBJECT {
public:
NE_COPY_DEFAULT(IPEFDylibObject)
+ using DylibTraitsPtr = DylibTraits*;
+ using DylibTraitsPtrX2 = DylibTraitsPtr*;
+
private:
- DylibTraits* fMounted{nullptr};
+ DylibTraitsPtr fMounted{nullptr};
public:
- DylibTraits** GetAddressOf() { return &fMounted; }
+ DylibTraitsPtrX2 GetAddressOf() { return &fMounted; }
- DylibTraits* Get() { return fMounted; }
+ DylibTraitsPtr Get() { return fMounted; }
public:
- void Mount(DylibTraits* to_mount) {
- if (!to_mount || !to_mount->ImageObject) return;
+ void Mount(DylibTraitsPtr to_mount) {
+ if (!to_mount) return;
+ if (!to_mount->ImageObject) return;
fMounted = to_mount;
@@ -62,7 +66,7 @@ class IPEFDylibObject final NE_DYLIB_OBJECT {
if (symbol_name == nullptr || *symbol_name == 0) return nullptr;
if (len > kPathLen || len < 1) return nullptr;
- auto ret = reinterpret_cast<SymbolType>(fLoader->FindSymbol(symbol_name, kind).Leak().Leak());
+ auto ret = static_cast<SymbolType>(fLoader->FindSymbol(symbol_name, kind).Leak().Leak());
if (!ret) {
if (kind == kPefCode) return (VoidPtr) &__ne_pure_call;
@@ -74,10 +78,12 @@ class IPEFDylibObject final NE_DYLIB_OBJECT {
}
private:
- PEFLoader* fLoader{nullptr};
+ using LoaderType = PEFLoader;
+
+ LoaderType* fLoader{nullptr};
};
-typedef IPEFDylibObject* IDylibRef;
+using IDylibRef = IPEFDylibObject*;
EXTERN_C IDylibRef rtl_init_dylib_pef(UserProcess& header);
EXTERN_C Void rtl_fini_dylib_pef(UserProcess& header, IDylibRef lib, Bool* successful);