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.

71 lines
1.2 KiB

  1. /*++
  2. Copyright (c) 1999-2001 Microsoft Corporation. All Rights Reserved.
  3. Module Name:
  4. rtinfo.h
  5. Abstract:
  6. This module defines the valid realtime thread states as well as structures
  7. used on Win9x for passing information about rt.sys to various kernel modules.
  8. Author:
  9. Joseph Ballantyne
  10. Environment:
  11. Kernel Mode
  12. Revision History:
  13. --*/
  14. // These are the valid realtime thread states.
  15. enum {
  16. RUN,
  17. YIELD,
  18. BLOCKEDONSPINLOCK,
  19. SPINNINGONSPINLOCK,
  20. YIELDAFTERSPINLOCKRELEASE,
  21. EXIT,
  22. DEAD
  23. };
  24. #ifndef UNDER_NT
  25. // These structures are used on Win9x to pass information about rt to ntkern,
  26. // vmm, and vpowerd respectively. On NT they are not used.
  27. typedef struct {
  28. ULONG *pRtCs;
  29. volatile CHAR **pBase;
  30. volatile ULONG **pThread;
  31. BOOL (**pFunction1)(WORD State, ULONG Data, BOOL (*DoTransfer)(PVOID), PVOID Context);
  32. VOID (**pFunction2)(VOID (*Operation)(PVOID), PVOID Context);
  33. } NtRtData, *pNtRtData;
  34. typedef struct {
  35. ULONG *pRtCs;
  36. volatile CHAR **pBase;
  37. VOID (**pFunction)(VOID (*Operation)(PVOID), PVOID Context);
  38. } VmmRtData, *pVmmRtData;
  39. typedef struct {
  40. VOID (**pFunction)(VOID);
  41. } VpdRtData, *pVpdRtData;
  42. #endif