19#ifndef X86_MATANEL_MT_H
20#define X86_MATANEL_MT_H
25#define MAX_SYSCALLS 256
26typedef uint64_t(*
SyscallHandler)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
28#define MtCurrentProcess() -1
29#define MtCurrentThread() -2
54 IN size_t NumberOfBytes,
55 IN uint8_t AllocationType
60 IN uint32_t ProcessId,
74 IN uint64_t FileOffset,
83 IN uint64_t FileOffset,
void MtSetupSyscall(void)
uint64_t(* SyscallHandler)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t)
void MtSyscallHandler(IN PTRAP_FRAME TrapFrame)
MTSTATUS MtReadFile(IN HANDLE FileHandle, IN uint64_t FileOffset, OUT void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesRead)
MTSTATUS MtTerminateProcess(IN HANDLE ProcessHandle, IN MTSTATUS ExitStatus)
enum _USER_ALLOCATION_TYPE USER_ALLOCATION_TYPE
MTSTATUS MtClose(IN HANDLE hObject)
MTSTATUS MtOpenProcess(IN uint32_t ProcessId, OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess)
MTSTATUS MtTerminateThread(IN HANDLE ThreadHandle, IN MTSTATUS ExitStatus)
MTSTATUS MtAllocateVirtualMemory(IN HANDLE Process, _In_Opt _Out_Opt void **BaseAddress, IN size_t NumberOfBytes, IN uint8_t AllocationType)
MTSTATUS MtWriteFile(IN HANDLE FileHandle, IN uint64_t FileOffset, IN void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesWritten)
MTSTATUS MtCreateFile(IN const char *path, IN ACCESS_MASK DesiredAccess, OUT PHANDLE FileHandleOut)