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