ReactOS 0.4.17-dev-683-g0dafdc5
stubs.c File Reference
#include <rtl.h>
#include <debug.h>
#include "amd64/ketypes.h"
Include dependency graph for stubs.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

VOID NTAPI RtlInitializeContext (_Reserved_ HANDLE ProcessHandle, _Out_ PCONTEXT ThreadContext, _In_opt_ PVOID ThreadStartParam, _In_ PTHREAD_START_ROUTINE ThreadStartAddress, _In_ PVOID StackBase)
 
NTSTATUS NTAPI RtlQueueApcWow64Thread (_In_ HANDLE ThreadHandle, _In_ PKNORMAL_ROUTINE ApcRoutine, _In_opt_ PVOID NormalContext, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 12 of file stubs.c.

Function Documentation

◆ RtlInitializeContext()

VOID NTAPI RtlInitializeContext ( _Reserved_ HANDLE  ProcessHandle,
_Out_ PCONTEXT  ThreadContext,
_In_opt_ PVOID  ThreadStartParam,
_In_ PTHREAD_START_ROUTINE  ThreadStartAddress,
_In_ PVOID  StackBase 
)

Definition at line 23 of file stubs.c.

29{
30 /* Make sure the stack is aligned */
31 if (((ULONG_PTR)StackBase & 0xF) != 0)
32 {
34 }
35
36 /* Initialize StartAddress and Stack */
37 ThreadContext->Rip = (ULONG64)ThreadStartAddress;
38 ThreadContext->Rsp = (ULONG64)StackBase;
39
40 /* Enable Interrupts */
41 ThreadContext->EFlags = EFLAGS_INTERRUPT_MASK;
42
43 /* Set start parameter */
44 ThreadContext->Rcx = (ULONG64)ThreadStartParam;
45
46 /* Initialize floating point and SSE state */
47 RtlZeroMemory(&ThreadContext->FltSave, sizeof(ThreadContext->FltSave));
48 ThreadContext->MxCsr = INITIAL_MXCSR;
49 ThreadContext->FltSave.MxCsr = INITIAL_MXCSR;
50 ThreadContext->FltSave.ControlWord = INITIAL_FPCSR;
51
52 /* Initialize integer registers */
53 ThreadContext->Rbp = 0x0000000000000000ull;
54 ThreadContext->Rax = 0x0000000000000000ull;
55 ThreadContext->Rbx = 0x0000000000000001ull;
56 ThreadContext->Rsi = 0x0000000000000004ull;
57 ThreadContext->Rdi = 0x0000000000000005ull;
58 ThreadContext->R8 = 0x0000000000000008ull;
59 ThreadContext->R9 = 0xF0E0D0C0A0908070ull;
60 ThreadContext->R10 = 0x000000000000000Aull;
61 ThreadContext->R11 = 0x000000000000000Bull;
62 ThreadContext->R12 = 0x000000000000000Cull;
63 ThreadContext->R13 = 0x000000000000000Dull;
64 ThreadContext->R14 = 0x000000000000000Eull;
65 ThreadContext->R15 = 0x000000000000000Full;
66
67 /* Set the context flags */
68 ThreadContext->ContextFlags = CONTEXT_FULL;
69
70 return;
71}
#define EFLAGS_INTERRUPT_MASK
unsigned __int64 ULONG64
Definition: imports.h:198
DECLSPEC_NORETURN NTSYSAPI VOID NTAPI RtlRaiseStatus(_In_ NTSTATUS Status)
#define CONTEXT_FULL
Definition: nt_native.h:1378
#define STATUS_BAD_INITIAL_STACK
Definition: ntstatus.h:339
#define INITIAL_FPCSR
#define INITIAL_MXCSR
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
uint32_t ULONG_PTR
Definition: typedefs.h:65

◆ RtlQueueApcWow64Thread()

NTSTATUS NTAPI RtlQueueApcWow64Thread ( _In_ HANDLE  ThreadHandle,
_In_ PKNORMAL_ROUTINE  ApcRoutine,
_In_opt_ PVOID  NormalContext,
_In_opt_ PVOID  SystemArgument1,
_In_opt_ PVOID  SystemArgument2 
)

Definition at line 75 of file stubs.c.

81{
84}
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15
#define STATUS_NOT_IMPLEMENTED
Definition: d3dkmdt.h:42