- 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