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.

69 lines
1.8 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation
  3. Module Name:
  4. forwarddeclarations.h
  5. Abstract:
  6. Forward declare lots of struct, class, and union types,
  7. and pointer typedefs thereof.
  8. Author:
  9. Jay Krell (a-JayK, JayKrell) December 2000
  10. Environment:
  11. Revision History:
  12. --*/
  13. #pragma once
  14. #include "preprocessor.h"
  15. /*-----------------------------------------------------------------------------
  16. This forward declares NT style structs, so you can declare uses of pointers
  17. to them in headers without including the header that defines them, and without
  18. referring to them as "struct _FOO*" but "PFOO" or "FOO*" instead.
  19. The header that defines them should not use this macro, but stick to the
  20. consistent style
  21. typedef struct _FOO
  22. {
  23. ..
  24. } FOO, *PFOO;
  25. typedef const FOO* PCFOO;
  26. -----------------------------------------------------------------------------*/
  27. #define FORWARD_NT_STRUCT(x) \
  28. struct PASTE(_,x); \
  29. typedef struct PASTE(_,x) x; \
  30. typedef x* PASTE(P,x); \
  31. typedef const x* PASTE(PC,x)
  32. #define FORWARD_NT_UNION(x) \
  33. union PASTE(_,x); \
  34. typedef union PASTE(_,x) x; \
  35. typedef x* PASTE(P,x); \
  36. typedef const x* PASTE(PC,x)
  37. #define FORWARD_CLASS(x) \
  38. class x; \
  39. typedef x* PASTE(P,x); \
  40. typedef const x* PASTE(PC,x)
  41. FORWARD_NT_UNION(ACTCTXCTB_CALLBACK_DATA);
  42. FORWARD_NT_STRUCT(ACTCTXCTB);
  43. FORWARD_CLASS(ACTCTXCTB_INSTALLATION_CONTEXT);
  44. FORWARD_NT_STRUCT(ACTCTXCTB_CLSIDMAPPING_CONTEXT);
  45. FORWARD_NT_STRUCT(ACTCTXCTB_ASSEMBLY_CONTEXT);
  46. FORWARD_NT_STRUCT(ACTCTXCTB_PARSE_CONTEXT);
  47. FORWARD_NT_STRUCT(SXS_NODE_INFO);
  48. FORWARD_NT_STRUCT(ACTCTXCTB_CBHEADER);
  49. FORWARD_NT_STRUCT(ACTCTXCTB_CBPARSEENDING);
  50. FORWARD_NT_STRUCT(ACTCTXCTB_CBPARSEBEGINNING);
  51. FORWARD_NT_STRUCT(ASSEMBLY_IDENTITY);