XenevaOS
Loading...
Searching...
No Matches
loader.h
Go to the documentation of this file.
1
30#ifndef __LOADER_H__
31#define __LOADER_H__
32
33#include <stdint.h>
34#include <pe.h>
35#include <process.h>
36
37#ifdef ARCH_X64
38#include <Sync\mutex.h>
39#endif
40
41/* the base address from where every executable image
42 * starts
43 */
44#define PROC_IMAGE_BASE_START 0x0000000000600000
45
46extern void AuInitialiseLoader();
47
48/*
49* AuLoadExecToProcess -- loads an executable to the
50* process
51* @param proc -- pointer to process data structure
52* @param filename -- executable file name
53* @param argc -- number of arguments
54* @param argv -- array of argument in strings
55*/
56extern int AuLoadExecToProcess(AuProcess* proc, char* filename, int argc,char** argv);
57
58/*
59* AuProcessEntUser -- main kernel thread call
60* in order to enter user for processes
61* @param rcx -- user entry structure
62*/
63extern void AuProcessEntUser(uint64_t rcx);
64
65#ifdef ARCH_X64
66/*
67* AuLoaderGetMutex -- returns loader
68* mutex
69*/
71
72#endif
73
74extern bool AuIsLoaderBusy();
75#endif
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
AuMutex * AuLoaderGetMutex()
Definition loader.cpp:309
bool AuIsLoaderBusy()
Definition loader.cpp:313
void AuProcessEntUser(uint64_t rcx)
AuProcessEntUser – main kernel thread call in order to enter user for processes.
Definition loader.cpp:82
void AuInitialiseLoader()
AuInitialiseLoader – initialize the loader and allocate atleast 1 MiB for scratch use.
Definition loader.cpp:298
int AuLoadExecToProcess(AuProcess *proc, char *filename, int argc, char **argv)
AuLoadExecToProcess – loads an executable to the process.
Definition loader.cpp:126
Definition process.h:94
Definition mutex.h:40