Leaked source code of windows server 2003
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.

117 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 1989 Microsoft Corporation
  3. Module Name:
  4. RxData.c
  5. Abstract:
  6. This module declares the global data used by the Rx file system.
  7. Author:
  8. JoeLinn [JoeLinn] 1-Dec-94
  9. Revision History:
  10. --*/
  11. #include "precomp.h"
  12. #pragma hdrstop
  13. #include "stdarg.h"
  14. #include "stdio.h"
  15. #include "string.h"
  16. #include "prefix.h"
  17. //
  18. // The global fsd data record, and zero large integer
  19. //
  20. RX_DISPATCHER RxDispatcher;
  21. RX_WORK_QUEUE_DISPATCHER RxDispatcherWorkQueues;
  22. LIST_ENTRY RxSrvCalldownList;
  23. LIST_ENTRY RxActiveContexts;
  24. PRX_CONTEXT RxStopContext = NULL;
  25. //
  26. // the debugger extension needs to know the target architecture. sacrifice one ulong....
  27. // the highorder 0xabc is just for consistency..........
  28. ULONG RxProcessorArchitecture = 0xabc0000 |
  29. #if defined(_X86_)
  30. RX_PROCESSOR_ARCHITECTURE_INTEL;
  31. #elif defined(_MIPS_)
  32. RX_PROCESSOR_ARCHITECTURE_MIPS;
  33. #elif defined(_ALPHA_)
  34. RX_PROCESSOR_ARCHITECTURE_ALPHA;
  35. #elif defined(_PPC_)
  36. RX_PROCESSOR_ARCHITECTURE_PPC;
  37. #else
  38. RX_PROCESSOR_ARCHITECTURE_UNKNOWN;
  39. #endif
  40. #ifdef EXPLODE_POOLTAGS
  41. ULONG RxExplodePoolTags = 1;
  42. #else
  43. ULONG RxExplodePoolTags = 0;
  44. #endif
  45. KMUTEX RxSerializationMutex;
  46. RDBSS_DATA RxData;
  47. RDBSS_EXPORTS RxExports;
  48. ULONG RxElapsedSecondsSinceStart;
  49. KSPIN_LOCK RxStrucSupSpinLock = {0}; // used to synchronize access to zones/structures
  50. PRDBSS_DEVICE_OBJECT RxFileSystemDeviceObject;
  51. NTSTATUS RxStubStatus = (STATUS_NOT_IMPLEMENTED);
  52. FCB RxDeviceFCB;
  53. LARGE_INTEGER RxLargeZero = {0,0};
  54. LARGE_INTEGER RxMaxLarge = {MAXULONG,MAXLONG};
  55. LARGE_INTEGER Rx30Milliseconds = {(ULONG)(-30 * 1000 * 10), -1};
  56. LARGE_INTEGER RxOneSecond = {10000000,0};
  57. LARGE_INTEGER RxOneDay = {0x2a69c000, 0xc9};
  58. LARGE_INTEGER RxJanOne1980 = {0xe1d58000,0x01a8e79f};
  59. LARGE_INTEGER RxDecThirtyOne1979 = {0xb76bc000,0x01a8e6d6};
  60. ULONG RxFsdEntryCount = 0;
  61. ULONG RxFspEntryCount = 0;
  62. ULONG RxIoCallDriverCount = 0;
  63. LONG RxPerformanceTimerLevel = 0x00000000;
  64. ULONG RxTotalTicks[32] = { 0 };
  65. //
  66. // I need this because C can't support conditional compilation within
  67. // a macro.
  68. //
  69. PVOID RxNull = NULL;
  70. extern LONG RxNumberOfActiveFcbs = 0;
  71. // Reference Tracing mask value .. Turn it on by default for DBG builds
  72. #ifdef DBG
  73. ULONG RdbssReferenceTracingValue = 0x8000003f;
  74. #else
  75. ULONG RdbssReferenceTracingValue = 0;
  76. #endif
  77. UNICODE_STRING s_PipeShareName = { 10, 10, L"\\PIPE" };
  78. UNICODE_STRING s_MailSlotShareName = { 18, 18, L"\\MAILSLOT" };
  79. UNICODE_STRING s_MailSlotServerPrefix = {8,8,L";$:\\"};
  80. UNICODE_STRING s_IpcShareName = { 10, 10, L"\\IPC$" };
  81. UNICODE_STRING s_PrimaryDomainName = {0,0,NULL};