~noskcaj/ubuntu/vivid/thunar/1.6.4

« back to all changes in this revision

Viewing changes to thunar-vfs/thunar-vfs-types.h

  • Committer: Bazaar Package Importer
  • Author(s): Lionel Le Folgoc
  • Date: 2010-12-04 16:46:20 UTC
  • mto: (2.1.3 experimental) (1.3.1)
  • mto: This revision was merged to the branch mainline in revision 69.
  • Revision ID: james.westby@ubuntu.com-20101204164620-h7p4t2e9z6hfhz6l
Tags: upstream-1.1.4
ImportĀ upstreamĀ versionĀ 1.1.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id$ */
2
 
/*-
3
 
 * Copyright (c) 2005-2006 Benedikt Meurer <benny@xfce.org>
4
 
 *
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.
9
 
 *
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.
14
 
 *
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.
19
 
 */
20
 
 
21
 
#ifndef __THUNAR_VFS_TYPES_H__
22
 
#define __THUNAR_VFS_TYPES_H__
23
 
 
24
 
#include <sys/types.h>
25
 
#include <unistd.h>
26
 
 
27
 
#include <glib.h>
28
 
 
29
 
G_BEGIN_DECLS;
30
 
 
31
 
/**
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.
36
 
 *
37
 
 * Additional flags to pass to thunar_vfs_deep_count(), which
38
 
 * control the exact behavior of the job.
39
 
 **/
40
 
typedef enum /*< flags >*/
41
 
{
42
 
  THUNAR_VFS_DEEP_COUNT_FLAGS_NONE            = 0L,
43
 
  THUNAR_VFS_DEEP_COUNT_FLAGS_FOLLOW_SYMLINKS = 1L << 0,
44
 
} ThunarVfsDeepCountFlags;
45
 
 
46
 
/**
47
 
 * ThunarVfsFileType:
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
56
 
 *                                  of the target).
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
61
 
 *                                  determined.
62
 
 *
63
 
 * Describes the type of a file.
64
 
 **/
65
 
typedef enum
66
 
{
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,
77
 
} ThunarVfsFileType;
78
 
 
79
 
/**
80
 
 * ThunarVfsFileMode:
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.
96
 
 *
97
 
 * Special flags and permissions of a filesystem entity.
98
 
 **/
99
 
typedef enum /*< flags >*/
100
 
{
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,
116
 
} ThunarVfsFileMode;
117
 
 
118
 
/**
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
131
 
 *                                     character ('~').
132
 
 * @THUNAR_VFS_FILE_FLAGS_READABLE   : The file can most probably be read by the
133
 
 *                                     current user.
134
 
 * @THUNAR_VFS_FILE_FLAGS_WRITABLE   : The file can most probably be written by
135
 
 *                                     the current user.
136
 
 *
137
 
 * Flags providing additional information about the
138
 
 * file system entity.
139
 
 **/
140
 
typedef enum /*< flags >*/
141
 
{
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;
149
 
 
150
 
typedef dev_t ThunarVfsFileDevice;
151
 
typedef gint64 ThunarVfsFileSize;
152
 
typedef time_t ThunarVfsFileTime;
153
 
typedef gid_t ThunarVfsGroupId;
154
 
typedef uid_t ThunarVfsUserId;
155
 
 
156
 
G_END_DECLS;
157
 
 
158
 
#endif /* !__THUNAR_VFS_TYPES_H__ */