Initial original import from: fuse-2.4.2-2.fc4
[captive.git] / src / libcaptive / client / file.h
index 3af3cf0..e4f1af5 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <glib/gmacros.h>
 #include <glib/gtypes.h>
-#include "reactos/napi/types.h"        /* for NTSTATUS */
+#include "captive/client-vfs.h"
 
 
 G_BEGIN_DECLS
@@ -32,13 +32,29 @@ struct _CaptiveFileObject {
        GObject parent_instance;
 
        /*< private >*/
-       HANDLE file_Handle;
-       GnomeVFSFileOffset offset;
+       CaptiveVfsObject *vfs;
        };
 struct _CaptiveFileObjectClass {
        GObjectClass parent_class;
+
+       GnomeVFSResult (*read)(CaptiveFileObject *captive_file_object,
+                       gpointer buffer,GnomeVFSFileSize num_bytes,GnomeVFSFileSize *bytes_read_return);
+       GnomeVFSResult (*write)(CaptiveFileObject *captive_file_object,
+                       gconstpointer buffer,GnomeVFSFileSize num_bytes,GnomeVFSFileSize *bytes_written_return);
+       GnomeVFSResult (*seek)
+                       (CaptiveFileObject *captive_file_object,GnomeVFSSeekPosition whence,GnomeVFSFileOffset offset);
+       GnomeVFSResult (*tell)(CaptiveFileObject *captive_file_object,GnomeVFSFileOffset *offset_return);
+       GnomeVFSResult (*remove)(CaptiveFileObject *captive_file_object);
+       GnomeVFSResult (*file_info_get)(CaptiveFileObject *captive_file_object,
+                       GnomeVFSFileInfo *file_info);
+       GnomeVFSResult (*file_info_set)(CaptiveFileObject *captive_file_object,
+                       const GnomeVFSFileInfo *info,GnomeVFSSetFileInfoMask mask);
+       GnomeVFSResult (*truncate)(CaptiveFileObject *captive_file_object,GnomeVFSFileSize file_size);
+       GnomeVFSResult (*move)(CaptiveFileObject *captive_file_object_old,const gchar *pathname_new,gboolean force_replace);
        };
 
+GnomeVFSResult captive_file_init(CaptiveFileObject *captive_file_object,CaptiveVfsObject *captive_vfs_object);
+
 G_END_DECLS