70 lines
1.7 KiB
C
70 lines
1.7 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
ForwardDeclarations.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Forward declare lots of struct, class, and union types,
|
||
|
and pointer typedefs thereof.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Jay Krell (a-JayK) December 2000
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#pragma once
|
||
|
|
||
|
#include "Preprocessor.h"
|
||
|
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
This forward declares NT style structs, so you can declare uses of pointers
|
||
|
to them in headers without including the header that defines them, and without
|
||
|
referring to them as "struct _FOO*" but "PFOO" or "FOO*" instead.
|
||
|
|
||
|
The header that defines them should not use this macro, but stick to the
|
||
|
consistent style
|
||
|
typedef struct _FOO
|
||
|
{
|
||
|
..
|
||
|
} FOO, *PFOO;
|
||
|
typedef const FOO* PCFOO;
|
||
|
-----------------------------------------------------------------------------*/
|
||
|
#define FORWARD_NT_STRUCT(x) \
|
||
|
struct PASTE(_,x); \
|
||
|
typedef struct PASTE(_,x) x; \
|
||
|
typedef x* PASTE(P,x); \
|
||
|
typedef const x* PASTE(PC,x)
|
||
|
|
||
|
#define FORWARD_NT_UNION(x) \
|
||
|
union PASTE(_,x); \
|
||
|
typedef union PASTE(_,x) x; \
|
||
|
typedef x* PASTE(P,x); \
|
||
|
typedef const x* PASTE(PC,x)
|
||
|
|
||
|
#define FORWARD_CLASS(x) \
|
||
|
class x; \
|
||
|
typedef x* PASTE(P,x); \
|
||
|
typedef const x* PASTE(PC,x)
|
||
|
|
||
|
FORWARD_NT_UNION(ACTCTXCTB_CALLBACK_DATA);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB);
|
||
|
FORWARD_CLASS(ACTCTXCTB_INSTALLATION_CONTEXT);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB_CLSIDMAPPING_CONTEXT);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB_ASSEMBLY_CONTEXT);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB_PARSE_CONTEXT);
|
||
|
FORWARD_NT_STRUCT(SXS_NODE_INFO);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB_CBHEADER);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB_CBPARSEENDING);
|
||
|
FORWARD_NT_STRUCT(ACTCTXCTB_CBPARSEBEGINNING);
|
||
|
FORWARD_NT_STRUCT(ASSEMBLY_IDENTITY);
|
||
|
|