diff options
| author | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-03-05 08:48:23 +0000 |
|---|---|---|
| committer | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-03-05 08:48:23 +0000 |
| commit | 1dc32533305adc40af5683792b74f6074a41fd32 (patch) | |
| tree | cba9842f4c8acd25ddd4c66eed734b5e39267658 /Private/KernelKit | |
| parent | 64c8674bc09985fcf7119cfb2b88cad3081b1603 (diff) | |
Kernel: Add ProcessManager.cxx, wrap packed UPP into compiler independent code.
Diffstat (limited to 'Private/KernelKit')
| -rw-r--r-- | Private/KernelKit/MSDOS.hpp | 3 | ||||
| -rw-r--r-- | Private/KernelKit/PE.hpp | 4 | ||||
| -rw-r--r-- | Private/KernelKit/PEFCodeManager.hxx | 4 |
3 files changed, 7 insertions, 4 deletions
diff --git a/Private/KernelKit/MSDOS.hpp b/Private/KernelKit/MSDOS.hpp index 565d77af..aa7f9b8c 100644 --- a/Private/KernelKit/MSDOS.hpp +++ b/Private/KernelKit/MSDOS.hpp @@ -20,6 +20,9 @@ // Last Rev // Sat Feb 24 CET 2024 +#define kMagMz0 'M' +#define kMagMz1 'Z' + typedef HCore::UInt32 DosWord; typedef HCore::Long DosLong; diff --git a/Private/KernelKit/PE.hpp b/Private/KernelKit/PE.hpp index 43de19e0..c9e4e19c 100644 --- a/Private/KernelKit/PE.hpp +++ b/Private/KernelKit/PE.hpp @@ -15,6 +15,7 @@ #define __PE__ #include <NewKit/Defines.hpp> +#include <KernelKit/PE.hpp> typedef HCore::UIntPtr U64; typedef HCore::UInt32 U32; @@ -22,9 +23,6 @@ typedef HCore::UInt16 U16; typedef HCore::UInt8 U8; typedef U8 BYTE; -#define kMagMz0 'M' -#define kMagMz1 'Z' - #define kPeMagic 0x00004550 typedef struct ExecHeader final { diff --git a/Private/KernelKit/PEFCodeManager.hxx b/Private/KernelKit/PEFCodeManager.hxx index 8577acb3..a4bc08eb 100644 --- a/Private/KernelKit/PEFCodeManager.hxx +++ b/Private/KernelKit/PEFCodeManager.hxx @@ -11,6 +11,8 @@ #include <NewKit/ErrorOr.hpp> #include <NewKit/String.hpp> +#define kPefApplicationMime "application/x-hcore-exec" + namespace HCore { /// /// \name PEFLoader @@ -58,7 +60,7 @@ typedef struct UniversalProcedureTable final { const Char NAME[kPefNameLen]; const VoidPtr TRAP; const SizeT ARCH; -} __attribute__((packed)) UniversalProcedureTableType; +} PACKED UniversalProcedureTableType; bool execute_from_image(PEFLoader &exec) noexcept; } // namespace Utils |
