- added stubs for authz.dll
- added an authz.h to w32api
Added: trunk/reactos/lib/authz/
Added: trunk/reactos/lib/authz/authz.c
Added: trunk/reactos/lib/authz/authz.def
Added: trunk/reactos/lib/authz/authz.rc
Added: trunk/reactos/lib/authz/authz.xml
Added: trunk/reactos/lib/authz/precomp.h
Modified: trunk/reactos/lib/directory.xml
Added: trunk/reactos/w32api/include/authz.h
Property changes on: trunk/reactos/lib/authz
___________________________________________________________________
Name: svn:ignore
   + *.coff
*.dll
*.d
*.a
*.o
*.sym
*.map
*.tmp
*.gch
GNUmakefile

Added: trunk/reactos/lib/authz/authz.c
--- trunk/reactos/lib/authz/authz.c	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/lib/authz/authz.c	2005-09-30 21:28:29 UTC (rev 18177)
@@ -0,0 +1,420 @@
+/*
+ * ReactOS Authorization Framework
+ * Copyright (C) 2005 ReactOS Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+/* $Id: aclui.c 18173 2005-09-30 18:54:48Z weiden $
+ *
+ * PROJECT:         ReactOS Authorization Framework
+ * FILE:            lib/authz/authz.c
+ * PURPOSE:         Authorization Framework
+ * PROGRAMMER:      Thomas Weidenmueller <w3seek@reactos.com>
+ *
+ * UPDATE HISTORY:
+ *      09/30/2005  Created
+ */
+#include <precomp.h>
+
+HINSTANCE hDllInstance;
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzAccessCheck(IN DWORD flags,
+                 IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext,
+                 IN PAUTHZ_ACCESS_REQUEST pRequest,
+                 IN AUTHZ_AUDIT_INFO_HANDLE AuditInfo,
+                 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
+                 IN PSECURITY_DESCRIPTOR* OptionalSecurityDescriptorArray,
+                 IN DWORD OptionalSecurityDescriptorCount  OPTIONAL,
+                 IN OUT PAUTHZ_ACCESS_REPLY pReply,
+                 OUT PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE pAuthzHandle)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzAddSidsToContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE OrigClientContext,
+                      IN PSID_AND_ATTRIBUTES Sids,
+                      IN DWORD SidCount,
+                      IN PSID_AND_ATTRIBUTES RestrictedSids,
+                      IN DWORD RestrictedSidCount,
+                      OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pNewClientContext)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzCachedAccessCheck(IN DWORD Flags,
+                       IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle,
+                       IN PAUTHZ_ACCESS_REQUEST pRequest,
+                       IN AUTHZ_AUDIT_EVENT_HANDLE AuditInfo,
+                       OUT PAUTHZ_ACCESS_REPLY pReply)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzEnumerateSecurityEventSources(IN DWORD dwFlags,
+                                   OUT PAUTHZ_SOURCE_SCHEMA_REGISTRATION Buffer,
+                                   OUT PDWORD pdwCount,
+                                   IN OUT PDWORD pdwLength)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeAuditEvent(IN AUTHZ_AUDIT_EVENT_HANDLE pAuditEventInfo)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeHandle(IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeResourceManager(IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzGetInformationFromContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
+                               IN AUTHZ_CONTEXT_INFORMATION_CLASS InfoClass,
+                               IN DWORD BufferSize,
+                               OUT PDWORD pSizeRequired,
+                               OUT PVOID Buffer)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeContextFromAuthzContext(IN DWORD flags,
+                                       IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzHandle,
+                                       IN PLARGE_INTEGER ExpirationTime,
+                                       IN LUID Identifier,
+                                       IN PVOID DynamicGroupArgs,
+                                       OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzHandle)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeContextFromSid(IN DWORD Flags,
+                              IN PSID UserSid,
+                              IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
+                              IN PLARGE_INTEGER pExpirationTime,
+                              IN LUID Identifier,
+                              IN PVOID DynamicGroupArgs,
+                              OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeContextFromToken(IN DWORD Flags,
+                                IN HANDLE TokenHandle,
+                                IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
+                                IN PLARGE_INTEGER pExpirationTime,
+                                IN LUID Identifier,
+                                IN PVOID DynamicGroupArgs,
+                                OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeObjectAccessAuditEvent(IN DWORD Flags,
+                                      IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
+                                      IN PWSTR szOperationType,
+                                      IN PWSTR szObjectType,
+                                      IN PWSTR szObjectName,
+                                      IN PWSTR szAdditionalInfo,
+                                      OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
+                                      IN DWORD dwAdditionalParamCount)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeObjectAccessAuditEvent2(IN DWORD Flags,
+                                       IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
+                                       IN PWSTR szOperationType,
+                                       IN PWSTR szObjectType,
+                                       IN PWSTR szObjectName,
+                                       IN PWSTR szAdditionalInfo,
+                                       IN PWSTR szAdditionalInfo2,
+                                       OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
+                                       IN DWORD dwAdditionalParameterCount)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeResourceManager(IN DWORD flags,
+                               IN PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnAccessCheck,
+                               IN PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups,
+                               IN PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups,
+                               IN PCWSTR ResourceManagerName,
+                               IN PAUTHZ_RESOURCE_MANAGER_HANDLE pAuthzResourceManager)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInstallSecurityEventSource(IN DWORD dwFlags,
+                                IN PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzOpenObjectAudit(IN DWORD Flags,
+                     IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
+                     IN PAUTHZ_ACCESS_REQUEST pRequest,
+                     IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
+                     IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
+                     IN PSECURITY_DESCRIPTOR* SecurityDescriptorArray,
+                     IN DWORD SecurityDescriptorCount,
+                     OUT PAUTHZ_ACCESS_REPLY pReply)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzRegisterSecurityEventSource(IN DWORD dwFlags,
+                                 IN PCWSTR szEventSourceName,
+                                 IN PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzReportSecurityEvent(IN DWORD dwFlags,
+                         IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
+                         IN DWORD dwAuditId,
+                         IN PSID pUserSid  OPTIONAL,
+                         IN DWORD dwCount,
+                         ...)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzReportSecurityEventFromParams(IN DWORD dwFlags,
+                                   IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
+                                   IN DWORD dwAuditId,
+                                   IN PSID pUserSid  OPTIONAL,
+                                   IN PAUDIT_PARAMS pParams)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzUninstallSecurityEventSource(IN DWORD dwFlags,
+                                  IN PWSTR szEventSourceName)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+AUTHZAPI
+BOOL
+WINAPI
+AuthzUnregisterSecurityEventSource(IN DWORD dwFlags,
+                                   IN OUT PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+BOOL STDCALL
+DllMain(IN HINSTANCE hinstDLL,
+        IN DWORD dwReason,
+        IN LPVOID lpvReserved)
+{
+    switch (dwReason)
+    {
+        case DLL_PROCESS_ATTACH:
+            hDllInstance = hinstDLL;
+            break;
+
+        case DLL_THREAD_ATTACH:
+        case DLL_THREAD_DETACH:
+        case DLL_PROCESS_DETACH:
+            break;
+    }
+    return TRUE;
+}
+
Property changes on: trunk/reactos/lib/authz/authz.c
___________________________________________________________________
Name: svn:keywords
   + author date revision
Name: svn:eol-style
   + native

Added: trunk/reactos/lib/authz/authz.def
--- trunk/reactos/lib/authz/authz.def	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/lib/authz/authz.def	2005-09-30 21:28:29 UTC (rev 18177)
@@ -0,0 +1,46 @@
+LIBRARY authz.dll
+
+EXPORTS
+AuthzAccessCheck@36
+AuthzAddSidsToContext@24
+AuthzCachedAccessCheck@20
+AuthzEnumerateSecurityEventSources@16
+AuthzFreeAuditEvent@4
+AuthzFreeContext@4
+AuthzFreeHandle@4
+AuthzFreeResourceManager@4
+AuthzGetInformationFromContext@20
+AuthzInitializeContextFromAuthzContext@28
+AuthzInitializeContextFromSid@32
+AuthzInitializeContextFromToken@32
+AuthzInitializeObjectAccessAuditEvent@32
+AuthzInitializeObjectAccessAuditEvent2@36
+AuthzInitializeResourceManager@24
+AuthzInstallSecurityEventSource@8
+AuthzOpenObjectAudit@32
+AuthzRegisterSecurityEventSource@12
+AuthzReportSecurityEvent@20=AuthzReportSecurityEvent
+AuthzReportSecurityEventFromParams@20
+AuthzUninstallSecurityEventSource@8
+AuthzUnregisterSecurityEventSource@8
+;AuthziAllocateAuditParams
+;AuthziFreeAuditEventType
+;AuthziFreeAuditParams
+;AuthziFreeAuditQueue
+;AuthziInitializeAuditEvent
+;AuthziInitializeAuditEventType
+;AuthziInitializeAuditParams
+;AuthziInitializeAuditParamsFromArray
+;AuthziInitializeAuditParamsWithRM
+;AuthziInitializeAuditQueue
+;AuthziInitializeContextFromSid
+;AuthziLogAuditEvent
+;AuthziModifyAuditEvent2
+;AuthziModifyAuditEvent
+;AuthziModifyAuditEventType
+;AuthziModifyAuditQueue
+;AuthziQueryAuditPolicy
+;AuthziSetAuditPolicy
+;AuthziSourceAudit
+
+; EOF

Added: trunk/reactos/lib/authz/authz.rc
--- trunk/reactos/lib/authz/authz.rc	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/lib/authz/authz.rc	2005-09-30 21:28:29 UTC (rev 18177)
@@ -0,0 +1,10 @@
+#include <windows.h>
+#include <reactos/resource.h>
+#include "resource.h"
+
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION	"ReactOS Authorization Framework\0"
+#define REACTOS_STR_INTERNAL_NAME	"authz\0"
+#define REACTOS_STR_ORIGINAL_FILENAME	"authz.dll\0"
+#include <reactos/version.rc>
+
Property changes on: trunk/reactos/lib/authz/authz.rc
___________________________________________________________________
Name: svn:keywords
   + author date revision
Name: svn:eol-style
   + native

Added: trunk/reactos/lib/authz/authz.xml
--- trunk/reactos/lib/authz/authz.xml	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/lib/authz/authz.xml	2005-09-30 21:28:29 UTC (rev 18177)
@@ -0,0 +1,16 @@
+<module name="authz" type="win32dll" baseaddress="${BASEADDRESS_AUTHZ}" installbase="system32" installname="authz.dll">
+	<importlibrary definition="authz.def" />
+	<include base="authz">.</include>
+	<define name="UNICODE" />
+	<define name="_UNICODE" />
+	<define name="__USE_W32API" />
+	<define name="_WIN32_IE">0x0500</define>
+	<define name="_WIN32_WINNT">0x0600</define>
+	<define name="WINVER">0x0600</define>
+	<library>ntdll</library>
+	<library>kernel32</library>
+	<library>advapi32</library>
+	<file>authz.c</file>
+	<file>authz.rc</file>
+	<pch>precomp.h</pch>
+</module>
Property changes on: trunk/reactos/lib/authz/authz.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/reactos/lib/authz/precomp.h
--- trunk/reactos/lib/authz/precomp.h	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/lib/authz/precomp.h	2005-09-30 21:28:29 UTC (rev 18177)
@@ -0,0 +1,15 @@
+#define _AUTHZ_
+#include <windows.h>
+#include <authz.h>
+
+ULONG DbgPrint(PCH Format,...);
+#ifndef DPRINT1
+#define DPRINT1 DbgPrint
+#endif
+
+#ifndef UNIMPLEMENTED
+#define UNIMPLEMENTED DbgPrint("AUTHZ.DLL: %s is UNIMPLEMENTED!\n", __FUNCTION__)
+#endif
+
+
+/* EOF */
Property changes on: trunk/reactos/lib/authz/precomp.h
___________________________________________________________________
Name: svn:keywords
   + author date revision
Name: svn:eol-style
   + native

Modified: trunk/reactos/lib/directory.xml
--- trunk/reactos/lib/directory.xml	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/lib/directory.xml	2005-09-30 21:28:29 UTC (rev 18177)
@@ -14,6 +14,9 @@
 <directory name="advpack">
 	<xi:include href="advpack/advpack.xml" />
 </directory>
+<directory name="authz">
+	<xi:include href="authz/authz.xml" />
+</directory>
 <directory name="cabinet">
 	<xi:include href="cabinet/cabinet.xml" />
 </directory>

Added: trunk/reactos/w32api/include/authz.h
--- trunk/reactos/w32api/include/authz.h	2005-09-30 21:19:12 UTC (rev 18176)
+++ trunk/reactos/w32api/include/authz.h	2005-09-30 21:28:29 UTC (rev 18177)
@@ -0,0 +1,317 @@
+/*
+ * authz.h
+ *
+ * Authorization Framework
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef __AUTHZ_H
+#define __AUTHZ_H
+
+#if !defined(_AUTHZ_)
+#define AUTHZAPI DECLSPEC_IMPORT
+#else
+#define AUTHZAPI DECLSPEC_EXPORT
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD  0x1
+
+#define AUTHZ_GENERATE_SUCCESS_AUDIT    0x1
+#define AUTHZ_GENERATE_FAILURE_AUDIT    0x2
+
+#define AUTHZ_SKIP_TOKEN_GROUPS 0x2
+#define AUTHZ_REQUIRE_S4U_LOGON 0x4
+
+#define AUTHZ_NO_SUCCESS_AUDIT  0x1
+#define AUTHZ_NO_FAILURE_AUDIT  0x2
+#define AUTHZ_NO_ALLOC_STRINGS  0x4
+
+#define AUTHZ_RM_FLAG_NO_AUDIT  0x1
+#define AUTHZ_RM_FLAG_INITIALIZE_UNDER_IMPERSONATION    0x2
+
+typedef HANDLE AUTHZ_CLIENT_CONTEXT_HANDLE, *PAUTHZ_CLIENT_CONTEXT_HANDLE;
+typedef HANDLE AUTHZ_AUDIT_INFO_HANDLE, *PAUTHZ_AUDIT_INFO_HANDLE;
+typedef HANDLE AUTHZ_AUDIT_EVENT_HANDLE, *PAUTHZ_AUDIT_EVENT_HANDLE;
+typedef HANDLE AUTHZ_AUDIT_EVENT_TYPE_HANDLE, *PAUTHZ_AUDIT_EVENT_TYPE_HANDLE;
+typedef HANDLE AUTHZ_ACCESS_CHECK_RESULTS_HANDLE, *PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE;
+typedef HANDLE AUTHZ_RESOURCE_MANAGER_HANDLE, *PAUTHZ_RESOURCE_MANAGER_HANDLE;
+typedef HANDLE AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE, *PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE;
+
+#if !defined(_ADTGEN_H)
+/* FIXME - AUDIT_PARAMS is defined in adtgen.h!!!!! */
+typedef PVOID PAUDIT_PARAMS;
+#endif
+
+typedef enum _AUTHZ_CONTEXT_INFORMATION_CLASS
+{
+    AuthzContextInfoUserSid = 1,
+    AuthzContextInfoGroupsSids,
+    AuthzContextInfoRestrictedSids,
+    AuthzContextInfoPrivileges,
+    AuthzContextInfoExpirationTime,
+    AuthzContextInfoServerContext,
+    AuthzContextInfoIdentifier,
+    AuthzContextInfoSource,
+    AuthzContextInfoAll,
+    AuthzContextInfoAuthenticationId
+} AUTHZ_CONTEXT_INFORMATION_CLASS, *PAUTHZ_CONTEXT_INFORMATION_CLASS;
+
+typedef struct _AUTHZ_ACCESS_REQUEST
+{
+    ACCESS_MASK DesiredAccess;
+    PSID PrincipalSelfSid;
+    POBJECT_TYPE_LIST ObjectTypeList;
+    DWORD ObjectTypeListLength;
+    PVOID OptionalArguments;
+} AUTHZ_ACCESS_REQUEST, *PAUTHZ_ACCESS_REQUEST;
+
+typedef struct _AUTHZ_ACCESS_REPLY
+{
+    DWORD ResultListLength;
+    PACCESS_MASK GrantedAccessMask;
+    PDWORD SaclEvaluationResults;
+    PDWORD Error;;
+} AUTHZ_ACCESS_REPLY, *PAUTHZ_ACCESS_REPLY;
+
+typedef struct _AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET
+{
+    PWSTR szObjectTypeName;
+    DWORD dwOffset;
+} AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET, *PAUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET;
+
+typedef struct _AUTHZ_SOURCE_SCHEMA_REGISTRATION
+{
+    DWORD dwFlags;
+    PWSTR szEventSourceName;
+    PWSTR szEventMessageFile;
+    PWSTR szEventSourceXmlSchemaFile;
+    PWSTR szEventAccessStringsFile;
+    PWSTR szExecutableImagePath;
+    PVOID pReserved;
+    DWORD dwObjectTypeNameCount;
+    AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET ObjectTypeNames[ANYSIZE_ARRAY];
+} AUTHZ_SOURCE_SCHEMA_REGISTRATION, *PAUTHZ_SOURCE_SCHEMA_REGISTRATION;
+
+typedef BOOL (CALLBACK *PFN_AUTHZ_DYNAMIC_ACCESS_CHECK)(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
+                                                        IN PACE_HEADER pAce,
+                                                        IN PVOID pArgs  OPTIONAL,
+                                                        IN OUT PBOOL pbAceApplicable);
+
+typedef BOOL (CALLBACK *PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS)(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
+                                                          IN PVOID Args,
+                                                          OUT PSID_AND_ATTRIBUTES* pSidAttrArray,
+                                                          OUT PDWORD pSidCount,
+                                                          OUT PSID_AND_ATTRIBUTES* pRestrictedSidAttrArray,
+                                                          OUT PDWORD pRestrictedSidCount);
+
+typedef VOID (CALLBACK *PFN_AUTHZ_FREE_DYNAMIC_GROUPS)(IN PSID_AND_ATTRIBUTES pSidAttrArray);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzAccessCheck(IN DWORD flags,
+                 IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext,
+                 IN PAUTHZ_ACCESS_REQUEST pRequest,
+                 IN AUTHZ_AUDIT_INFO_HANDLE AuditInfo,
+                 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
+                 IN PSECURITY_DESCRIPTOR* OptionalSecurityDescriptorArray,
+                 IN DWORD OptionalSecurityDescriptorCount  OPTIONAL,
+                 IN OUT PAUTHZ_ACCESS_REPLY pReply,
+                 OUT PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE pAuthzHandle);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzAddSidsToContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE OrigClientContext,
+                      IN PSID_AND_ATTRIBUTES Sids,
+                      IN DWORD SidCount,
+                      IN PSID_AND_ATTRIBUTES RestrictedSids,
+                      IN DWORD RestrictedSidCount,
+                      OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pNewClientContext);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzCachedAccessCheck(IN DWORD Flags,
+                       IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle,
+                       IN PAUTHZ_ACCESS_REQUEST pRequest,
+                       IN AUTHZ_AUDIT_EVENT_HANDLE AuditInfo,
+                       OUT PAUTHZ_ACCESS_REPLY pReply);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzEnumerateSecurityEventSources(IN DWORD dwFlags,
+                                   OUT PAUTHZ_SOURCE_SCHEMA_REGISTRATION Buffer,
+                                   OUT PDWORD pdwCount,
+                                   IN OUT PDWORD pdwLength);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeAuditEvent(IN AUTHZ_AUDIT_EVENT_HANDLE pAuditEventInfo);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeHandle(IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzFreeResourceManager(IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzGetInformationFromContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
+                               IN AUTHZ_CONTEXT_INFORMATION_CLASS InfoClass,
+                               IN DWORD BufferSize,
+                               OUT PDWORD pSizeRequired,
+                               OUT PVOID Buffer);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeContextFromAuthzContext(IN DWORD flags,
+                                       IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzHandle,
+                                       IN PLARGE_INTEGER ExpirationTime,
+                                       IN LUID Identifier,
+                                       IN PVOID DynamicGroupArgs,
+                                       OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzHandle);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeContextFromSid(IN DWORD Flags,
+                              IN PSID UserSid,
+                              IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
+                              IN PLARGE_INTEGER pExpirationTime,
+                              IN LUID Identifier,
+                              IN PVOID DynamicGroupArgs,
+                              OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeContextFromToken(IN DWORD Flags,
+                                IN HANDLE TokenHandle,
+                                IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
+                                IN PLARGE_INTEGER pExpirationTime,
+                                IN LUID Identifier,
+                                IN PVOID DynamicGroupArgs,
+                                OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeObjectAccessAuditEvent(IN DWORD Flags,
+                                      IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
+                                      IN PWSTR szOperationType,
+                                      IN PWSTR szObjectType,
+                                      IN PWSTR szObjectName,
+                                      IN PWSTR szAdditionalInfo,
+                                      OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
+                                      IN DWORD dwAdditionalParamCount);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeObjectAccessAuditEvent2(IN DWORD Flags,
+                                       IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
+                                       IN PWSTR szOperationType,
+                                       IN PWSTR szObjectType,
+                                       IN PWSTR szObjectName,
+                                       IN PWSTR szAdditionalInfo,
+                                       IN PWSTR szAdditionalInfo2,
+                                       OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
+                                       IN DWORD dwAdditionalParameterCount);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInitializeResourceManager(IN DWORD flags,
+                               IN PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnAccessCheck,
+                               IN PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups,
+                               IN PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups,
+                               IN PCWSTR ResourceManagerName,
+                               IN PAUTHZ_RESOURCE_MANAGER_HANDLE pAuthzResourceManager);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzInstallSecurityEventSource(IN DWORD dwFlags,
+                                IN PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzOpenObjectAudit(IN DWORD Flags,
+                     IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
+                     IN PAUTHZ_ACCESS_REQUEST pRequest,
+                     IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
+                     IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
+                     IN PSECURITY_DESCRIPTOR* SecurityDescriptorArray,
+                     IN DWORD SecurityDescriptorCount,
+                     OUT PAUTHZ_ACCESS_REPLY pReply);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzRegisterSecurityEventSource(IN DWORD dwFlags,
+                                 IN PCWSTR szEventSourceName,
+                                 IN PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzReportSecurityEvent(IN DWORD dwFlags,
+                         IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
+                         IN DWORD dwAuditId,
+                         IN PSID pUserSid  OPTIONAL,
+                         IN DWORD dwCount,
+                         ...);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzReportSecurityEventFromParams(IN DWORD dwFlags,
+                                   IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
+                                   IN DWORD dwAuditId,
+                                   IN PSID pUserSid  OPTIONAL,
+                                   IN PAUDIT_PARAMS pParams);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzUninstallSecurityEventSource(IN DWORD dwFlags,
+                                  IN PWSTR szEventSourceName);
+
+AUTHZAPI
+BOOL
+WINAPI
+AuthzUnregisterSecurityEventSource(IN DWORD dwFlags,
+                                   IN OUT PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __AUTHZ_H */
Property changes on: trunk/reactos/w32api/include/authz.h
___________________________________________________________________
Name: svn:keywords
   + author date revision
Name: svn:eol-style
   + native