3
* Copyright (c) 2005-2006 Benedikt Meurer <benny@xfce.org>
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Library General Public
7
* License as published by the Free Software Foundation; either
8
* version 2 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Library General Public License for more details.
15
* You should have received a copy of the GNU Library General Public
16
* License along with this library; if not, write to the
17
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
* Boston, MA 02111-1307, USA.
21
#ifndef __THUNAR_VFS_TYPES_H__
22
#define __THUNAR_VFS_TYPES_H__
24
#include <sys/types.h>
32
* ThunarVfsDeepCountFlags:
33
* @THUNAR_VFS_DEEP_COUNT_FLAGS_NONE : no special behavior.
34
* @THUNAR_VFS_DEEP_COUNT_FLAGS_FOLLOW_SYMLINKS : follow symlinks to folders. If this flag is set, the
35
* job will also count symlinked folders recursively.
37
* Additional flags to pass to thunar_vfs_deep_count(), which
38
* control the exact behavior of the job.
40
typedef enum /*< flags >*/
42
THUNAR_VFS_DEEP_COUNT_FLAGS_NONE = 0L,
43
THUNAR_VFS_DEEP_COUNT_FLAGS_FOLLOW_SYMLINKS = 1L << 0,
44
} ThunarVfsDeepCountFlags;
48
* @THUNAR_VFS_FILE_TYPE_FIFO : A named FIFO.
49
* @THUNAR_VFS_FILE_TYPE_CHARDEV : A character device node.
50
* @THUNAR_VFS_FILE_TYPE_DIRECTORY: A directory node.
51
* @THUNAR_VFS_FILE_TYPE_BLOCKDEV : A block device node.
52
* @THUNAR_VFS_FILE_TYPE_REGULAR : A regular file.
53
* @THUNAR_VFS_FILE_TYPE_SYMLINK : A broken symlink, for which the target does
54
* not exist (if the target would exist, the
55
* #ThunarVfsInfo object would have the type
57
* @THUNAR_VFS_FILE_TYPE_SOCKET : A unix domain socket.
58
* @THUNAR_VFS_FILE_TYPE_DOOR : A door (Solaris IPC mechanism).
59
* @THUNAR_VFS_FILE_TYPE_PORT : An event port (Solaris event framework).
60
* @THUNAR_VFS_FILE_TYPE_UNKNOWN : The exact type of the file could not be
63
* Describes the type of a file.
67
THUNAR_VFS_FILE_TYPE_PORT = 0160000 >> 12,
68
THUNAR_VFS_FILE_TYPE_DOOR = 0150000 >> 12,
69
THUNAR_VFS_FILE_TYPE_SOCKET = 0140000 >> 12,
70
THUNAR_VFS_FILE_TYPE_SYMLINK = 0120000 >> 12,
71
THUNAR_VFS_FILE_TYPE_REGULAR = 0100000 >> 12,
72
THUNAR_VFS_FILE_TYPE_BLOCKDEV = 0060000 >> 12,
73
THUNAR_VFS_FILE_TYPE_DIRECTORY = 0040000 >> 12,
74
THUNAR_VFS_FILE_TYPE_CHARDEV = 0020000 >> 12,
75
THUNAR_VFS_FILE_TYPE_FIFO = 0010000 >> 12,
76
THUNAR_VFS_FILE_TYPE_UNKNOWN = 0000000 >> 12,
81
* @THUNAR_VFS_FILE_MODE_SUID : SUID bit.
82
* @THUNAR_VFS_FILE_MODE_SGID : SGID bit.
83
* @THUNAR_VFS_FILE_MODE_STICKY : Sticky bit.
84
* @THUNAR_VFS_FILE_MODE_USR_ALL : Owner can do everything.
85
* @THUNAR_VFS_FILE_MODE_USR_READ : Owner can read the file.
86
* @THUNAR_VFS_FILE_MODE_USR_WRITE: Owner can write the file.
87
* @THUNAR_VFS_FILE_MODE_USR_EXEC : Owner can execute the file.
88
* @THUNAR_VFS_FILE_MODE_GRP_ALL : Owner group can do everything.
89
* @THUNAR_VFS_FILE_MODE_GRP_READ : Owner group can read the file.
90
* @THUNAR_VFS_FILE_MODE_GRP_WRITE: Owner group can write the file.
91
* @THUNAR_VFS_FILE_MODE_GRP_EXEC : Owner group can execute the file.
92
* @THUNAR_VFS_FILE_MODE_OTH_ALL : Others can do everything.
93
* @THUNAR_VFS_FILE_MODE_OTH_READ : Others can read the file.
94
* @THUNAR_VFS_FILE_MODE_OTH_WRITE: Others can write the file.
95
* @THUNAR_VFS_FILE_MODE_OTH_EXEC : Others can execute the file.
97
* Special flags and permissions of a filesystem entity.
99
typedef enum /*< flags >*/
101
THUNAR_VFS_FILE_MODE_SUID = 04000,
102
THUNAR_VFS_FILE_MODE_SGID = 02000,
103
THUNAR_VFS_FILE_MODE_STICKY = 01000,
104
THUNAR_VFS_FILE_MODE_USR_ALL = 00700,
105
THUNAR_VFS_FILE_MODE_USR_READ = 00400,
106
THUNAR_VFS_FILE_MODE_USR_WRITE = 00200,
107
THUNAR_VFS_FILE_MODE_USR_EXEC = 00100,
108
THUNAR_VFS_FILE_MODE_GRP_ALL = 00070,
109
THUNAR_VFS_FILE_MODE_GRP_READ = 00040,
110
THUNAR_VFS_FILE_MODE_GRP_WRITE = 00020,
111
THUNAR_VFS_FILE_MODE_GRP_EXEC = 00010,
112
THUNAR_VFS_FILE_MODE_OTH_ALL = 00007,
113
THUNAR_VFS_FILE_MODE_OTH_READ = 00004,
114
THUNAR_VFS_FILE_MODE_OTH_WRITE = 00002,
115
THUNAR_VFS_FILE_MODE_OTH_EXEC = 00001,
119
* ThunarVfsFileFlags:
120
* @THUNAR_VFS_FILE_FLAGS_NONE : No additional information available.
121
* @THUNAR_VFS_FILE_FLAGS_SYMLINK : The file is a symlink. Whether or not
122
* the info fields refer to the symlink
123
* itself or the linked file, depends on
124
* whether the symlink is broken or not.
125
* @THUNAR_VFS_FILE_FLAGS_EXECUTABLE : The file can most probably be executed
126
* by thunar_vfs_info_execute().
127
* @THUNAR_VFS_FILE_FLAGS_HIDDEN : The file should not be displayed normally,
128
* but only if the user requests to display
129
* hidden files. Hidden files start with a
130
* dot character ('.') or end with a tilde
132
* @THUNAR_VFS_FILE_FLAGS_READABLE : The file can most probably be read by the
134
* @THUNAR_VFS_FILE_FLAGS_WRITABLE : The file can most probably be written by
137
* Flags providing additional information about the
138
* file system entity.
140
typedef enum /*< flags >*/
142
THUNAR_VFS_FILE_FLAGS_NONE = 0,
143
THUNAR_VFS_FILE_FLAGS_SYMLINK = 1L << 0,
144
THUNAR_VFS_FILE_FLAGS_EXECUTABLE = 1L << 1,
145
THUNAR_VFS_FILE_FLAGS_HIDDEN = 1L << 2,
146
THUNAR_VFS_FILE_FLAGS_READABLE = 1L << 3,
147
THUNAR_VFS_FILE_FLAGS_WRITABLE = 1L << 4,
148
} ThunarVfsFileFlags;
150
typedef dev_t ThunarVfsFileDevice;
151
typedef gint64 ThunarVfsFileSize;
152
typedef time_t ThunarVfsFileTime;
153
typedef gid_t ThunarVfsGroupId;
154
typedef uid_t ThunarVfsUserId;
158
#endif /* !__THUNAR_VFS_TYPES_H__ */