From a13e1c0911c0627184bc38f18c7fdda64447b3ad Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 23 Mar 2025 19:13:48 +0100 Subject: meta(kernel): Reworked repository's filesystem structure. Removing useless parts of the project too. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/src/IPEFDylibObject.cc | 111 -------------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 dev/Kernel/src/IPEFDylibObject.cc (limited to 'dev/Kernel/src/IPEFDylibObject.cc') diff --git a/dev/Kernel/src/IPEFDylibObject.cc b/dev/Kernel/src/IPEFDylibObject.cc deleted file mode 100644 index e994ad29..00000000 --- a/dev/Kernel/src/IPEFDylibObject.cc +++ /dev/null @@ -1,111 +0,0 @@ -/* - * ======================================================== - * - * neoskrnl - * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. - * - * ======================================================== - */ - -#include -#include -#include -#include -#include -#include - -/* ------------------------------------------- - - Revision History: - - 01/02/24: Reworked dll ABI, expect a rtl_init_dylib and - rtl_fini_dylib (amlel) - - 15/02/24: Breaking changes, changed the name of the - routines. (amlel) - - 07/28/24: Replace rt_library_free with rtl_fini_dylib - - 10/8/24: FIX: Fix log comment. - - ------------------------------------------- */ - -using namespace NeOS; - -/***********************************************************************************/ -/// @file IPEFDylibObject.cc -/// @brief PEF's Dylib runtime. -/***********************************************************************************/ - -/***********************************************************************************/ -/** @brief Library initializer. */ -/***********************************************************************************/ - -EXTERN_C IDylibRef rtl_init_dylib(UserProcess& process) -{ - IDylibRef dll_obj = tls_new_class(); - - if (!dll_obj) - { - process.Crash(); - return nullptr; - } - - dll_obj->Mount(new IPEFDylibObject::DLL_TRAITS()); - - if (!dll_obj->Get()) - { - tls_delete_class(dll_obj); - dll_obj = nullptr; - - process.Crash(); - - return nullptr; - } - - dll_obj->Get()->ImageObject = - process.Image.fBlob; - - if (!dll_obj->Get()->ImageObject) - { - delete dll_obj->Get(); - - tls_delete_class(dll_obj); - dll_obj = nullptr; - - process.Crash(); - - return nullptr; - } - - dll_obj->Get()->ImageEntrypointOffset = - dll_obj->Load(kPefStart, rt_string_len(kPefStart, 0), kPefCode); - - return dll_obj; -} - -/***********************************************************************************/ -/** @brief Frees the dll_obj. */ -/** @note Please check if the dll_obj got freed! */ -/** @param dll_obj The dll_obj to free. */ -/** @param successful Reports if successful or not. */ -/***********************************************************************************/ - -EXTERN_C Void rtl_fini_dylib(UserProcess& process, IDylibRef dll_obj, BOOL* successful) -{ - MUST_PASS(successful); - - // sanity check (will also trigger a bug check if this fails) - if (dll_obj == nullptr) - { - *successful = false; - process.Crash(); - } - - delete dll_obj->Get(); - delete dll_obj; - - dll_obj = nullptr; - - *successful = true; -} -- cgit v1.2.3