mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-07-11 07:19:20 +00:00
Added usermode process creation (currently broken)
This commit is contained in:
@ -3,12 +3,24 @@
|
||||
|
||||
#include <types.h>
|
||||
|
||||
#include <task.hpp>
|
||||
|
||||
namespace Execute
|
||||
{
|
||||
enum BinaryType
|
||||
{
|
||||
BinTypeInvalid,
|
||||
BinTypeFex,
|
||||
BinTypeElf,
|
||||
BinTypePE,
|
||||
BinTypeUnknown
|
||||
};
|
||||
|
||||
enum ExStatus
|
||||
{
|
||||
OK,
|
||||
Unknown,
|
||||
Unsupported,
|
||||
InvalidFile,
|
||||
InvalidFileFormat,
|
||||
InvalidFileHeader,
|
||||
@ -17,7 +29,15 @@ namespace Execute
|
||||
InvalidFilePath
|
||||
};
|
||||
|
||||
ExStatus Spawn(char *Path, uint64_t Arg0, uint64_t Arg1);
|
||||
struct SpawnData
|
||||
{
|
||||
ExStatus Status;
|
||||
Tasking::PCB *Process;
|
||||
Tasking::TCB *Thread;
|
||||
};
|
||||
|
||||
BinaryType GetBinaryType(char *Path);
|
||||
SpawnData Spawn(char *Path, uint64_t Arg0, uint64_t Arg1);
|
||||
}
|
||||
|
||||
#endif // !__FENNIX_KERNEL_FILE_EXECUTE_H__
|
||||
|
Reference in New Issue
Block a user