589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * Winsafer definitions
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync *
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * Copyright (C) 2009 Nikolay Sivov
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync *
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * This library is free software; you can redistribute it and/or
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * modify it under the terms of the GNU Lesser General Public
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * License as published by the Free Software Foundation; either
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * version 2.1 of the License, or (at your option) any later version.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync *
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * This library is distributed in the hope that it will be useful,
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * Lesser General Public License for more details.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync *
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * You should have received a copy of the GNU Lesser General Public
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * License along with this library; if not, write to the Free Software
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#ifndef __WINE_WINSAFER_H
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define __WINE_WINSAFER_H
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#include <guiddef.h>
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#include <wincrypt.h>
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#ifdef __cplusplus
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncextern "C" {
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#endif
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncDECLARE_HANDLE(SAFER_LEVEL_HANDLE);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_SCOPEID_MACHINE 1
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_SCOPEID_USER 2
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_LEVELID_DISALLOWED 0x00000
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_LEVELID_UNTRUSTED 0x01000
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_LEVELID_CONSTRAINED 0x10000
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_LEVELID_NORMALUSER 0x20000
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_LEVELID_FULLYTRUSTED 0x40000
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define SAFER_LEVEL_OPEN 1
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncWINADVAPI BOOL WINAPI SaferCreateLevel(DWORD,DWORD,DWORD,SAFER_LEVEL_HANDLE*,LPVOID);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsynctypedef enum _SAFER_POLICY_INFO_CLASS {
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync SaferPolicyLevelList = 1,
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync SaferPolicyEnableTransparentEnforcement,
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync SaferPolicyDefaultLevel,
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync SaferPolicyEvaluateUserScope,
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync SaferPolicyScopeFlags
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync} SAFER_POLICY_INFO_CLASS;
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsyncWINADVAPI BOOL WINAPI SaferGetPolicyInformation(DWORD,SAFER_POLICY_INFO_CLASS,DWORD,PVOID,PDWORD,LPVOID);
a3133ef29cdf3656735d569fd64e54c9286effc0vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#ifdef __cplusplus
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync}
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#endif
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#endif /* __WINE_WINSAFER_H */