File indexing completed on 2025-01-05 04:35:36

0001 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0002 // SPDX-FileCopyrightText: 2020-2022 Harald Sitter <sitter@kde.org>
0003 
0004 #pragma once
0005 
0006 // https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header
0007 // From winnt.h in wine
0008 
0009 /* AceType */
0010 #define ACCESS_ALLOWED_ACE_TYPE 0
0011 #define ACCESS_DENIED_ACE_TYPE 1
0012 #define SYSTEM_AUDIT_ACE_TYPE 2
0013 #define SYSTEM_ALARM_ACE_TYPE 3
0014 #define SYSTEM_MANDATORY_LABEL_ACE_TYPE 0x11
0015 
0016 /* inherit AceFlags */
0017 #define OBJECT_INHERIT_ACE 0x01
0018 #define CONTAINER_INHERIT_ACE 0x02
0019 #define NO_PROPAGATE_INHERIT_ACE 0x04
0020 #define INHERIT_ONLY_ACE 0x08
0021 #define INHERITED_ACE 0x10
0022 #define VALID_INHERIT_FLAGS 0x1F
0023 
0024 /* AceFlags mask for what events we (should) audit */
0025 #define SUCCESSFUL_ACCESS_ACE_FLAG 0x40
0026 #define FAILED_ACCESS_ACE_FLAG 0x80
0027 
0028 /* DELETE may be already defined via /usr/include/arpa/nameser_compat.h */
0029 #undef DELETE
0030 #define DELETE 0x00010000
0031 #define READ_CONTROL 0x00020000
0032 #define WRITE_DAC 0x00040000
0033 #define WRITE_OWNER 0x00080000
0034 #define SYNCHRONIZE 0x00100000
0035 #define STANDARD_RIGHTS_REQUIRED 0x000f0000
0036 
0037 #define STANDARD_RIGHTS_READ READ_CONTROL
0038 #define STANDARD_RIGHTS_WRITE READ_CONTROL
0039 #define STANDARD_RIGHTS_EXECUTE READ_CONTROL
0040 
0041 #define STANDARD_RIGHTS_ALL 0x001f0000
0042 
0043 #define SPECIFIC_RIGHTS_ALL 0x0000ffff
0044 
0045 #define GENERIC_READ 0x80000000
0046 #define GENERIC_WRITE 0x40000000
0047 #define GENERIC_EXECUTE 0x20000000
0048 #define GENERIC_ALL 0x10000000
0049 
0050 #define MAXIMUM_ALLOWED 0x02000000
0051 #define ACCESS_SYSTEM_SECURITY 0x01000000