summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/KernelKit/PE.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-23 19:13:48 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-23 19:15:17 +0100
commita13e1c0911c0627184bc38f18c7fdda64447b3ad (patch)
tree073a62c09bf216e85a3f310376640fa1805147f9 /dev/Kernel/KernelKit/PE.h
parent149fa096eb306d03686b3b67e813cf1a78e08cd0 (diff)
meta(kernel): Reworked repository's filesystem structure.
Removing useless parts of the project too. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/KernelKit/PE.h')
-rw-r--r--dev/Kernel/KernelKit/PE.h143
1 files changed, 0 insertions, 143 deletions
diff --git a/dev/Kernel/KernelKit/PE.h b/dev/Kernel/KernelKit/PE.h
deleted file mode 100644
index dbcf2ded..00000000
--- a/dev/Kernel/KernelKit/PE.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved.
-
- File: PE.h
- Purpose: Portable Executable for Kernel.
-
- Revision History:
-
- 30/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#ifndef __KERNELKIT_INC_PE_H__
-#define __KERNELKIT_INC_PE_H__
-
-#include <NewKit/Defines.h>
-
-#define kPeSignature 0x00004550
-
-#define kPeDLLBase 0x4000000
-#define kPeEXEBase 0x1000000
-
-#define kPeMagic32 0x010b
-#define kPeMagic64 0x020b
-
-#define kPeMachineAMD64 0x8664
-#define kPeMachineARM64 0xaa64
-
-typedef struct LDR_EXEC_HEADER final
-{
- NeOS::UInt32 Signature;
- NeOS::UInt16 Machine;
- NeOS::UInt16 NumberOfSections;
- NeOS::UInt32 TimeDateStamp;
- NeOS::UInt32 PointerToSymbolTable;
- NeOS::UInt32 NumberOfSymbols;
- NeOS::UInt16 SizeOfOptionalHeader;
- NeOS::UInt16 Characteristics;
-} LDR_EXEC_HEADER, *LDR_EXEC_HEADER_PTR;
-
-typedef struct LDR_OPTIONAL_HEADER final
-{
- NeOS::UInt16 Magic; // 0x010b - PE32, 0x020b - PE32+ (64 bit)
- NeOS::UInt8 MajorLinkerVersion;
- NeOS::UInt8 MinorLinkerVersion;
- NeOS::UInt32 SizeOfCode;
- NeOS::UInt32 SizeOfInitializedData;
- NeOS::UInt32 SizeOfUninitializedData;
- NeOS::UInt32 AddressOfEntryPoint;
- NeOS::UInt32 BaseOfCode;
- NeOS::UInt32 BaseOfData;
- NeOS::UInt32 ImageBase;
- NeOS::UInt32 SectionAlignment;
- NeOS::UInt32 FileAlignment;
- NeOS::UInt16 MajorOperatingSystemVersion;
- NeOS::UInt16 MinorOperatingSystemVersion;
- NeOS::UInt16 MajorImageVersion;
- NeOS::UInt16 MinorImageVersion;
- NeOS::UInt16 MajorSubsystemVersion;
- NeOS::UInt16 MinorSubsystemVersion;
- NeOS::UInt32 Win32VersionValue;
- NeOS::UInt32 SizeOfImage;
- NeOS::UInt32 SizeOfHeaders;
- NeOS::UInt32 CheckSum;
- NeOS::UInt16 Subsystem;
- NeOS::UInt16 DllCharacteristics;
- NeOS::UInt32 SizeOfStackReserve;
- NeOS::UInt32 SizeOfStackCommit;
- NeOS::UInt32 SizeOfHeapReserve;
- NeOS::UInt32 SizeOfHeapCommit;
- NeOS::UInt32 LoaderFlags;
- NeOS::UInt32 NumberOfRvaAndSizes;
-} LDR_OPTIONAL_HEADER, *LDR_OPTIONAL_HEADER_PTR;
-
-typedef struct LDR_SECTION_HEADER final
-{
- NeOS::Char Name[8];
- NeOS::UInt32 VirtualSize;
- NeOS::UInt32 VirtualAddress;
- NeOS::UInt32 SizeOfRawData;
- NeOS::UInt32 PointerToRawData;
- NeOS::UInt32 PointerToRelocations;
- NeOS::UInt32 PointerToLineNumbers;
- NeOS::UInt16 NumberOfRelocations;
- NeOS::UInt16 NumberOfLinenumbers;
- NeOS::UInt32 Characteristics;
-} LDR_SECTION_HEADER, *LDR_SECTION_HEADER_PTR;
-
-enum kExecDataDirParams
-{
- kExecExport,
- kExecImport,
- kExecInvalid,
- kExecCount,
-};
-
-typedef struct LDR_EXPORT_DIRECTORY
-{
- NeOS::UInt32 Characteristics;
- NeOS::UInt32 TimeDateStamp;
- NeOS::UInt16 MajorVersion;
- NeOS::UInt16 MinorVersion;
- NeOS::UInt32 Name;
- NeOS::UInt32 Base;
- NeOS::UInt32 NumberOfFunctions;
- NeOS::UInt32 NumberOfNames;
- NeOS::UInt32 AddressOfFunctions; // export table rva
- NeOS::UInt32 AddressOfNames;
- NeOS::UInt32 AddressOfNameOrdinal; // ordinal table rva
-} LDR_EXPORT_DIRECTORY, *LDR_EXPORT_DIRECTORY_PTR;
-
-typedef struct LDR_IMPORT_DIRECTORY
-{
- union {
- NeOS::UInt32 Characteristics;
- NeOS::UInt32 OriginalFirstThunk;
- };
- NeOS::UInt32 TimeDateStamp;
- NeOS::UInt32 ForwarderChain;
- NeOS::UInt32 NameRva;
- NeOS::UInt32 ThunkTableRva;
-} LDR_IMPORT_DIRECTORY, *LDR_IMPORT_DIRECTORY_PTR;
-
-typedef struct LDR_DATA_DIRECTORY
-{
- NeOS::UInt32 VirtualAddress;
- NeOS::UInt32 Size;
-} LDR_DATA_DIRECTORY, *LDR_DATA_DIRECTORY_PTR;
-
-typedef struct LDR_IMAGE_HEADER
-{
- LDR_EXEC_HEADER Header;
- LDR_OPTIONAL_HEADER OptHdr;
-} LDR_IMAGE_HEADER, *LDR_IMAGE_HEADER_PTR;
-
-enum
-{
- kUserSection = 0x00000020,
- kPEResourceId = 0xFFaadd00,
-};
-
-#endif /* ifndef __KERNELKIT_INC_PE_H__ */