diff options
| author | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-13 15:41:34 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-13 15:41:34 +0100 |
| commit | a9ac78b47dd040e04afc4990dace2472df2302e4 (patch) | |
| tree | 42ec5a5719ec3a307218b6ef0b13d99e448d914e /Private/KernelKit | |
| parent | a4af4dc720a0ba8d4c3a23e05825989329a48a2f (diff) | |
HCR-15: fix GApplication class, add static on Shared() function.
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/KernelKit')
| -rw-r--r-- | Private/KernelKit/MSDOS.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Private/KernelKit/MSDOS.hpp b/Private/KernelKit/MSDOS.hpp index 4f098249..2276f3cb 100644 --- a/Private/KernelKit/MSDOS.hpp +++ b/Private/KernelKit/MSDOS.hpp @@ -16,6 +16,8 @@ #include <NewKit/Defines.hpp> +#include "PE.hpp" + typedef HCore::UInt32 DosWord; typedef HCore::Long DosLong; @@ -41,4 +43,15 @@ typedef struct _DosHeader { DosLong eLfanew; } DosHeader, *DosHeaderPtr; +namespace HCore { +/// @brief Find the PE header inside the the blob. +inline auto rt_find_exec_header(DosHeaderPtr ptrDos) -> VoidPtr { + if (!ptrDos) return nullptr; + if (ptrDos->eMagic[0] != kMagMz0) return nullptr; + if (ptrDos->eMagic[0] != kMagMz1) return nullptr; + + return (VoidPtr)(&ptrDos->eLfanew + 1); +} +} // namespace HCore + #endif /* ifndef __MSDOS_EXEC__ */ |
