summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/ZXD.h
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/KernelKit/ZXD.h')
-rw-r--r--dev/kernel/KernelKit/ZXD.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/dev/kernel/KernelKit/ZXD.h b/dev/kernel/KernelKit/ZXD.h
new file mode 100644
index 00000000..10af568b
--- /dev/null
+++ b/dev/kernel/KernelKit/ZXD.h
@@ -0,0 +1,43 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <NeKit/Defines.h>
+
+namespace ZXD {
+using namespace Kernel;
+
+struct ZXD_EXEC_HEADER;
+struct ZXD_STUB_HEADER;
+
+/// @brief ZXD executable header
+/// @details This header is used to identify ZXD executable files.
+struct ZXD_EXEC_HEADER {
+ UInt32 fMagic;
+ UInt32 fVersion;
+ UInt32 fFlags;
+ UInt32 fHdrSize;
+ UInt32 fCRC32;
+ UInt32 fAssigneeSignature;
+ UInt32 fIssuerSingature;
+ UIntPtr fExecOffset;
+ SizeT fExecSize;
+ UIntPtr fStubOffset;
+ SizeT fStubSize;
+ SizeT fStubAlign;
+ SizeT fStubCount;
+};
+
+/// @brief ZXD stub header
+/// @details This header is used to identify ZXD stub files. It contains the size of the stub, the
+/// offset of the stub, and the CRC32 checksum of the stub.
+struct ZXD_STUB_HEADER {
+ UInt32 fStubSize;
+ UInt32 fStubOffset;
+ UInt32 fStubCRC32;
+};
+} // namespace ZXD \ No newline at end of file