1 // access_rights.hpp --------------------------------------------------------------//
3 // Copyright 2016 Andrey Semashev
5 // Distributed under the Boost Software License, Version 1.0.
6 // See http://www.boost.org/LICENSE_1_0.txt
9 #ifndef BOOST_DETAIL_WINAPI_ACCESS_RIGHTS_HPP
10 #define BOOST_DETAIL_WINAPI_ACCESS_RIGHTS_HPP
12 #include <boost/detail/winapi/basic_types.hpp>
14 #ifdef BOOST_HAS_PRAGMA_ONCE
22 #if defined( BOOST_USE_WINDOWS_H )
24 const DWORD_ DELETE_ = DELETE;
25 const DWORD_ READ_CONTROL_ = READ_CONTROL;
26 const DWORD_ WRITE_DAC_ = WRITE_DAC;
27 const DWORD_ WRITE_OWNER_ = WRITE_OWNER;
28 const DWORD_ SYNCHRONIZE_ = SYNCHRONIZE;
30 const DWORD_ STANDARD_RIGHTS_ALL_ = STANDARD_RIGHTS_ALL;
31 const DWORD_ STANDARD_RIGHTS_EXECUTE_ = STANDARD_RIGHTS_EXECUTE;
32 const DWORD_ STANDARD_RIGHTS_READ_ = STANDARD_RIGHTS_READ;
33 const DWORD_ STANDARD_RIGHTS_REQUIRED_ = STANDARD_RIGHTS_REQUIRED;
34 const DWORD_ STANDARD_RIGHTS_WRITE_ = STANDARD_RIGHTS_WRITE;
36 const DWORD_ SPECIFIC_RIGHTS_ALL_ = SPECIFIC_RIGHTS_ALL;
38 const DWORD_ ACCESS_SYSTEM_SECURITY_ = ACCESS_SYSTEM_SECURITY;
40 const DWORD_ MAXIMUM_ALLOWED_ = MAXIMUM_ALLOWED;
42 const DWORD_ GENERIC_ALL_ = GENERIC_ALL;
43 const DWORD_ GENERIC_EXECUTE_ = GENERIC_EXECUTE;
44 const DWORD_ GENERIC_WRITE_ = GENERIC_WRITE;
45 const DWORD_ GENERIC_READ_ = GENERIC_READ;
47 typedef ::ACCESS_MASK ACCESS_MASK_;
48 typedef ::PACCESS_MASK PACCESS_MASK_;
50 #else // defined( BOOST_USE_WINDOWS_H )
52 const DWORD_ DELETE_ = 0x00010000;
53 const DWORD_ READ_CONTROL_ = 0x00020000;
54 const DWORD_ WRITE_DAC_ = 0x00040000;
55 const DWORD_ WRITE_OWNER_ = 0x00080000;
56 const DWORD_ SYNCHRONIZE_ = 0x00100000;
58 const DWORD_ STANDARD_RIGHTS_ALL_ = 0x001F0000;
59 const DWORD_ STANDARD_RIGHTS_EXECUTE_ = READ_CONTROL_;
60 const DWORD_ STANDARD_RIGHTS_READ_ = READ_CONTROL_;
61 const DWORD_ STANDARD_RIGHTS_REQUIRED_ = 0x000F0000;
62 const DWORD_ STANDARD_RIGHTS_WRITE_ = READ_CONTROL_;
64 const DWORD_ SPECIFIC_RIGHTS_ALL_ = 0x0000FFFF;
66 const DWORD_ ACCESS_SYSTEM_SECURITY_ = 0x01000000;
68 const DWORD_ MAXIMUM_ALLOWED_ = 0x02000000;
70 const DWORD_ GENERIC_ALL_ = 0x10000000;
71 const DWORD_ GENERIC_EXECUTE_ = 0x20000000;
72 const DWORD_ GENERIC_WRITE_ = 0x40000000;
73 const DWORD_ GENERIC_READ_ = 0x80000000;
75 typedef DWORD_ ACCESS_MASK_;
76 typedef ACCESS_MASK_* PACCESS_MASK_;
78 #endif // defined( BOOST_USE_WINDOWS_H )
84 #endif // BOOST_DETAIL_WINAPI_ACCESS_RIGHTS_HPP