1/* GIO - GLib Input, Output and Streaming Library
2 *
3 * Copyright (C) 2006-2007 Red Hat, Inc.
4 * 2009 Benjamin Otte
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General
17 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 *
19 * Author: Benjamin Otte <otte@gnome.org>
20 */
21
22#ifndef __G_FILE_INFO_PRIV_H__
23#define __G_FILE_INFO_PRIV_H__
24
25#include "gfileinfo.h"
26
27#define G_FILE_ATTRIBUTE_ID_STANDARD_TYPE (1048576 + 1)
28#define G_FILE_ATTRIBUTE_ID_STANDARD_IS_HIDDEN (1048576 + 2)
29#define G_FILE_ATTRIBUTE_ID_STANDARD_IS_BACKUP (1048576 + 3)
30#define G_FILE_ATTRIBUTE_ID_STANDARD_IS_SYMLINK (1048576 + 4)
31#define G_FILE_ATTRIBUTE_ID_STANDARD_IS_VIRTUAL (1048576 + 5)
32#define G_FILE_ATTRIBUTE_ID_STANDARD_NAME (1048576 + 6)
33#define G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME (1048576 + 7)
34#define G_FILE_ATTRIBUTE_ID_STANDARD_EDIT_NAME (1048576 + 8)
35#define G_FILE_ATTRIBUTE_ID_STANDARD_COPY_NAME (1048576 + 9)
36#define G_FILE_ATTRIBUTE_ID_STANDARD_DESCRIPTION (1048576 + 10)
37#define G_FILE_ATTRIBUTE_ID_STANDARD_ICON (1048576 + 11)
38#define G_FILE_ATTRIBUTE_ID_STANDARD_CONTENT_TYPE (1048576 + 12)
39#define G_FILE_ATTRIBUTE_ID_STANDARD_FAST_CONTENT_TYPE (1048576 + 13)
40#define G_FILE_ATTRIBUTE_ID_STANDARD_SIZE (1048576 + 14)
41#define G_FILE_ATTRIBUTE_ID_STANDARD_ALLOCATED_SIZE (1048576 + 15)
42#define G_FILE_ATTRIBUTE_ID_STANDARD_SYMLINK_TARGET (1048576 + 16)
43#define G_FILE_ATTRIBUTE_ID_STANDARD_TARGET_URI (1048576 + 17)
44#define G_FILE_ATTRIBUTE_ID_STANDARD_SORT_ORDER (1048576 + 18)
45#define G_FILE_ATTRIBUTE_ID_STANDARD_SYMBOLIC_ICON (1048576 + 19)
46#define G_FILE_ATTRIBUTE_ID_STANDARD_IS_VOLATILE (1048576 + 20)
47#define G_FILE_ATTRIBUTE_ID_ETAG_VALUE (2097152 + 1)
48#define G_FILE_ATTRIBUTE_ID_ID_FILE (3145728 + 1)
49#define G_FILE_ATTRIBUTE_ID_ID_FILESYSTEM (3145728 + 2)
50#define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_READ (4194304 + 1)
51#define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_WRITE (4194304 + 2)
52#define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_EXECUTE (4194304 + 3)
53#define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_DELETE (4194304 + 4)
54#define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_TRASH (4194304 + 5)
55#define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_RENAME (4194304 + 6)
56#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_MOUNT (5242880 + 1)
57#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_UNMOUNT (5242880 + 2)
58#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_EJECT (5242880 + 3)
59#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_UNIX_DEVICE (5242880 + 4)
60#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_UNIX_DEVICE_FILE (5242880 + 5)
61#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_HAL_UDI (5242880 + 6)
62#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_START (5242880 + 7)
63#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_START_DEGRADED (5242880 + 8)
64#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_STOP (5242880 + 9)
65#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_START_STOP_TYPE (5242880 + 10)
66#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_POLL (5242880 + 11)
67#define G_FILE_ATTRIBUTE_ID_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC (5242880 + 12)
68#define G_FILE_ATTRIBUTE_ID_TIME_MODIFIED (6291456 + 1)
69#define G_FILE_ATTRIBUTE_ID_TIME_MODIFIED_USEC (6291456 + 2)
70#define G_FILE_ATTRIBUTE_ID_TIME_ACCESS (6291456 + 3)
71#define G_FILE_ATTRIBUTE_ID_TIME_ACCESS_USEC (6291456 + 4)
72#define G_FILE_ATTRIBUTE_ID_TIME_CHANGED (6291456 + 5)
73#define G_FILE_ATTRIBUTE_ID_TIME_CHANGED_USEC (6291456 + 6)
74#define G_FILE_ATTRIBUTE_ID_TIME_CREATED (6291456 + 7)
75#define G_FILE_ATTRIBUTE_ID_TIME_CREATED_USEC (6291456 + 8)
76#define G_FILE_ATTRIBUTE_ID_UNIX_DEVICE (7340032 + 1)
77#define G_FILE_ATTRIBUTE_ID_UNIX_INODE (7340032 + 2)
78#define G_FILE_ATTRIBUTE_ID_UNIX_MODE (7340032 + 3)
79#define G_FILE_ATTRIBUTE_ID_UNIX_NLINK (7340032 + 4)
80#define G_FILE_ATTRIBUTE_ID_UNIX_UID (7340032 + 5)
81#define G_FILE_ATTRIBUTE_ID_UNIX_GID (7340032 + 6)
82#define G_FILE_ATTRIBUTE_ID_UNIX_RDEV (7340032 + 7)
83#define G_FILE_ATTRIBUTE_ID_UNIX_BLOCK_SIZE (7340032 + 8)
84#define G_FILE_ATTRIBUTE_ID_UNIX_BLOCKS (7340032 + 9)
85#define G_FILE_ATTRIBUTE_ID_UNIX_IS_MOUNTPOINT (7340032 + 10)
86#define G_FILE_ATTRIBUTE_ID_DOS_IS_ARCHIVE (8388608 + 1)
87#define G_FILE_ATTRIBUTE_ID_DOS_IS_SYSTEM (8388608 + 2)
88#define G_FILE_ATTRIBUTE_ID_DOS_IS_MOUNTPOINT (8388608 + 3)
89#define G_FILE_ATTRIBUTE_ID_DOS_REPARSE_POINT_TAG (8388608 + 4)
90#define G_FILE_ATTRIBUTE_ID_OWNER_USER (9437184 + 1)
91#define G_FILE_ATTRIBUTE_ID_OWNER_USER_REAL (9437184 + 2)
92#define G_FILE_ATTRIBUTE_ID_OWNER_GROUP (9437184 + 3)
93#define G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH (10485760 + 1)
94#define G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED (10485760 + 2)
95#define G_FILE_ATTRIBUTE_ID_THUMBNAIL_IS_VALID (10485760 + 3)
96#define G_FILE_ATTRIBUTE_ID_PREVIEW_ICON (11534336 + 1)
97#define G_FILE_ATTRIBUTE_ID_FILESYSTEM_SIZE (12582912 + 1)
98#define G_FILE_ATTRIBUTE_ID_FILESYSTEM_FREE (12582912 + 2)
99#define G_FILE_ATTRIBUTE_ID_FILESYSTEM_TYPE (12582912 + 3)
100#define G_FILE_ATTRIBUTE_ID_FILESYSTEM_READONLY (12582912 + 4)
101#define G_FILE_ATTRIBUTE_ID_FILESYSTEM_USE_PREVIEW (12582912 + 5)
102#define G_FILE_ATTRIBUTE_ID_GVFS_BACKEND (13631488 + 1)
103#define G_FILE_ATTRIBUTE_ID_SELINUX_CONTEXT (14680064 + 1)
104#define G_FILE_ATTRIBUTE_ID_TRASH_ITEM_COUNT (15728640 + 1)
105#define G_FILE_ATTRIBUTE_ID_TRASH_ORIG_PATH (15728640 + 2)
106#define G_FILE_ATTRIBUTE_ID_TRASH_DELETION_DATE (15728640 + 3)
107
108gboolean _g_file_attribute_matcher_matches_id (GFileAttributeMatcher *matcher,
109 guint32 id);
110
111void _g_file_info_set_attribute_by_id (GFileInfo *info,
112 guint32 attribute,
113 GFileAttributeType type,
114 gpointer value_p);
115void _g_file_info_set_attribute_string_by_id (GFileInfo *info,
116 guint32 attribute,
117 const char *attr_value);
118void _g_file_info_set_attribute_byte_string_by_id (GFileInfo *info,
119 guint32 attribute,
120 const char *attr_value);
121void _g_file_info_set_attribute_boolean_by_id (GFileInfo *info,
122 guint32 attribute,
123 gboolean attr_value);
124void _g_file_info_set_attribute_uint32_by_id (GFileInfo *info,
125 guint32 attribute,
126 guint32 attr_value);
127void _g_file_info_set_attribute_int32_by_id (GFileInfo *info,
128 guint32 attribute,
129 gint32 attr_value);
130void _g_file_info_set_attribute_uint64_by_id (GFileInfo *info,
131 guint32 attribute,
132 guint64 attr_value);
133void _g_file_info_set_attribute_int64_by_id (GFileInfo *info,
134 guint32 attribute,
135 gint64 attr_value);
136void _g_file_info_set_attribute_object_by_id (GFileInfo *info,
137 guint32 attribute,
138 GObject *attr_value);
139void _g_file_info_set_attribute_stringv_by_id (GFileInfo *info,
140 guint32 attribute,
141 char **attr_value);
142
143
144#endif /* __G_FILE_INFO_PRIV_H__ */
145

source code of gtk/subprojects/glib/gio/gfileinfo-priv.h