summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit
diff options
context:
space:
mode:
Diffstat (limited to 'Private/KernelKit')
-rw-r--r--Private/KernelKit/FileManager.hpp6
-rw-r--r--Private/KernelKit/PEF.hpp127
2 files changed, 67 insertions, 66 deletions
diff --git a/Private/KernelKit/FileManager.hpp b/Private/KernelKit/FileManager.hpp
index b3754f88..a1391c34 100644
--- a/Private/KernelKit/FileManager.hpp
+++ b/Private/KernelKit/FileManager.hpp
@@ -223,14 +223,14 @@ template <typename Encoding = char, typename FSClass = NewFilesystemManager> cla
}
public:
- const char *MIME() noexcept
+ char *MIME() noexcept
{
- return fMime;
+ return const_cast<char *>(fMime);
}
private:
NodePtr fFile;
- Char *fMime{"application-type/*"};
+ const Char *fMime{"application-type/*"};
};
using FileStreamUTF8 = FileStream<char>;
diff --git a/Private/KernelKit/PEF.hpp b/Private/KernelKit/PEF.hpp
index a2f5c5b8..ecf90348 100644
--- a/Private/KernelKit/PEF.hpp
+++ b/Private/KernelKit/PEF.hpp
@@ -10,11 +10,11 @@
#ifndef _INC_LOADER_PEF_HPP
#define _INC_LOADER_PEF_HPP
-#include <NewKit/Defines.hpp>
-#include <KernelKit/Loader.hpp>
#include <CompilerKit/Compiler.hpp>
+#include <KernelKit/Loader.hpp>
+#include <NewKit/Defines.hpp>
-#define kPefMagic "PEF"
+#define kPefMagic "PEF"
#define kPefMagicFat "FEP"
#define kPefMagicLen 3
@@ -26,68 +26,69 @@
namespace hCore
{
- enum
- {
- kPefArchIntel86S,
- kPefArchAMD64,
- kPefArchRISCV,
- kPefArch64x0, /* 64x000. */
- kPefArch32x0,
- kPefArchInvalid = 0xFF,
- };
-
- enum
- {
- kPefKindExec = 1, /* .exe */
- kPefKindSharedObject = 2, /* .lib */
- kPefKindObject = 4, /* .obj */
- kPefKindDebug = 5, /* .debug */
- };
-
- typedef struct PEFContainer final
- {
- Char Magic[kPefMagicLen];
- UInt32 Linker;
- UInt32 Version;
- UInt32 Kind;
- UInt32 Abi;
- UInt32 Cpu;
- UInt32 SubCpu; /* Cpu specific information */
- UIntPtr Start;
- SizeT HdrSz; /* Size of header */
- SizeT Count; /* container header count */
- } __attribute__((packed)) PEFContainer;
-
- /* First PEFCommandHeader starts after PEFContainer */
- /* Last container is __exec_end */
-
- /* PEF executable section and commands. */
-
- typedef struct PEFCommandHeader final
- {
- Char Name[kPefNameLen]; /* container name */
- UInt32 Flags; /* container flags */
- UInt16 Kind; /* container kind */
- UIntPtr Offset; /* content offset */
- SizeT Size; /* content Size */
- } __attribute__((packed)) PEFCommandHeader;
-
- enum
- {
- kPefCode = 0xC,
- kPefData = 0xD,
- kPefZero = 0xE,
- kPefLinkerID = 0x1,
- };
-}
-
-#define kPefExt ".o"
-#define kPefDylibExt ".so"
-#define kPefObjectExt ".o"
-#define kPefDebugExt ".dbg"
+enum
+{
+ kPefArchIntel86S,
+ kPefArchAMD64,
+ kPefArchRISCV,
+ kPefArch64x0, /* 64x000. */
+ kPefArch32x0,
+ kPefArchInvalid = 0xFF,
+};
+
+enum
+{
+ kPefKindExec = 1, /* .exe */
+ kPefKindSharedObject = 2, /* .lib */
+ kPefKindObject = 4, /* .obj */
+ kPefKindDebug = 5, /* .debug */
+};
+
+typedef struct PEFContainer final
+{
+ Char Magic[kPefMagicLen];
+ UInt32 Linker;
+ UInt32 Version;
+ UInt32 Kind;
+ UInt32 Abi;
+ UInt32 Cpu;
+ UInt32 SubCpu; /* Cpu specific information */
+ UIntPtr Start;
+ SizeT HdrSz; /* Size of header */
+ SizeT Count; /* container header count */
+} __attribute__((packed)) PEFContainer;
+
+/* First PEFCommandHeader starts after PEFContainer */
+/* Last container is __exec_end */
+
+/* PEF executable section and commands. */
+
+typedef struct PEFCommandHeader final
+{
+ Char Name[kPefNameLen]; /* container name */
+ UInt32 Flags; /* container flags */
+ UInt16 Kind; /* container kind */
+ UIntPtr Offset; /* content offset */
+ SizeT Size; /* content Size */
+} __attribute__((packed)) PEFCommandHeader;
+
+enum
+{
+ kPefCode = 0xC,
+ kPefData = 0xD,
+ kPefZero = 0xE,
+ kPefLinkerID = 0x1,
+};
+} // namespace hCore
+
+#define kPefExt ".cm"
+#define kPefDylibExt ".dlib"
+#define kPefLibExt ".lib"
+#define kPefObjectExt ".obj"
+#define kPefDebugExt ".cmdbg"
// hCore System Binary Interface.
-#define kPefAbi (0xDEAD2)
+#define kPefAbi (0xDEAD2)
#define kPefStart "__start"