From e7a27694b99d117054ad8bb1e35df83d3cc0083e Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Thu, 15 Jan 2009 09:30:11 +0300 Subject: [PATCH] advapi32: Added SaferCreateLevel stub. --- dlls/advapi32/advapi32.spec | 2 +- dlls/advapi32/security.c | 11 ++++++++ include/Makefile.in | 1 + include/winsafer.h | 50 +++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 include/winsafer.h diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec index 3140f627a75..219e3d1a843 100644 --- a/dlls/advapi32/advapi32.spec +++ b/dlls/advapi32/advapi32.spec @@ -540,7 +540,7 @@ @ stdcall RevertToSelf() # @ stub SaferCloseLevel # @ stub SaferComputeTokenFromLevel -# @ stub SaferCreateLevel +@ stdcall SaferCreateLevel(long long long ptr ptr) # @ stub SaferGetLevelInformation # @ stub SaferGetPolicyInformation # @ stub SaferIdentifyLevel diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c index 822937770b3..43d6d07d328 100644 --- a/dlls/advapi32/security.c +++ b/dlls/advapi32/security.c @@ -28,6 +28,7 @@ #include "winbase.h" #include "winerror.h" #include "winreg.h" +#include "winsafer.h" #include "winternl.h" #include "winioctl.h" #include "ntsecapi.h" @@ -5122,3 +5123,13 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType, FIXME("stub\n"); return ERROR_SUCCESS; } + +/****************************************************************************** + * SaferCreateLevel [ADVAPI32.@] + */ +BOOL WINAPI SaferCreateLevel(DWORD ScopeId, DWORD LevelId, DWORD OpenFlags, + SAFER_LEVEL_HANDLE* LevelHandle, LPVOID lpReserved) +{ + FIXME("(%u, %x, %u, %p, %p) stub\n", ScopeId, LevelId, OpenFlags, LevelHandle, lpReserved); + return FALSE; +} diff --git a/include/Makefile.in b/include/Makefile.in index 2a990c0a10d..7aca0e496eb 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -448,6 +448,7 @@ SRCDIR_INCLUDES = \ winperf.h \ winreg.h \ winresrc.h \ + winsafer.h \ winscard.h \ winsmcrd.h \ winsock.h \ diff --git a/include/winsafer.h b/include/winsafer.h new file mode 100644 index 00000000000..d7b75c77478 --- /dev/null +++ b/include/winsafer.h @@ -0,0 +1,50 @@ +/* + * Winsafer definitions + * + * Copyright (C) 2009 Nikolay Sivov + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __WINE_WINSAFER_H +#define __WINE_WINSAFER_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +DECLARE_HANDLE(SAFER_LEVEL_HANDLE); + +#define SAFER_SCOPEID_MACHINE 1 +#define SAFER_SCOPEID_USER 2 + +#define SAFER_LEVELID_DISALLOWED 0x00000 +#define SAFER_LEVELID_UNTRUSTED 0x01000 +#define SAFER_LEVELID_CONSTRAINED 0x10000 +#define SAFER_LEVELID_NORMALUSER 0x20000 +#define SAFER_LEVELID_FULLYTRUSTED 0x40000 + +#define SAFER_LEVEL_OPEN 1 + +WINADVAPI BOOL WINAPI SaferCreateLevel(DWORD,DWORD,DWORD,SAFER_LEVEL_HANDLE*,LPVOID); + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_WINSAFER_H */