[AUTHZ]
[reactos.git] / reactos / dll / win32 / authz / precomp.h
1 #ifndef __AUTHZ_PRECOMP_H
2 #define __AUTHZ_PRECOMP_H
3
4 #define _AUTHZ_
5
6 #define WIN32_NO_STATUS
7 #define _INC_WINDOWS
8 #define COM_NO_WINDOWS_H
9
10 #include <stdarg.h>
11 #include <windef.h>
12 #include <winbase.h>
13
14 #include <authz.h>
15
16 #if DBG
17
18 #define RESMAN_TAG 0x89ABCDEF
19 #define CLIENTCTX_TAG 0x789ABCDE
20 #define VALIDATE_RESMAN_HANDLE(handle) ASSERT(((PAUTHZ_RESMAN)handle)->Tag == RESMAN_TAG)
21 #define VALIDATE_CLIENTCTX_HANDLE(handle) ASSERT(((PAUTHZ_CLIENT_CONTEXT)handle)->Tag == CLIENTCTX_TAG)
22
23 #else
24
25 #define VALIDATE_RESMAN_HANDLE(handle)
26 #define VALIDATE_CLIENTCTX_HANDLE(handle)
27
28 #endif
29
30 typedef struct _AUTHZ_RESMAN
31 {
32 #if DBG
33 DWORD Tag;
34 #endif
35
36 PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnAccessCheck;
37 PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups;
38 PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups;
39
40 DWORD flags;
41 PSID UserSid;
42 LUID AuthenticationId;
43
44 WCHAR ResourceManagerName[1];
45 } AUTHZ_RESMAN, *PAUTHZ_RESMAN;
46
47 typedef struct _AUTHZ_CLIENT_CONTEXT
48 {
49 #if DBG
50 DWORD Tag;
51 #endif
52
53 PSID UserSid;
54
55 AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager;
56 LUID Luid;
57 LARGE_INTEGER ExpirationTime;
58 AUTHZ_CLIENT_CONTEXT_HANDLE ServerContext;
59 PVOID DynamicGroupArgs;
60 } AUTHZ_CLIENT_CONTEXT, *PAUTHZ_CLIENT_CONTEXT;
61
62 #endif /* __AUTHZ_PRECOMP_H */
63 /* EOF */