--- /dev/null
+diff -urN aa/gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-drive.h gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-drive.h
+--- aa/gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-drive.h 2004-01-12 10:20:38.000000000 +0100
++++ gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-drive.h 2004-03-06 15:41:43.359546040 +0100
+@@ -43,7 +43,9 @@
+ GnomeVFSDrivePrivate *priv;
+ };
+
+-typedef struct {
++typedef struct _GnomeVFSDriveClass GnomeVFSDriveClass;
++
++struct _GnomeVFSDriveClass {
+ GObjectClass parent_class;
+
+ void (* volume_mounted) (GnomeVFSDrive *drive,
+@@ -52,7 +54,7 @@
+ GnomeVFSVolume *volume);
+ void (* volume_unmounted) (GnomeVFSDrive *drive,
+ GnomeVFSVolume *volume);
+-} GnomeVFSDriveClass;
++};
+
+ GType gnome_vfs_drive_get_type (void) G_GNUC_CONST;
+
+diff -urN aa/gnome-vfs-2.5.8/libgnomevfs/gnome-vfs.h gnome-vfs-2.5.8/libgnomevfs/gnome-vfs.h
+--- aa/gnome-vfs-2.5.8/libgnomevfs/gnome-vfs.h 2003-12-04 21:30:08.000000000 +0100
++++ gnome-vfs-2.5.8/libgnomevfs/gnome-vfs.h 2004-03-06 15:42:56.223469040 +0100
+@@ -27,6 +27,7 @@
+
+ #include <libgnomevfs/gnome-vfs-async-ops.h>
+ #include <libgnomevfs/gnome-vfs-directory.h>
++#include <libgnomevfs/gnome-vfs-drive.h>
+ #include <libgnomevfs/gnome-vfs-file-info.h>
+ #include <libgnomevfs/gnome-vfs-find-directory.h>
+ #include <libgnomevfs/gnome-vfs-init.h>
+@@ -36,6 +37,8 @@
+ #include <libgnomevfs/gnome-vfs-result.h>
+ #include <libgnomevfs/gnome-vfs-uri.h>
+ #include <libgnomevfs/gnome-vfs-utils.h>
++#include <libgnomevfs/gnome-vfs-volume.h>
++#include <libgnomevfs/gnome-vfs-volume-monitor.h>
+ #include <libgnomevfs/gnome-vfs-xfer.h>
+ #include <libgnomevfs/gnome-vfs-enum-types.h>
+ #include <libgnomevfs/gnome-vfs-standard-callbacks.h>
+diff -urN aa/gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-volume.h gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-volume.h
+--- aa/gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-volume.h 2004-01-12 10:20:42.000000000 +0100
++++ gnome-vfs-2.5.8/libgnomevfs/gnome-vfs-volume.h 2004-03-06 15:39:58.746449648 +0100
+@@ -29,17 +29,6 @@
+ #include <unistd.h>
+ #include <glib-object.h>
+
+-/* Need to define these here due to cross use in gnome-vfs-drive.h */
+-typedef struct _GnomeVFSVolume GnomeVFSVolume;
+-typedef struct _GnomeVFSDrive GnomeVFSDrive;
+-typedef enum _GnomeVFSDeviceType GnomeVFSDeviceType;
+-typedef void (*GnomeVFSVolumeOpCallback) (gboolean succeeded,
+- char *error,
+- char *detailed_error,
+- gpointer data);
+-
+-#include "gnome-vfs-drive.h"
+-
+ G_BEGIN_DECLS
+
+ #define GNOME_VFS_TYPE_VOLUME (gnome_vfs_volume_get_type ())
+@@ -50,7 +39,7 @@
+
+ typedef struct _GnomeVFSVolumePrivate GnomeVFSVolumePrivate;
+
+-enum _GnomeVFSDeviceType {
++typedef enum {
+ GNOME_VFS_DEVICE_TYPE_UNKNOWN,
+ GNOME_VFS_DEVICE_TYPE_AUDIO_CD,
+ GNOME_VFS_DEVICE_TYPE_VIDEO_DVD,
+@@ -69,7 +58,7 @@
+ GNOME_VFS_DEVICE_TYPE_WINDOWS,
+ GNOME_VFS_DEVICE_TYPE_LOOPBACK,
+ GNOME_VFS_DEVICE_TYPE_NETWORK
+-};
++} GnomeVFSDeviceType;
+
+ typedef enum {
+ GNOME_VFS_VOLUME_TYPE_MOUNTPOINT,
+@@ -77,15 +66,29 @@
+ GNOME_VFS_VOLUME_TYPE_CONNECTED_SERVER
+ } GnomeVFSVolumeType;
+
++typedef struct _GnomeVFSVolume GnomeVFSVolume;
++
+ struct _GnomeVFSVolume {
+ GObject parent;
+
+ GnomeVFSVolumePrivate *priv;
+ };
+
+-typedef struct {
++typedef struct _GnomeVFSVolumeClass GnomeVFSVolumeClass;
++
++struct _GnomeVFSVolumeClass {
+ GObjectClass parent_class;
+-} GnomeVFSVolumeClass;
++};
++
++typedef void (*GnomeVFSVolumeOpCallback) (gboolean succeeded,
++ char *error,
++ char *detailed_error,
++ gpointer data);
++
++/* Need to declare this here due to cross use in gnome-vfs-drive.h */
++typedef struct _GnomeVFSDrive GnomeVFSDrive;
++
++#include <libgnomevfs/gnome-vfs-drive.h>
+
+ GType gnome_vfs_volume_get_type (void) G_GNUC_CONST;
+
+diff -urN aa/gnome-vfs-2.5.8/libgnomevfs/Makefile.am gnome-vfs-2.5.8/libgnomevfs/Makefile.am
+--- aa/gnome-vfs-2.5.8/libgnomevfs/Makefile.am 2004-01-20 22:44:22.000000000 +0100
++++ gnome-vfs-2.5.8/libgnomevfs/Makefile.am 2004-03-06 15:45:25.125832440 +0100
+@@ -28,6 +28,7 @@
+ gnome-vfs-cancellation.h \
+ gnome-vfs-context.h \
+ gnome-vfs-directory.h \
++ gnome-vfs-drive.h \
+ gnome-vfs-file-info.h \
+ gnome-vfs-file-size.h \
+ gnome-vfs-find-directory.h \
+@@ -44,6 +45,8 @@
+ gnome-vfs-standard-callbacks.h \
+ gnome-vfs-types.h \
+ gnome-vfs-utils.h \
++ gnome-vfs-volume.h \
++ gnome-vfs-volume-monitor.h \
+ gnome-vfs-xfer.h \
+ gnome-vfs.h \
+ $(NULL)