/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS Kernel * FILE: ntoskrnl/include/ntoskrnl.h * PURPOSE: Main Kernel Header * PROGRAMMER: Alex Ionescu (alex@relsoft.net) */ /* INCLUDES ******************************************************************/ /* ARM Bringup Hack */ #ifdef _M_ARM #define DbgPrint DbgPrintEarly #endif /* WDK hacks */ #ifdef _M_AMD64 #define IoAllocateAdapterChannel _IoAllocateAdapterChannel #define KeGetCurrentThread _KeGetCurrentThread #define RtlFillMemoryUlong _RtlFillMemoryUlong #endif /* Version Data */ #undef __MSVCRT__ #include /* DDK/IFS/NDK Headers */ #define _REALLY_GET_CALLERS_CALLER #include #include #include #include #include #include #undef NTHALAPI #define NTHALAPI __declspec(dllimport) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #undef TEXT #define TEXT(s) L##s #include #include #include /* C Headers */ #include #include #include #include #include /* SEH support with PSEH */ #include /* ReactOS Headers */ #include /* SetupLDR Support */ #include /* KD Support */ #define NOEXTAPI #include #include #include #ifndef _WINKD_ #include #endif /* PNP GUIDs */ #include // // Define the internal versions of external and public global data // #define IoFileObjectType _IoFileObjectType #define PsThreadType _PsThreadType #define PsProcessType _PsProcessType #define ExEventObjectType _ExEventObjectType #define ExSemaphoreObjectType _ExSemaphoreObjectType #define KdDebuggerEnabled _KdDebuggerEnabled #define KdDebuggerNotPresent _KdDebuggerNotPresent #define NlsOemLeadByteInfo _NlsOemLeadByteInfo extern PUSHORT _NlsOemLeadByteInfo; #define KeNumberProcessors _KeNumberProcessors extern UCHAR _KeNumberProcessors; #define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray #undef LEGAL_ANSI_CHARACTER_ARRAY #undef NLS_MB_CODE_PAGE_TAG #undef NLS_OEM_LEAD_BYTE_INFO #define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray #define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag #define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo #undef KD_DEBUGGER_ENABLED #undef KD_DEBUGGER_NOT_PRESENT #define KD_DEBUGGER_ENABLED KdDebuggerEnabled #define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent #define HalDispatchTable _HalDispatchTable #undef HALDISPATCH #define HALDISPATCH (&HalDispatchTable) #define ExRaiseStatus RtlRaiseStatus /* Internal Headers */ #include "internal/ntoskrnl.h" #include "config.h" #include #include "internal/probe.h" #include "resource.h"