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.

96 lines
4.0 KiB

  1. /************************************************************************/
  2. /* */
  3. /* DXKRNL.H -- Private Kernel Definitions */
  4. /* */
  5. /************************************************************************/
  6. /* Author: Gene Apperson */
  7. /* Copyright: 1991 Microsoft */
  8. /************************************************************************/
  9. /* File Description: */
  10. /* */
  11. /* This header file contains private macro, data structure and */
  12. /* procedure declarations for internal use by the kernel */
  13. /* */
  14. /************************************************************************/
  15. /* Revision History: */
  16. /* */
  17. /* 04/02/91 (GeneA): created */
  18. /* 2/12/93 (miketout): removed unnecessary EnterKrnlCritSect and */
  19. /* LeaveKrnlCritSect macros */
  20. /* */
  21. /************************************************************************/
  22. /* This is a special undocumented creation parameter bit that can
  23. ** be given to FNewProcess to create an asynchronous process. Normally
  24. ** the thread calling FNewProcess will block until the child process
  25. ** terminates.
  26. */
  27. #define fExecAsync 0x80000000
  28. /* The following define the return status codes for the various
  29. ** wait routines (e.g. IdWaitOnPsem, IdWaitOnPpdb, IdWaitOnPtdb,...)
  30. */
  31. // This constant missing from NT's winbase.h
  32. #define WAIT_ERROR 0xFFFFFFFFL
  33. #define idWaitOK 0L
  34. #define idWaitTimeout WAIT_TIMEOUT
  35. #define idWaitIOCompletion WAIT_IO_COMPLETION
  36. #define idWaitAbandoned WAIT_ABANDONED
  37. #define idWaitError WAIT_ERROR
  38. #define idWaitSuspended 0x40000001
  39. #define idWaitExit 0x0f01
  40. /* Priority class constants to convert Win32's flags to base priority
  41. ** values
  42. */
  43. #define IDLE_PRI_CLASS_BASE 4
  44. #define NORMAL_PRI_CLASS_BASE 8
  45. #define HIGH_PRI_CLASS_BASE 13
  46. #define REALTIME_PRI_CLASS_BASE 24
  47. #define REALTIME_PRI_MAX 31
  48. #define REALTIME_PRI_MIN 16
  49. #define NORMAL_PRI_MAX 15
  50. #define NORMAL_PRI_MIN 1
  51. /* Initialization phases
  52. */
  53. #define IC_BEGIN 0 // Initialization begun
  54. #define IC_KERNELPROC (IC_BEGIN+1) // Krnl process/thread exists
  55. #define IC_DONE (IC_KERNELPROC+1) // KernelInit() is complete
  56. #ifndef WOW32_EXTENSIONS
  57. extern GLOBAL BOOL InitCompletion;
  58. extern GLOBAL BOOL fEmulate; // TRUE=>use Win32 emulator
  59. extern GLOBAL DSCR dscrInvalid; // 0 filled
  60. extern GLOBAL TEMPSTACKINFO *pWin16TerminationStackInfo;
  61. /* ------------------------------------------------------------ */
  62. /* ------------------------------------------------------------ */
  63. GLOBAL BOOL KERNENTRY FInstallInterrupts(VOID);
  64. GLOBAL BOOL KERNENTRY FUninstallInterrupts(VOID);
  65. GLOBAL LPSTR KERNENTRY HexToAscii(DWORD, LPSTR);
  66. GLOBAL VOID KERNENTRY Except7Handler(VOID);
  67. GLOBAL VOID KERNENTRY KSTerminateProcess(PDB *, DWORD);
  68. GLOBAL VOID KERNENTRY KSTerminateThread(TDB *, DWORD);
  69. GLOBAL VOID KERNENTRY KSTerminateProcessAPCHandler(PDB *);
  70. GLOBAL VOID KERNENTRY KSTerminateThreadAPCHandler(TDB *);
  71. #endif // ndef WOW32_EXTENSIONS
  72. /* ------------------------------------------------------------ */
  73. /* ------------------------------------------------------------ */
  74. /* ------------------------------------------------------------ */
  75. /* ------------------------------------------------------------ */
  76. /* ------------------------------------------------------------ */
  77. /* ------------------------------------------------------------ */
  78. /* ------------------------------------------------------------ */
  79. /* ------------------------------------------------------------ */
  80. /************************************************************************/