Basic File Operations

Basic File Operations — Essential VFS operations. This includes creating, moving and deleting files, opening and closing file handles.

Synopsis




enum        GnomeVFSOpenMode;
GnomeVFSResult gnome_vfs_create             (GnomeVFSHandle **handle,
                                             const gchar *text_uri,
                                             GnomeVFSOpenMode open_mode,
                                             gboolean exclusive,
                                             guint perm);
GnomeVFSResult gnome_vfs_create_uri         (GnomeVFSHandle **handle,
                                             GnomeVFSURI *uri,
                                             GnomeVFSOpenMode open_mode,
                                             gboolean exclusive,
                                             guint perm);
GnomeVFSResult gnome_vfs_open               (GnomeVFSHandle **handle,
                                             const gchar *text_uri,
                                             GnomeVFSOpenMode open_mode);
GnomeVFSResult gnome_vfs_open_uri           (GnomeVFSHandle **handle,
                                             GnomeVFSURI *uri,
                                             GnomeVFSOpenMode open_mode);
GnomeVFSResult gnome_vfs_close              (GnomeVFSHandle *handle);
GnomeVFSResult gnome_vfs_unlink             (const gchar *text_uri);
GnomeVFSResult gnome_vfs_unlink_from_uri    (GnomeVFSURI *uri);
GnomeVFSResult gnome_vfs_move_uri           (GnomeVFSURI *old_uri,
                                             GnomeVFSURI *new_uri,
                                             gboolean force_replace);
GnomeVFSResult gnome_vfs_move               (const gchar *old_text_uri,
                                             const gchar *new_text_uri,
                                             gboolean force_replace);
GnomeVFSResult gnome_vfs_check_same_fs_uris (GnomeVFSURI *source_uri,
                                             GnomeVFSURI *target_uri,
                                             gboolean *same_fs_return);
GnomeVFSResult gnome_vfs_check_same_fs      (const gchar *source,
                                             const gchar *target,
                                             gboolean *same_fs_return);
gboolean    gnome_vfs_uri_exists            (GnomeVFSURI *uri);
GnomeVFSResult gnome_vfs_create_symbolic_link
                                            (GnomeVFSURI *uri,
                                             const gchar *target_reference);

Description

GnomeVFS file operations are, for the most part, patterned after their POSIX equivalents, with the systematic difference that they accept URIs rather than paths on the local filesystem. This makes them easy to learn as if you are already familiar with basic commands such as open(), seek(), write(), etc you will feel right at home with GnomeVFS after learning a little about URIs.

Details

enum GnomeVFSOpenMode

typedef enum {
        GNOME_VFS_OPEN_NONE = 0,
        GNOME_VFS_OPEN_READ = 1 << 0,
        GNOME_VFS_OPEN_WRITE = 1 << 1,
        GNOME_VFS_OPEN_RANDOM = 1 << 2,
	GNOME_VFS_OPEN_TRUNCATE = 1 << 3
} GnomeVFSOpenMode;

Mode in which files are opened. If GNOME_VFS_OPEN_RANDOM is not used, the file will be have to be accessed sequentially.

GNOME_VFS_OPEN_NONE No access.
GNOME_VFS_OPEN_READ Read access.
GNOME_VFS_OPEN_WRITE Write access.
GNOME_VFS_OPEN_RANDOM Random access.
GNOME_VFS_OPEN_TRUNCATE Truncate file before accessing it, i.e. delete its contents.

gnome_vfs_create ()

GnomeVFSResult gnome_vfs_create             (GnomeVFSHandle **handle,
                                             const gchar *text_uri,
                                             GnomeVFSOpenMode open_mode,
                                             gboolean exclusive,
                                             guint perm);

Create text_uri according to mode open_mode. On return, handle will then contain a pointer to a handle for the open file.

handle : pointer to a pointer to a GnomeVFSHandle object.
text_uri : string representing the uri to create.
open_mode : mode to leave the file opened in after creation (or GNOME_VFS_OPEN_MODE_NONE to leave the file closed after creation).
exclusive : whether the file should be created in "exclusive" mode. i.e. if this flag is nonzero, operation will fail if a file with the same name already exists.
perm : bitmap representing the permissions for the newly created file (Unix style).
Returns : an integer representing the result of the operation.

gnome_vfs_create_uri ()

GnomeVFSResult gnome_vfs_create_uri         (GnomeVFSHandle **handle,
                                             GnomeVFSURI *uri,
                                             GnomeVFSOpenMode open_mode,
                                             gboolean exclusive,
                                             guint perm);

Create uri according to mode open_mode. On return, handle will then contain a pointer to a handle for the open file.

