[kdbus] KDBUS_ITEM_PAYLOAD_OFF items are (once again) relative to msg header
[platform/upstream/glib.git] / gio / glocalfileinfo.h
index 4fe80a2..16eb43d 100644 (file)
@@ -1,5 +1,5 @@
 /* GIO - GLib Input, Output and Streaming Library
- * 
+ *
  * Copyright (C) 2006-2007 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -13,9 +13,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  *
  * Author: Alexander Larsson <alexl@redhat.com>
  */
 #include <gio/gfileinfo.h>
 #include <gio/gfile.h>
 #include <sys/stat.h>
-#ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
-#endif
 
 G_BEGIN_DECLS
 
-typedef struct {
+typedef struct
+{
   gboolean writable;
   gboolean is_sticky;
   gboolean has_trash_dir;
-  int owner;
-  dev_t device;
+  int      owner;
+  dev_t    device;
+  gpointer extra_data;
+  GDestroyNotify free_extra_data;
 } GLocalParentFileInfo;
 
 #ifdef G_OS_WIN32
@@ -47,33 +46,48 @@ typedef struct {
 #define GLocalFileStat struct stat
 #endif
 
-gboolean   _g_local_file_has_trash_dir        (const char *dirname,
-                                              dev_t dir_dev);
-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     (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);
+#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);
 
 G_END_DECLS