diff options
Diffstat (limited to 'Kernel/KernelKit')
| -rw-r--r-- | Kernel/KernelKit/PEFSharedObject.hxx | 4 | ||||
| -rw-r--r-- | Kernel/KernelKit/ProcessHeap.hxx | 10 | ||||
| -rw-r--r-- | Kernel/KernelKit/ProcessScheduler.hxx | 10 |
3 files changed, 16 insertions, 8 deletions
diff --git a/Kernel/KernelKit/PEFSharedObject.hxx b/Kernel/KernelKit/PEFSharedObject.hxx index f8119971..d490c567 100644 --- a/Kernel/KernelKit/PEFSharedObject.hxx +++ b/Kernel/KernelKit/PEFSharedObject.hxx @@ -107,6 +107,10 @@ namespace Kernel }; typedef SharedObject* SharedObjectPtr; + + EXTERN_C SharedObjectPtr rtl_init_shared_object(ProcessHeader* header); + EXTERN_C Void rtl_fini_shared_object(ProcessHeader* header, SharedObjectPtr lib, Bool* successful); } // namespace Kernel #endif /* ifndef __KERNELKIT_SHARED_OBJECT_HXX__ */ + diff --git a/Kernel/KernelKit/ProcessHeap.hxx b/Kernel/KernelKit/ProcessHeap.hxx index 7772398e..377e6009 100644 --- a/Kernel/KernelKit/ProcessHeap.hxx +++ b/Kernel/KernelKit/ProcessHeap.hxx @@ -15,7 +15,7 @@ /// @version 5/11/23 /// @file ProcessHeap.hxx -/// @brief Heap for user processes. +/// @brief Process heap allocator. #define kUserHeapMaxSz (4096) #define kUserHeapMag (0xFAF0FEF0) @@ -33,12 +33,12 @@ namespace Kernel } kUserHeapFlags; /// @brief Allocate a process heap, no zero out is done here. - /// @param flags + /// @param flags the allocation flags. /// @return The process's heap. - VoidPtr rt_new_heap(Int32 flags); + VoidPtr sched_new_heap(Int32 flags); /// @brief Frees the process heap. /// @param pointer The process heap pointer. - /// @return - Int32 rt_free_heap(voidPtr pointer); + /// @return status code of the freeing. + Int32 sched_free_heap(voidPtr pointer); } // namespace Kernel diff --git a/Kernel/KernelKit/ProcessScheduler.hxx b/Kernel/KernelKit/ProcessScheduler.hxx index 5c27af79..b174858a 100644 --- a/Kernel/KernelKit/ProcessScheduler.hxx +++ b/Kernel/KernelKit/ProcessScheduler.hxx @@ -36,10 +36,11 @@ namespace Kernel //! @brief Process name length. inline constexpr SizeT kProcessLen = 256U; - //! @brief Forward declaration. + //! @brief Forward declarations. class ProcessHeader; class ProcessScheduler; class ProcessHelper; + class SharedObject; //! @brief Process status enum. enum class ProcessStatus : Int32 @@ -144,7 +145,7 @@ namespace Kernel const Int32& GetExitCode() noexcept; public: - Char Name[kProcessLen] = {"Process"}; + Char Name[kProcessLen] = {"Unknown Process"}; ProcessSubsystem SubSystem{ProcessSubsystem::eProcessSubsystemInvalid}; ProcessSelector Selector{ProcessSelector::kRingUser}; HAL::StackFramePtr StackFrame{nullptr}; @@ -156,7 +157,10 @@ namespace Kernel ImagePtr Image{nullptr}; HeapPtrKind HeapPtr{nullptr}; - // memory usage + // shared library handle, reserved for .lib only. + SharedObject* SharedLibObjectPtr{nullptr}; + + // Memory usage. SizeT UsedMemory{0}; SizeT FreeMemory{0}; |
