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.

137 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. precomp.h
  5. Abstract:
  6. This is the local header file for SR. It includes all other
  7. necessary header files for SR.
  8. Author:
  9. Paul McDaniel (paulmcd) 23-Jan-2000
  10. Revision History:
  11. --*/
  12. #ifndef _PRECOMP_H_
  13. #define _PRECOMP_H_
  14. #pragma warning(error:4100) // Unreferenced formal parameter
  15. #pragma warning(error:4101) // Unreferenced local variable
  16. //
  17. // System include files.
  18. //
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. //
  23. // include ntos.h instead of ntifs.h as the public headers don't
  24. // let you include multiple headers (like ntifs + ntobapi) .
  25. // we need to use public structures from both headers so need a global header
  26. // that actually works
  27. //
  28. //#define _NTIFS_ //needed to tell NTOS we are not in the OS.
  29. //#include <ntos.h>
  30. //#include <zwapi.h>
  31. #include <ntifs.h>
  32. #include <stdio.h>
  33. #include <mountmgr.h> // MountManager (for getting volume guids)
  34. //#include <ntrtl.h>
  35. //
  36. // BUGBUG: stolen from io.h until nt6 adds proper fastio hooking for
  37. // createsection. paulmcd (5/2000)
  38. //
  39. #ifdef _NTOS_
  40. // from ntifs.h (her manually because i have to include ntos.h for now)
  41. typedef struct _FSRTL_COMMON_FCB_HEADER {
  42. CSHORT NodeTypeCode;
  43. CSHORT NodeByteSize;
  44. UCHAR Flags;
  45. UCHAR IsFastIoPossible; // really type FAST_IO_POSSIBLE
  46. UCHAR Flags2;
  47. UCHAR Reserved;
  48. PERESOURCE Resource;
  49. PERESOURCE PagingIoResource;
  50. LARGE_INTEGER AllocationSize;
  51. LARGE_INTEGER FileSize;
  52. LARGE_INTEGER ValidDataLength;
  53. } FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
  54. #endif //_NTOS_
  55. //
  56. // needed for srapi.h (but never used by the driver)
  57. //
  58. typedef PVOID LPOVERLAPPED;
  59. #define WINAPI __stdcall
  60. //
  61. // need this macro to disappear in order to use FileDispositionInformation
  62. //
  63. #undef DeleteFile
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67. //
  68. // Force the memxxx() functions to be intrinsics so we can build
  69. // the driver even if MSC_OPTIMIZATION=/Od is specified. This is
  70. // necessary because the memxxx() functions are not exported by
  71. // NTOSKRNL.
  72. //
  73. #pragma intrinsic( memcmp, memcpy, memset, strcmp )
  74. //
  75. // Project include files.
  76. //
  77. #include "srapi.h"
  78. #include "hash.h"
  79. #include "windef.h"
  80. #include "common.h"
  81. #include "blob.h"
  82. #include "pathtree.h"
  83. #include "hashlist.h"
  84. #include "lookup.h"
  85. #include "srpriv.h"
  86. #include "srlog.h"
  87. #include "srio.h"
  88. #include "control.h"
  89. #include "fastio.h"
  90. #include "dispatch.h"
  91. #include "event.h"
  92. #include "notify.h"
  93. #include "filelist.h"
  94. #include "copyfile.h"
  95. #include "config.h"
  96. #include "lock.h"
  97. #include "context.h"
  98. #include "filenames.h"
  99. #include "stats.h"
  100. #include <srmsg.h>
  101. BOOL SrVerifyBlob(PBYTE Blob);
  102. #endif // _PRECOMP_H_