diff options
author | Domen Vrankar <domen.vrankar@gmail.com> | 2017-11-02 20:42:18 (GMT) |
---|---|---|
committer | Domen Vrankar <domen.vrankar@gmail.com> | 2017-11-08 19:27:11 (GMT) |
commit | 670ad047b34d983daf1f17f8b32c4abe2b7f22b1 (patch) | |
tree | d0e7d93d5bdc479ca3b3051898f2219844bbdb1e /Source/cmFSPermissions.h | |
parent | deeba85f81bb031384c1c014d7adcb733da491b4 (diff) | |
download | CMake-670ad047b34d983daf1f17f8b32c4abe2b7f22b1.zip CMake-670ad047b34d983daf1f17f8b32c4abe2b7f22b1.tar.gz CMake-670ad047b34d983daf1f17f8b32c4abe2b7f22b1.tar.bz2 |
Move file/dir permissions code to common file.
Diffstat (limited to 'Source/cmFSPermissions.h')
-rw-r--r-- | Source/cmFSPermissions.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/cmFSPermissions.h b/Source/cmFSPermissions.h new file mode 100644 index 0000000..7a6e708 --- /dev/null +++ b/Source/cmFSPermissions.h @@ -0,0 +1,45 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmFSPermissions_h +#define cmFSPermissions_h + +#include "cmConfigure.h" // IWYU pragma: keep + +#include "cm_sys_stat.h" + +#include <string> + +namespace cmFSPermissions { + +// Table of permissions flags. +#if defined(_WIN32) && !defined(__CYGWIN__) +static const mode_t mode_owner_read = S_IREAD; +static const mode_t mode_owner_write = S_IWRITE; +static const mode_t mode_owner_execute = S_IEXEC; +static const mode_t mode_group_read = 040; +static const mode_t mode_group_write = 020; +static const mode_t mode_group_execute = 010; +static const mode_t mode_world_read = 04; +static const mode_t mode_world_write = 02; +static const mode_t mode_world_execute = 01; +static const mode_t mode_setuid = 04000; +static const mode_t mode_setgid = 02000; +#else +static const mode_t mode_owner_read = S_IRUSR; +static const mode_t mode_owner_write = S_IWUSR; +static const mode_t mode_owner_execute = S_IXUSR; +static const mode_t mode_group_read = S_IRGRP; +static const mode_t mode_group_write = S_IWGRP; +static const mode_t mode_group_execute = S_IXGRP; +static const mode_t mode_world_read = S_IROTH; +static const mode_t mode_world_write = S_IWOTH; +static const mode_t mode_world_execute = S_IXOTH; +static const mode_t mode_setuid = S_ISUID; +static const mode_t mode_setgid = S_ISGID; +#endif + +bool stringToModeT(std::string const& arg, mode_t& permissions); + +} // ns + +#endif |