File indexing completed on 2024-05-05 05:50:42

0001 /*
0002     SPDX-FileCopyrightText: 2024 Hannah von Reth <vonreth@kde.org>
0003     SPDX-License-Identifier: BSD-2-Clause
0004 */
0005 
0006 #ifndef WINDOWS_STAT_H
0007 #define WINDOWS_STAT_H
0008 
0009 #include <qplatformdefs.h>
0010 
0011 #ifdef Q_OS_WIN
0012 
0013 #ifndef S_ISDIR
0014 #define S_ISDIR(m) (((m) & QT_STAT_MASK) == QT_STAT_DIR) /* directory */
0015 #endif
0016 
0017 // based on libarchive/archive_windows.h
0018 #ifndef S_IRUSR
0019 #define S_IRUSR _S_IREAD
0020 #endif
0021 
0022 #ifndef S_IWUSR
0023 #define S_IWUSR _S_IWRITE
0024 #endif
0025 
0026 #ifndef S_IXUSR
0027 #define S_IXUSR _S_IEXEC
0028 #endif
0029 
0030 #ifndef S_IRGRP
0031 #define S_IRGRP (S_IRUSR >> 3) /* execute/search permission, group */
0032 #endif
0033 
0034 #ifndef S_IXGRP
0035 #define S_IXGRP (S_IXUSR >> 3) /* read permission, group */
0036 #endif
0037 
0038 #ifndef S_IWGRP
0039 #define S_IWGRP (S_IWUSR >> 3) /* write permission, group */
0040 #endif
0041 
0042 #ifndef S_IWOTH
0043 #define S_IWOTH (S_IWGRP >> 3) /* write permission, other */
0044 #endif
0045 
0046 #ifndef S_IROTH
0047 #define S_IROTH (S_IRGRP >> 3) /* execute/search permission, other */
0048 #endif
0049 
0050 #ifndef S_IXOTH
0051 #define S_IXOTH (S_IXGRP >> 3) /* read permission, other */
0052 #endif
0053 
0054 #ifndef S_ISUID
0055 #define S_ISUID 0004000 /* set user id on execution */
0056 #endif
0057 
0058 #ifndef S_ISGID
0059 #define S_ISGID 0002000 /* set group id on execution */
0060 #endif
0061 
0062 #ifndef S_ISVTX
0063 #define S_ISVTX 0001000 /* save swapped text even after use */
0064 #endif
0065 
0066 #endif
0067 
0068 #endif // WINDOWS_STAT_H