VirtualBox

source: kBuild/trunk/src/kmk/kmkbuiltin/kbuild_protection.h@ 3387

Last change on this file since 3387 was 3192, checked in by bird, 6 years ago

kmkbuiltin: funnel output thru output.c (usually via err.c).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 KB
Line 
1/* $Id: kbuild_protection.h 3192 2018-03-26 20:25:56Z bird $ */
2/** @file
3 * Simple File Protection.
4 */
5
6/*
7 * Copyright (c) 2008-2010 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
8 *
9 * This file is part of kBuild.
10 *
11 * kBuild is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * kBuild is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with kBuild. If not, see <http://www.gnu.org/licenses/>
23 *
24 */
25
26#ifndef ___kbuild_protection_h
27#define ___kbuild_protection_h
28
29
30/**
31 * The different protection types.
32 */
33typedef enum
34{
35 KBUILDPROTECTIONTYPE_FIRST = 0,
36 KBUILDPROTECTIONTYPE_RECURSIVE = KBUILDPROTECTIONTYPE_FIRST,
37 KBUILDPROTECTIONTYPE_FULL,
38 KBUILDPROTECTIONTYPE_MAX
39} KBUILDPROTECTIONTYPE;
40
41
42/**
43 * The instance data.
44 * Don't touch.
45 */
46typedef struct KBUILDPROTECTION
47{
48 unsigned int uMagic;
49 unsigned int cProtectionDepth;
50 struct KMKBUILTINCTX *pCtx;
51 unsigned char afTypes[KBUILDPROTECTIONTYPE_MAX];
52} KBUILDPROTECTION;
53typedef KBUILDPROTECTION *PKBUILDPROTECTION;
54typedef const KBUILDPROTECTION *PCKBUILDPROTECTION;
55
56
57void kBuildProtectionInit(PKBUILDPROTECTION pThis, struct KMKBUILTINCTX *pCtx);
58void kBuildProtectionTerm(PKBUILDPROTECTION pThis);
59int kBuildProtectionScanEnv(PKBUILDPROTECTION pThis, char **papszEnv, const char *pszPrefix);
60void kBuildProtectionEnable(PKBUILDPROTECTION pThis, KBUILDPROTECTIONTYPE enmType);
61void kBuildProtectionDisable(PKBUILDPROTECTION pThis, KBUILDPROTECTIONTYPE enmType);
62int kBuildProtectionSetDepth(PKBUILDPROTECTION pThis, const char *pszValue);
63int kBuildProtectionEnforce(PCKBUILDPROTECTION pThis, KBUILDPROTECTIONTYPE enmType, const char *pszPath);
64int kBuildProtectionDefaultDepth(void);
65
66#endif
67
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use