kernel
Loading...
Searching...
No Matches
mt.h File Reference
#include "core.h"

Go to the source code of this file.

Macros

#define MAX_SYSCALLS   256
#define MtCurrentProcess()
#define MtCurrentThread()

Typedefs

typedef uint64_t(* SyscallHandler) (uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t)
typedef enum _USER_ALLOCATION_TYPE USER_ALLOCATION_TYPE

Enumerations

enum  _USER_ALLOCATION_TYPE {
  PAGE_EXECUTE_READ = 0x10 , PAGE_EXECUTE_READWRITE = 0x20 , PAGE_READWRITE = 0x30 , PAGE_READONLY = 0x40 ,
  PAGE_NOACCESS = 0x50
}

Functions

void MtSetupSyscall (void)
void MtSyscallHandler (IN PTRAP_FRAME TrapFrame)
MTSTATUS MtAllocateVirtualMemory (IN HANDLE Process, _In_Opt _Out_Opt void **BaseAddress, IN size_t NumberOfBytes, IN uint8_t AllocationType)
MTSTATUS MtOpenProcess (IN uint32_t ProcessId, OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess)
MTSTATUS MtTerminateProcess (IN HANDLE ProcessHandle, IN MTSTATUS ExitStatus)
MTSTATUS MtReadFile (IN HANDLE FileHandle, IN uint64_t FileOffset, OUT void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesRead)
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)
MTSTATUS MtClose (IN HANDLE hObject)
MTSTATUS MtTerminateThread (IN HANDLE ThreadHandle, IN MTSTATUS ExitStatus)

Macro Definition Documentation

◆ MAX_SYSCALLS

#define MAX_SYSCALLS   256

Definition at line 25 of file mt.h.

◆ MtCurrentProcess

#define MtCurrentProcess ( )
Value:
-1

Definition at line 28 of file mt.h.

◆ MtCurrentThread

#define MtCurrentThread ( )
Value:
-2

Definition at line 29 of file mt.h.

Typedef Documentation

◆ SyscallHandler

typedef uint64_t(* SyscallHandler) (uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t)

Definition at line 26 of file mt.h.

◆ USER_ALLOCATION_TYPE

Enumeration Type Documentation

◆ _USER_ALLOCATION_TYPE

Enumerator
PAGE_EXECUTE_READ 
PAGE_EXECUTE_READWRITE 
PAGE_READWRITE 
PAGE_READONLY 
PAGE_NOACCESS 

Definition at line 31 of file mt.h.

Function Documentation

◆ MtAllocateVirtualMemory()

MTSTATUS MtAllocateVirtualMemory ( IN HANDLE Process,
_In_Opt _Out_Opt void ** BaseAddress,
IN size_t NumberOfBytes,
IN uint8_t AllocationType )

Definition at line 29 of file systemcalls.c.

◆ MtClose()

MTSTATUS MtClose ( IN HANDLE hObject)

Definition at line 509 of file systemcalls.c.

◆ MtCreateFile()

MTSTATUS MtCreateFile ( IN const char * path,
IN ACCESS_MASK DesiredAccess,
OUT PHANDLE FileHandleOut )

Definition at line 453 of file systemcalls.c.

◆ MtOpenProcess()

MTSTATUS MtOpenProcess ( IN uint32_t ProcessId,
OUT PHANDLE ProcessHandle,
IN ACCESS_MASK DesiredAccess )

Definition at line 122 of file systemcalls.c.

◆ MtReadFile()

MTSTATUS MtReadFile ( IN HANDLE FileHandle,
IN uint64_t FileOffset,
OUT void * Buffer,
IN size_t BufferSize,
_Out_Opt size_t * BytesRead )

Definition at line 232 of file systemcalls.c.

◆ MtSetupSyscall()

void MtSetupSyscall ( void )

Definition at line 55 of file setup.c.

◆ MtSyscallHandler()

void MtSyscallHandler ( IN PTRAP_FRAME TrapFrame)

Definition at line 27 of file handler.c.

◆ MtTerminateProcess()

MTSTATUS MtTerminateProcess ( IN HANDLE ProcessHandle,
IN MTSTATUS ExitStatus )

Definition at line 181 of file systemcalls.c.

◆ MtTerminateThread()

MTSTATUS MtTerminateThread ( IN HANDLE ThreadHandle,
IN MTSTATUS ExitStatus )

Definition at line 519 of file systemcalls.c.

◆ MtWriteFile()

MTSTATUS MtWriteFile ( IN HANDLE FileHandle,
IN uint64_t FileOffset,
IN void * Buffer,
IN size_t BufferSize,
_Out_Opt size_t * BytesWritten )

Definition at line 352 of file systemcalls.c.