2010-02-09 18:14:58 +00:00
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
|
|
|
|
/* Version Data */
|
|
|
|
#undef __MSVCRT__
|
|
|
|
#include <psdk/ntverp.h>
|
|
|
|
|
|
|
|
/* DDK/IFS/NDK Headers */
|
|
|
|
#define _REALLY_GET_CALLERS_CALLER
|
2010-03-06 18:55:27 +00:00
|
|
|
#define SINGLE_GROUP_LEGACY_API
|
2010-02-09 18:14:58 +00:00
|
|
|
#include <excpt.h>
|
|
|
|
#include <ntdef.h>
|
|
|
|
#include <ntifs.h>
|
|
|
|
#include <wdmguid.h>
|
|
|
|
#include <arc/arc.h>
|
|
|
|
#undef NTHALAPI
|
|
|
|
#define NTHALAPI __declspec(dllimport)
|
|
|
|
#include <ntndk.h>
|
|
|
|
#undef TEXT
|
|
|
|
#define TEXT(s) L##s
|
|
|
|
#include <regstr.h>
|
|
|
|
|
|
|
|
/* FIXME: Temporary until Winldr is used */
|
|
|
|
#include <rosldr.h>
|
|
|
|
|
|
|
|
/* C Headers */
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <malloc.h>
|
|
|
|
#include <wchar.h>
|
|
|
|
|
|
|
|
/* SEH support with PSEH */
|
|
|
|
#include <pseh/pseh2.h>
|
|
|
|
|
|
|
|
/* ReactOS Headers */
|
|
|
|
#include <reactos/buildno.h>
|
|
|
|
#include <reactos/bugcodes.h>
|
|
|
|
|
|
|
|
/* SetupLDR Support */
|
|
|
|
#include <arc/setupblk.h>
|
|
|
|
|
|
|
|
/* KD Support */
|
|
|
|
#define NOEXTAPI
|
|
|
|
#include <windbgkd.h>
|
|
|
|
#include <wdbgexts.h>
|
|
|
|
#include <kddll.h>
|
|
|
|
#ifndef _WINKD_
|
|
|
|
#include <reactos/rossym.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* PNP GUIDs */
|
|
|
|
#include <umpnpmgr/sysguid.h>
|
|
|
|
|
|
|
|
/* Internal Headers */
|
|
|
|
#include "internal/ntoskrnl.h"
|
|
|
|
#include "config.h"
|
2004-08-15 16:39:12 +00:00
|
|
|
|
2005-12-01 20:06:10 +00:00
|
|
|
#include <reactos/probe.h>
|
2008-11-30 06:00:58 +00:00
|
|
|
#include "internal/probe.h"
|
Patch for better boot logo/progress bar, fixed /SOS (debug) boot screen/output, removal of "funny" shutdown messages, addition of shutdown logo/screen, and misc:
[NTOS]: Add missing InbvIndicateProgress routine to update the progress bar while drivers are loading. Make boot and system driver initialization call it for each new driver. This updates the progress bar in the 25-75% range which was defined prior to IoInitSystem.
[NTOS]: Fix InbvUpdateProgressBar code to correctly handle the floor and ceiling.
[NTOS]: Remove shutdown "funny messages", do correct shutdown (should fix the ACPI shutdown issues) procedure. Display the shutdown screen on systems without ACPI (just like Windows does).
[NTOS]: Add a resource header with IDB_ definitions for all the embedded bitmaps, instead of using magic numbers and guessing which is which.
[NTOS]: Fix the boot logo initialization code as it was all wrong. 5 is the logo to be used during shutdown, for example, not the full logo background (which is supposed to be in 1, with a special palette that's faded in). Also handle server vs workstation scenarios.
[NTOS]: Booting in the new WinNT mode now correctly displays the blue background screen when in debug (/SOS) mode, and the header/footer also has the correct color, as does the separator band.
[DDK]: Add missing SUITE_TYPE definitions.
[NTOS]: Remove logo files that are simply not needed for ReactOS (Compute Cluster Edition, Tablet PC, etc...)
[NTOS]: Fix logo files (mostly) to have correct palettes. Note that 1.bmp is still quite different from Windows (no fade).
svn path=/trunk/; revision=45822
2010-03-04 06:26:11 +00:00
|
|
|
#include "resource.h"
|
2010-02-09 18:14:58 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// 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 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
|