Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/************************************************************************/ /* */ /* DXKRNL.H -- Private Kernel Definitions */ /* */ /************************************************************************/ /* Author: Gene Apperson */ /* Copyright: 1991 Microsoft */ /************************************************************************/ /* File Description: */ /* */ /* This header file contains private macro, data structure and */ /* procedure declarations for internal use by the kernel */ /* */ /************************************************************************/ /* Revision History: */ /* */ /* 04/02/91 (GeneA): created */ /* 2/12/93 (miketout): removed unnecessary EnterKrnlCritSect and */ /* LeaveKrnlCritSect macros */ /* */ /************************************************************************/
/* This is a special undocumented creation parameter bit that can
** be given to FNewProcess to create an asynchronous process. Normally ** the thread calling FNewProcess will block until the child process ** terminates. */ #define fExecAsync 0x80000000
/* The following define the return status codes for the various
** wait routines (e.g. IdWaitOnPsem, IdWaitOnPpdb, IdWaitOnPtdb,...) */
// This constant missing from NT's winbase.h
#define WAIT_ERROR 0xFFFFFFFFL
#define idWaitOK 0L
#define idWaitTimeout WAIT_TIMEOUT
#define idWaitIOCompletion WAIT_IO_COMPLETION
#define idWaitAbandoned WAIT_ABANDONED
#define idWaitError WAIT_ERROR
#define idWaitSuspended 0x40000001
#define idWaitExit 0x0f01
/* Priority class constants to convert Win32's flags to base priority
** values */ #define IDLE_PRI_CLASS_BASE 4
#define NORMAL_PRI_CLASS_BASE 8
#define HIGH_PRI_CLASS_BASE 13
#define REALTIME_PRI_CLASS_BASE 24
#define REALTIME_PRI_MAX 31
#define REALTIME_PRI_MIN 16
#define NORMAL_PRI_MAX 15
#define NORMAL_PRI_MIN 1
/* Initialization phases
*/
#define IC_BEGIN 0 // Initialization begun
#define IC_KERNELPROC (IC_BEGIN+1) // Krnl process/thread exists
#define IC_DONE (IC_KERNELPROC+1) // KernelInit() is complete
#ifndef WOW32_EXTENSIONS
extern GLOBAL BOOL InitCompletion;
extern GLOBAL BOOL fEmulate; // TRUE=>use Win32 emulator
extern GLOBAL DSCR dscrInvalid; // 0 filled
extern GLOBAL TEMPSTACKINFO *pWin16TerminationStackInfo;
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
GLOBAL BOOL KERNENTRY FInstallInterrupts(VOID); GLOBAL BOOL KERNENTRY FUninstallInterrupts(VOID); GLOBAL LPSTR KERNENTRY HexToAscii(DWORD, LPSTR); GLOBAL VOID KERNENTRY Except7Handler(VOID); GLOBAL VOID KERNENTRY KSTerminateProcess(PDB *, DWORD); GLOBAL VOID KERNENTRY KSTerminateThread(TDB *, DWORD); GLOBAL VOID KERNENTRY KSTerminateProcessAPCHandler(PDB *); GLOBAL VOID KERNENTRY KSTerminateThreadAPCHandler(TDB *);
#endif // ndef WOW32_EXTENSIONS
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/************************************************************************/
|