summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-13 15:41:34 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-13 15:41:34 +0100
commita9ac78b47dd040e04afc4990dace2472df2302e4 (patch)
tree42ec5a5719ec3a307218b6ef0b13d99e448d914e /Private/KernelKit
parenta4af4dc720a0ba8d4c3a23e05825989329a48a2f (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.hpp13
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__ */