-void _g_local_file_info_get_parent_info (const char *dir,
- GFileAttributeMatcher *attribute_matcher,
- GLocalParentFileInfo *parent_info);
-GFileInfo *_g_local_file_info_get (const char *basename,
- const char *path,
- GFileAttributeMatcher *attribute_matcher,
- GFileQueryInfoFlags flags,
- GLocalParentFileInfo *parent_info,
- GError **error);
-GFileInfo *_g_local_file_info_get_from_fd (int fd,
- char *attributes,
- GError **error);
-char * _g_local_file_info_create_etag (struct stat *statbuf);
-gboolean _g_local_file_info_set_attribute (char *filename,
- const char *attribute,
- const GFileAttributeValue *value,
- GFileQueryInfoFlags flags,
- GCancellable *cancellable,
- GError **error);
-gboolean _g_local_file_info_set_attributes (char *filename,
- GFileInfo *info,
- GFileQueryInfoFlags flags,
- GCancellable *cancellable,
- GError **error);
+#ifdef G_OS_WIN32
+/* We want 64-bit file size support */
+#define GLocalFileStat struct _stati64
+#else
+#define GLocalFileStat struct stat
+#endif
+
+#define G_LOCAL_FILE_INFO_NOSTAT_ATTRIBUTES \
+ G_FILE_ATTRIBUTE_STANDARD_NAME "," \
+ G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "," \
+ G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "," \
+ G_FILE_ATTRIBUTE_STANDARD_COPY_NAME
+
+gboolean _g_local_file_has_trash_dir (const char *dirname,
+ dev_t dir_dev);
+#ifdef G_OS_UNIX
+gboolean _g_local_file_is_lost_found_dir (const char *path,
+ dev_t path_dev);
+#endif
+void _g_local_file_info_get_parent_info (const char *dir,
+ GFileAttributeMatcher *attribute_matcher,
+ GLocalParentFileInfo *parent_info);
+void _g_local_file_info_free_parent_info (GLocalParentFileInfo *parent_info);
+void _g_local_file_info_get_nostat (GFileInfo *info,
+ const char *basename,
+ const char *path,
+ GFileAttributeMatcher *attribute_matcher);
+GFileInfo *_g_local_file_info_get (const char *basename,
+ const char *path,
+ GFileAttributeMatcher *attribute_matcher,
+ GFileQueryInfoFlags flags,
+ GLocalParentFileInfo *parent_info,
+ GError **error);
+GFileInfo *_g_local_file_info_get_from_fd (int fd,
+ const char *attributes,
+ GError **error);
+char * _g_local_file_info_create_etag (GLocalFileStat *statbuf);
+gboolean _g_local_file_info_set_attribute (char *filename,
+ const char *attribute,
+ GFileAttributeType type,
+ gpointer value_p,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+gboolean _g_local_file_info_set_attributes (char *filename,
+ GFileInfo *info,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);