67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef SANDBOX_SRC_POLICY_PARAMS_H__
|
|
#define SANDBOX_SRC_POLICY_PARAMS_H__
|
|
|
|
#include "sandbox/win/src/policy_engine_params.h"
|
|
|
|
namespace sandbox {
|
|
|
|
class ParameterSet;
|
|
|
|
// Warning: The following macros store the address to the actual variables, in
|
|
// other words, the values are not copied.
|
|
#define POLPARAMS_BEGIN(type) class type { public: enum Args {
|
|
#define POLPARAM(arg) arg,
|
|
#define POLPARAMS_END(type) PolParamLast }; }; \
|
|
typedef sandbox::ParameterSet type##Array [type::PolParamLast];
|
|
|
|
// Policy parameters for file open / create.
|
|
POLPARAMS_BEGIN(OpenFile)
|
|
POLPARAM(NAME)
|
|
POLPARAM(BROKER) // TRUE if called from the broker.
|
|
POLPARAM(ACCESS)
|
|
POLPARAM(DISPOSITION)
|
|
POLPARAM(OPTIONS)
|
|
POLPARAMS_END(OpenFile)
|
|
|
|
// Policy parameter for name-based policies.
|
|
POLPARAMS_BEGIN(FileName)
|
|
POLPARAM(NAME)
|
|
POLPARAM(BROKER) // TRUE if called from the broker.
|
|
POLPARAMS_END(FileName)
|
|
|
|
static_assert(OpenFile::NAME == static_cast<int>(FileName::NAME),
|
|
"to simplify fs policies");
|
|
static_assert(OpenFile::BROKER == static_cast<int>(FileName::BROKER),
|
|
"to simplify fs policies");
|
|
|
|
// Policy parameter for name-based policies.
|
|
POLPARAMS_BEGIN(NameBased)
|
|
POLPARAM(NAME)
|
|
POLPARAMS_END(NameBased)
|
|
|
|
// Policy parameters for open event.
|
|
POLPARAMS_BEGIN(OpenEventParams)
|
|
POLPARAM(NAME)
|
|
POLPARAM(ACCESS)
|
|
POLPARAMS_END(OpenEventParams)
|
|
|
|
// Policy Parameters for reg open / create.
|
|
POLPARAMS_BEGIN(OpenKey)
|
|
POLPARAM(NAME)
|
|
POLPARAM(ACCESS)
|
|
POLPARAMS_END(OpenKey)
|
|
|
|
// Policy parameter for name-based policies.
|
|
POLPARAMS_BEGIN(HandleTarget)
|
|
POLPARAM(NAME)
|
|
POLPARAM(TARGET)
|
|
POLPARAMS_END(HandleTarget)
|
|
|
|
|
|
} // namespace sandbox
|
|
|
|
#endif // SANDBOX_SRC_POLICY_PARAMS_H__
|