handle : pointer to a pointer to a GnomeVFSHandle object.
uri : uri for the file to create.
open_mode : open mode.
exclusive : whether the file should be created in "exclusive" mode. i.e. if this flag is nonzero, operation will fail if a file with the same name already exists.
perm : bitmap representing the permissions for the newly created file (Unix style).
Returns : an integer representing the result of the operation.

gnome_vfs_open ()

GnomeVFSResult gnome_vfs_open               (GnomeVFSHandle **handle,
                                             const gchar *text_uri,
                                             GnomeVFSOpenMode open_mode);

Open text_uri according to mode open_mode. On return, handle will then contain a pointer to a handle for the open file.

handle : pointer to a pointer to a GnomeVFSHandle object.
text_uri : string representing the uri to open.
open_mode : open mode.
Returns : an integer representing the result of the operation.

gnome_vfs_open_uri ()

GnomeVFSResult gnome_vfs_open_uri           (GnomeVFSHandle **handle,
                                             GnomeVFSURI *uri,
                                             GnomeVFSOpenMode open_mode);

Open uri according to mode open_mode. On return, handle will then contain a pointer to a handle for the open file.

handle : pointer to a pointer to a GnomeVFSHandle object.
uri : uri to open.
open_mode : open mode.
Returns : an integer representing the result of the operation.

gnome_vfs_close ()

GnomeVFSResult gnome_vfs_close              (GnomeVFSHandle *handle);

Close file associated with handle.

handle : pointer to a GnomeVFSHandle object.
Returns : an integer representing the result of the operation.

gnome_vfs_unlink ()

GnomeVFSResult gnome_vfs_unlink             (const gchar *text_uri);

Unlink text_uri (i.e. delete the file).

text_uri : uri of the file to be unlinked.
Returns : an integer representing the result of the operation.

gnome_vfs_unlink_from_uri ()

GnomeVFSResult gnome_vfs_unlink_from_uri    (GnomeVFSURI *uri);

Unlink uri (i.e. delete the file).

uri : uri of the file to be unlinked.
Returns : an integer representing the result of the operation.

gnome_vfs_move_uri ()

GnomeVFSResult gnome_vfs_move_uri           (GnomeVFSURI *old_uri,
                                             GnomeVFSURI *new_uri,
                                             gboolean force_replace);

Move a file from uri old_uri to new_uri. This will only work if old_uri and new_uri are on the same file system. Otherwise, it is necessary to use the more general gnome_vfs_xfer_uri() function.

old_uri : source uri.
new_uri : destination uri.
force_replace : if TRUE, move old_uri to new_uri even if there is already a file at new_uri. If there is a file, it will be discarded.
Returns : an integer representing the result of the operation.

gnome_vfs_move ()

GnomeVFSResult gnome_vfs_move               (const gchar *old_text_uri,
                                             const gchar *new_text_uri,
                                             gboolean force_replace);

Move a file from old_text_uri to new_text_uri. This will only work if old_text_uri and new_text_uri are on the same file system. Otherwise, it is necessary to use the more general gnome_vfs_xfer_uri() function.

old_text_uri : string representing the source file location.
new_text_uri : string representing the destination file location.
force_replace : if TRUE, perform the operation even if it unlinks an existing file at new_text_uri.
Returns : an integer representing the result of the operation.

gnome_vfs_check_same_fs_uris ()

GnomeVFSResult gnome_vfs_check_same_fs_uris (GnomeVFSURI *source_uri,
                                             GnomeVFSURI *target_uri,
                                             gboolean *same_fs_return);

Check if source_uri and target_uri are on the same file system.

source_uri : a uri.
target_uri : another uri.
same_fs_return : pointer to a boolean variable which will be set to TRUE on return if source_uri and target_uri are on the same file system.
Returns : an integer representing the result of the operation.

gnome_vfs_check_same_fs ()

GnomeVFSResult gnome_vfs_check_same_fs      (const gchar *source,
                                             const gchar *target,
                                             gboolean *same_fs_return);

Check if source and target are on the same file system.

source : path to a file.
target : path to another file.
same_fs_return : pointer to a boolean variable which will be set to TRUE on return if source and target are on the same file system.
Returns : an integer representing the result of the operation.

gnome_vfs_uri_exists ()

gboolean    gnome_vfs_uri_exists            (GnomeVFSURI *uri);

Check if the uri points to an existing entity.

uri : a uri.
Returns : TRUE if uri exists.

gnome_vfs_create_symbolic_link ()

GnomeVFSResult gnome_vfs_create_symbolic_link
                                            (GnomeVFSURI *uri,
                                             const gchar *target_reference);

Creates a symbolic link, or eventually, a uri link (as necessary) at uri pointing to target_reference.

uri : uri to create a link at.
target_reference : uri "reference" to point the link to (uri or relative path).
Returns : an integer representing the result of the operation.