summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/PE.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'Private/KernelKit/PE.hxx')
-rw-r--r--Private/KernelKit/PE.hxx123
1 files changed, 0 insertions, 123 deletions
diff --git a/Private/KernelKit/PE.hxx b/Private/KernelKit/PE.hxx
deleted file mode 100644
index d7c959da..00000000
--- a/Private/KernelKit/PE.hxx
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: PE.hxx
- Purpose: Portable Executable for NewOS.
-
- Revision History:
-
- 30/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#ifndef __PE__
-#define __PE__
-
-#include <NewKit/Defines.hpp>
-
-#define kPeMagic 0x00004550
-
-typedef struct ExecHeader final
-{
- NewOS::UInt32 mMagic; // PE\0\0 or 0x00004550
- NewOS::UInt16 mMachine;
- NewOS::UInt16 mNumberOfSections;
- NewOS::UInt32 mTimeDateStamp;
- NewOS::UInt32 mPointerToSymbolTable;
- NewOS::UInt32 mNumberOfSymbols;
- NewOS::UInt16 mSizeOfOptionalHeader;
- NewOS::UInt16 mCharacteristics;
-} ALIGN(8) ExecHeader, *ExecHeaderPtr;
-
-#define kMagPE32 0x010b
-#define kMagPE64 0x020b
-
-#define kPEMachineAMD64 0x8664
-#define kPEMachineARM64 0xaa64
-
-typedef struct ExecOptionalHeader final
-{
- NewOS::UInt16 mMagic; // 0x010b - PE32, 0x020b - PE32+ (64 bit)
- NewOS::UChar mMajorLinkerVersion;
- NewOS::UChar mMinorLinkerVersion;
- NewOS::UIntPtr mSizeOfCode;
- NewOS::UIntPtr mSizeOfInitializedData;
- NewOS::UIntPtr mSizeOfUninitializedData;
- NewOS::UInt32 mAddressOfEntryPoint;
- NewOS::UInt32 mBaseOfCode;
- NewOS::UIntPtr mImageBase;
- NewOS::UInt32 mSectionAlignment;
- NewOS::UInt32 mFileAlignment;
- NewOS::UInt16 mMajorOperatingSystemVersion;
- NewOS::UInt16 mMinorOperatingSystemVersion;
- NewOS::UInt16 mMajorImageVersion;
- NewOS::UInt16 mMinorImageVersion;
- NewOS::UInt16 mMajorSubsystemVersion;
- NewOS::UInt16 mMinorSubsystemVersion;
- NewOS::UInt32 mWin32VersionValue;
- NewOS::UIntPtr mSizeOfImage;
- NewOS::UIntPtr mSizeOfHeaders;
- NewOS::UInt32 mCheckSum;
- NewOS::UInt16 mSubsystem;
- NewOS::UInt16 mDllCharacteristics;
- NewOS::UIntPtr mSizeOfStackReserve;
- NewOS::UIntPtr mSizeOfStackCommit;
- NewOS::UIntPtr mSizeOfHeapReserve;
- NewOS::UIntPtr mSizeOfHeapCommit;
- NewOS::UInt32 mLoaderFlags;
- NewOS::UInt32 mNumberOfRvaAndSizes;
-} ExecOptionalHeader, *ExecOptionalHeaderPtr;
-
-typedef struct ExecSectionHeader final
-{
- CONST NewOS::UChar mName[8];
- NewOS::UInt32 mVirtualSize;
- NewOS::UInt32 mVirtualAddress;
- NewOS::UInt32 mSizeOfRawData;
- NewOS::UInt32 mPointerToRawData;
- NewOS::UInt32 mPointerToRelocations;
- NewOS::UInt32 mPointerToLinenumbers;
- NewOS::UInt16 mNumberOfRelocations;
- NewOS::UInt16 mNumberOfLinenumbers;
- NewOS::UInt32 mCharacteristics;
-} ExecSectionHeader, *ExecSectionHeaderPtr;
-
-enum kExecDataDirParams
-{
- kExecExport,
- kExecImport,
- kExecInvalid,
- kExecCount,
-};
-
-typedef struct ExecExportDirectory
-{
- NewOS::UInt32 mCharacteristics;
- NewOS::UInt32 mTimeDateStamp;
- NewOS::UInt16 mMajorVersion;
- NewOS::UInt16 mMinorVersion;
- NewOS::UInt32 mName;
- NewOS::UInt32 mBase;
- NewOS::UInt32 mNumberOfFunctions;
- NewOS::UInt32 mNumberOfNames;
- NewOS::UInt32 mAddressOfFunctions; // export table rva
- NewOS::UInt32 mAddressOfNames;
- NewOS::UInt32 mAddressOfNameOrdinal; // ordinal table rva
-} ExecExportDirectory, *ExecExportDirectoryPtr;
-
-typedef struct ExecImportDirectory
-{
- union {
- NewOS::UInt32 mCharacteristics;
- NewOS::UInt32 mOriginalFirstThunk;
- };
- NewOS::UInt32 mTimeDateStamp;
- NewOS::UInt32 mForwarderChain;
- NewOS::UInt32 mNameRva;
- NewOS::UInt32 mThunkTableRva;
-} ExecImportDirectory, *ExecImportDirectoryPtr;
-
-#define kPeStart "__hcore_subsys_start"
-
-#endif /* ifndef __PE__ */