diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-02 19:38:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-02 19:38:46 +0200 |
| commit | 997be16e5ac9a68d54882ab69529815860d62955 (patch) | |
| tree | 19d6129c2d776bb1edc5d4a7325e39ca176c3403 /dev/kernel/KernelKit/CodeMgr.h | |
| parent | 618104e74c195d7508a18450524f8ed7f9af8cc6 (diff) | |
| parent | b3b4b1ebdcd6adeac914869017c86d892b7a8ced (diff) | |
Merge pull request #28 from nekernel-org/dev
0.0.2
Diffstat (limited to 'dev/kernel/KernelKit/CodeMgr.h')
| -rw-r--r-- | dev/kernel/KernelKit/CodeMgr.h | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/dev/kernel/KernelKit/CodeMgr.h b/dev/kernel/KernelKit/CodeMgr.h index 47c05d2e..bb287b24 100644 --- a/dev/kernel/KernelKit/CodeMgr.h +++ b/dev/kernel/KernelKit/CodeMgr.h @@ -1,43 +1,44 @@ /* ------------------------------------------- - Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. - File: CodeMgr.h - Purpose: Code Mgr. + File: CodeMgr.h + Purpose: Code Mgr. - Revision History: + Revision History: - 30/01/24: Added file (amlel) - 3/8/24: Add UPP struct. + 30/01/24: Added file (amlel) + 3/8/24: Add UPP struct. ------------------------------------------- */ #pragma once +#include <KernelKit/IPEFDylibObject.h> #include <KernelKit/PECodeMgr.h> #include <KernelKit/PEFCodeMgr.h> -#include <KernelKit/IPEFDylibObject.h> -namespace Kernel -{ - /// @brief Main process entrypoint. - typedef void (*rtl_main_kind)(SizeT argc, Char** argv, Char** envp, SizeT envp_len); - - /// @brief C++ Constructor entrypoint. - typedef void (*rtl_ctor_kind)(void); - - /// @brief C++ Destructor entrypoint. - typedef void (*rtl_dtor_kind)(void); - - /// @brief Executes a new process from a function. Kernel code only. - /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be accessible. - /// @param main the start of the process. - /// @return The team's process id. - ProcessID rtl_create_kernel_process(rtl_main_kind main, const Char* process_name) noexcept; - - /// @brief Executes a new process from a function. User code only. - /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be accessible. - /// @param main the start of the process. - /// @return The team's process id. - ProcessID rtl_create_user_process(rtl_main_kind main, const Char* process_name) noexcept; -} // namespace Kernel +namespace Kernel { +/// @brief Main process entrypoint. +typedef void (*rtl_main_kind)(SizeT argc, Char** argv, Char** envp, SizeT envp_len); + +/// @brief C++ Constructor entrypoint. +typedef void (*rtl_ctor_kind)(void); + +/// @brief C++ Destructor entrypoint. +typedef void (*rtl_dtor_kind)(void); + +/// @brief Executes a new process from a function. Kernel code only. +/// @note This sets up a new stack, anything on the main function that calls the Kernel will not be +/// accessible. +/// @param main the start of the process. +/// @return The team's process id. +ProcessID rtl_create_kernel_process(rtl_main_kind main, const Char* process_name) noexcept; + +/// @brief Executes a new process from a function. User code only. +/// @note This sets up a new stack, anything on the main function that calls the Kernel will not be +/// accessible. +/// @param main the start of the process. +/// @return The team's process id. +ProcessID rtl_create_user_process(rtl_main_kind main, const Char* process_name) noexcept; +} // namespace Kernel |
