28#ifndef INC_PROCESS_SCHEDULER_H
32#define kPeStackSizeSymbol "__NESizeOfReserveStack"
33#define kPeHeapSizeSymbol "__NESizeOfReserveHeap"
34#define kPeNameSymbol "__NEProgramName"
36#define kPeApplicationMime "application/vnd-portable-executable"
38#define kPeImageStart "__ImageStart"
72#ifdef __FSKIT_INCLUDES_NEFS__
74#elif defined(__FSKIT_INCLUDES_OPENHEFS__)
#define NE_COPY_DEFAULT(KLASS)
Definition Detail.h:17
ErrorOr class for error handling.
Definition ErrorOr.h:22
Definition PE32CodeMgr.h:45
~PE32Loader() override
PE32+ destructor.
Definition PE32CodeMgr.cc:63
ErrorOr< VoidPtr > FindSymbol(const Char *name, Int32 kind) override
Finds the symbol according to it's name.
Definition PE32CodeMgr.cc:117
const Char * Path() override
Definition PE32CodeMgr.cc:190
VoidPtr fCachedBlob
Definition PE32CodeMgr.h:81
const Char * AsString() override
Definition PE32CodeMgr.cc:194
ErrorOr< VoidPtr > FindStart() override
Finds the executable entrypoint.
Definition PE32CodeMgr.cc:178
bool IsLoaded()
Tells if the executable is loaded or not.
Definition PE32CodeMgr.cc:186
BOOL fBad
Definition PE32CodeMgr.h:82
Ref< KString > fPath
Definition PE32CodeMgr.h:80
const Char * MIME() override
Definition PE32CodeMgr.cc:210
ErrorOr< VoidPtr > FindSectionByName(const Char *name)
Finds the section according to its name.
Definition PE32CodeMgr.cc:74
OwnPtr< FileStream< Char > > fFile
Definition PE32CodeMgr.h:77
ErrorOr< VoidPtr > GetBlob() override
Definition PE32CodeMgr.cc:214
Reference wrapper class. /// =========================================================== ///.
Definition Ref.h:22
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
Int64 ProcessID
Local Process Identifier type.
Definition CoreProcessScheduler.h:219
void * VoidPtr
Definition Config.h:33
__INT32_TYPE__ Int32
Definition Config.h:38
@ kPEPlatformInvalid
Definition PE32CodeMgr.h:85
@ kPEPlatformAMD64
Definition PE32CodeMgr.h:85
@ kPEPlatformARM64
Definition PE32CodeMgr.h:85
@ kPETypeData
Definition PE32CodeMgr.h:86
@ kPETypeText
Definition PE32CodeMgr.h:86
@ kPETypeBSS
Definition PE32CodeMgr.h:86
@ kPETypeInvalid
Definition PE32CodeMgr.h:86
LDR_SECTION_HEADER PE_SECTION_INFO
Definition PE32CodeMgr.h:88
ProcessID rtl_create_user_process(rtl_start_kind main, const Char *process_name)
Executes a new process from a function. User code only.
Definition CodeMgr.cc:31