]>
Commit | Line | Data |
---|---|---|
cad2c685 | 1 | /* cygwin/fs.h |
cad2c685 CV |
2 | Written by Chris January <chris@atomice.net> |
3 | ||
4 | This file is part of Cygwin. | |
5 | ||
6 | This software is a copyrighted work licensed under the terms of the | |
7 | Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
8 | details. */ | |
9 | ||
10 | #ifndef _CYGWIN_FS_H_ | |
11 | #define _CYGWIN_FS_H_ | |
12 | ||
af4a65a2 CV |
13 | #include <asm/socket.h> |
14 | ||
db8224e8 CV |
15 | #define BLKRRPART 0x0000125f |
16 | #define BLKGETSIZE 0x00001260 | |
17 | #define BLKSSZGET 0x00001268 | |
18 | #define BLKIOMIN 0x00001278 | |
19 | #define BLKIOOPT 0x00001279 | |
20 | #define BLKALIGNOFF 0x0000127a | |
21 | #define BLKPBSZGET 0x0000127b | |
cad2c685 CV |
22 | #define BLKGETSIZE64 0x00041268 |
23 | ||
af4a65a2 CV |
24 | /* Get/Set file attributes */ |
25 | #define FS_IOC_GETFLAGS _IOR('f', 1, __uint64_t) | |
26 | #define FS_IOC_SETFLAGS _IOW('f', 2, __uint64_t) | |
27 | ||
28 | /* Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS) | |
29 | ||
30 | This is loosely following the Linux inode flags. Basically it's just | |
31 | a convenient way to handle certain aspects of files on Windows which | |
32 | are not covered by POSIX calls, mostly connected to DOS attributes. */ | |
33 | #define FS_READONLY_FL 0x000000001ULL /* DOS R/O */ | |
34 | #define FS_HIDDEN_FL 0x000000002ULL /* DOS Hidden */ | |
35 | #define FS_SYSTEM_FL 0x000000004ULL /* DOS System */ | |
36 | #define FS_ARCHIVE_FL 0x000000020ULL /* DOS Archive */ | |
37 | #define FS_TEMP_FL 0x000000100ULL /* DOS Temporary */ | |
38 | #define FS_SPARSE_FL 0x000000200ULL /* Sparse file */ | |
39 | #define FS_REPARSE_FL 0x000000400ULL /* Reparse point */ | |
40 | #define FS_COMPRESSED_FL 0x000000800ULL /* Compressed file */ | |
41 | #define FS_OFFLINE_FL 0x000001000ULL /* DOS Offline */ | |
42 | #define FS_NOTINDEXED_FL 0x000002000ULL /* DOS Not context indexed */ | |
43 | #define FS_ENCRYPT_FL 0x000004000ULL /* Encrypted file */ | |
06aa5a75 CV |
44 | #define FS_PINNED_FL 0x000080000ULL /* Pinned file */ |
45 | #define FS_UNPINNED_FL 0x000100000ULL /* Unpinned file */ | |
af4a65a2 CV |
46 | #define FS_CASESENS_FL 0x100000000ULL /* Case sensitive dir */ |
47 | ||
06aa5a75 CV |
48 | #define FS_FL_USER_VISIBLE 0x100187f27ULL /* User visible flags */ |
49 | #define FS_FL_USER_MODIFIABLE 0x100186b27ULL /* User modifiable flags */ | |
af4a65a2 | 50 | |
f665b1ce KB |
51 | /* Flags for renameat2, from /usr/include/linux/fs.h. For now we |
52 | support only RENAME_NOREPLACE. */ | |
53 | #define RENAME_NOREPLACE (1 << 0) | |
54 | /* #define RENAME_EXCHANGE (1 << 1) */ | |
55 | /* #define RENAME_WHITEOUT (1 << 2) */ | |
56 | ||
cad2c685 | 57 | #endif |