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.

109 lines
2.3 KiB

  1. /*++ BUILD Version: 0009 // Increment this if a change has global effects
  2. Copyright (c) 1987-1993 Microsoft Corporation
  3. Module Name:
  4. rx.h
  5. Abstract:
  6. This module is the overall h-file-wrapper for RDBSS.
  7. Revision History:
  8. Balan Sethu Raman (SethuR) 06-Feb-95 Created
  9. Notes:
  10. --*/
  11. #ifndef _RX_H_
  12. #define _RX_H_
  13. #include "rxovride.h" // common compile environment
  14. #include "ntifs.h" // NT file system driver include file.
  15. #ifdef RX_PRIVATE_BUILD
  16. //
  17. // no one should be using these
  18. //
  19. #ifdef IoGetTopLevelIrp
  20. #error IoGetTopLevelIrp is deffed
  21. #else
  22. #define IoGetTopLevelIrp() IoxxxxxxGetTopLevelIrp()
  23. #endif
  24. #ifdef IoSetTopLevelIrp
  25. #error IoSetTopLevelIrp is deffed
  26. #else
  27. #define IoSetTopLevelIrp(irp) IoxxxxxxSetTopLevelIrp(irp)
  28. #endif
  29. #endif // ifdef RX_PRIVATE_BUILD
  30. //
  31. // These macros sugarcoat flag manipulation just a bit
  32. //
  33. #ifndef BooleanFlagOn
  34. #define BooleanFlagOn(Flags,SingleFlag) ((BOOLEAN)((((Flags) & (SingleFlag)) != 0)))
  35. #endif
  36. #ifndef SetFlag
  37. #define SetFlag(Flags,SetOfFlags) { \
  38. (Flags) |= (SetOfFlags); \
  39. }
  40. #endif
  41. #ifndef FlagOn
  42. //
  43. // This macro returns TRUE if a flag in a set of flags is on and FALSE
  44. // otherwise
  45. //
  46. #define FlagOn(Flags,SingleFlag) ((Flags) & (SingleFlag))
  47. #endif
  48. #ifndef ClearFlag
  49. #define ClearFlag(Flags,SetOfFlags) { \
  50. (Flags) &= ~(SetOfFlags); \
  51. }
  52. #endif
  53. #define Add2Ptr(P,I) ((PVOID)((PUCHAR)(P) + (I)))
  54. //
  55. // define INLINE to be the appropriate keyword for ANSI C
  56. //
  57. #define INLINE __inline
  58. #include "rxtypes.h"
  59. #ifndef MINIRDR__NAME
  60. #include "rxpooltg.h" // RX pool tag macros
  61. #endif
  62. #include "ntrxdef.h"
  63. #include "rxce.h" // RxCe functions
  64. #include "rxcehdlr.h" // RxCe event handler specifications
  65. #include "fcbtable.h" // FCB table data structures
  66. #include "midatlax.h" // mid atlas structures
  67. #include "mrxfcb.h"
  68. #include "namcache.h" // structs and func defs for name cache routines
  69. #include "rxworkq.h"
  70. #include "rxprocs.h"
  71. #include "rxexcept.h"
  72. #ifndef MINIRDR__NAME
  73. #include "rxdata.h"
  74. #include "buffring.h"
  75. #endif
  76. #define MAKE_RESOURCE_OWNER(X) (((ERESOURCE_THREAD)(X)) | 0x3)
  77. #define RESOURCE_OWNER_SET(X) (((X) & 0x3) == 0x3)
  78. #endif // #ifdef _RX_H_