summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit
diff options
context:
space:
mode:
authorAmlal <amlalelmahrouss@icloud.com>2024-04-23 07:03:05 +0000
committerAmlal <amlalelmahrouss@icloud.com>2024-04-23 07:03:05 +0000
commit3cd65eae51017c242dfdce26693395b016d7856f (patch)
treea49b25fcf9776ce916b0ab3b795f475f113d9873 /Private/KernelKit
parent09e1c9738bc5dce28a6e181ebc585f0dea01f109 (diff)
parent80c4a0ad8ff603036d5582d799c74840d5de806d (diff)
Merged in MHR-11 (pull request #2)
MHR-11
Diffstat (limited to 'Private/KernelKit')
-rw-r--r--Private/KernelKit/PEF.hpp11
-rw-r--r--Private/KernelKit/PEFCodeManager.hxx1
2 files changed, 11 insertions, 1 deletions
diff --git a/Private/KernelKit/PEF.hpp b/Private/KernelKit/PEF.hpp
index bc2e0990..9fabb189 100644
--- a/Private/KernelKit/PEF.hpp
+++ b/Private/KernelKit/PEF.hpp
@@ -24,7 +24,7 @@
#define kPefMagicLen 5
#define kPefVersion 1
-#define kPefNameLen 64
+#define kPefNameLen 255
/// @brief Preferred Executable Format.
@@ -41,6 +41,13 @@ enum {
};
enum {
+ kPefSubArchAMD,
+ kPefSubArchIntel,
+ kPefSubArchARM,
+ kPefSubArchIBM,
+};
+
+enum {
kPefKindExec = 1, /* .exe */
kPefKindSharedObject = 2, /* .lib */
kPefKindObject = 4, /* .obj */
@@ -69,6 +76,8 @@ typedef struct PEFContainer final {
typedef struct PEFCommandHeader final {
Char Name[kPefNameLen]; /* container name */
+ UInt32 Cpu; /* container cpu */
+ UInt32 SubCpu; /* container sub-cpu */
UInt32 Flags; /* container flags */
UInt16 Kind; /* container kind */
UIntPtr Offset; /* content offset */
diff --git a/Private/KernelKit/PEFCodeManager.hxx b/Private/KernelKit/PEFCodeManager.hxx
index 1f5269ae..80ac6e90 100644
--- a/Private/KernelKit/PEFCodeManager.hxx
+++ b/Private/KernelKit/PEFCodeManager.hxx
@@ -45,6 +45,7 @@ class PEFLoader : public LoaderInterface {
private:
Ref<StringView> fPath;
VoidPtr fCachedBlob;
+ bool fFatBinary;
bool fBad;
};