GnomeVFS - Filesystem Abstraction library | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
typedef enum { GNOME_VFS_OK, GNOME_VFS_ERROR_NOT_FOUND, GNOME_VFS_ERROR_GENERIC, GNOME_VFS_ERROR_INTERNAL, GNOME_VFS_ERROR_BAD_PARAMETERS, GNOME_VFS_ERROR_NOT_SUPPORTED, GNOME_VFS_ERROR_IO, GNOME_VFS_ERROR_CORRUPTED_DATA, GNOME_VFS_ERROR_WRONG_FORMAT, GNOME_VFS_ERROR_BAD_FILE, GNOME_VFS_ERROR_TOO_BIG, GNOME_VFS_ERROR_NO_SPACE, GNOME_VFS_ERROR_READ_ONLY, GNOME_VFS_ERROR_INVALID_URI, GNOME_VFS_ERROR_NOT_OPEN, GNOME_VFS_ERROR_INVALID_OPEN_MODE, GNOME_VFS_ERROR_ACCESS_DENIED, GNOME_VFS_ERROR_TOO_MANY_OPEN_FILES, GNOME_VFS_ERROR_EOF, GNOME_VFS_ERROR_NOT_A_DIRECTORY, GNOME_VFS_ERROR_IN_PROGRESS, GNOME_VFS_ERROR_INTERRUPTED, GNOME_VFS_ERROR_FILE_EXISTS, GNOME_VFS_ERROR_LOOP, GNOME_VFS_ERROR_NOT_PERMITTED, GNOME_VFS_ERROR_IS_DIRECTORY, GNOME_VFS_ERROR_NO_MEMORY, GNOME_VFS_ERROR_HOST_NOT_FOUND, GNOME_VFS_ERROR_INVALID_HOST_NAME, GNOME_VFS_ERROR_HOST_HAS_NO_ADDRESS, GNOME_VFS_ERROR_LOGIN_FAILED, GNOME_VFS_ERROR_CANCELLED, GNOME_VFS_ERROR_DIRECTORY_BUSY, GNOME_VFS_ERROR_DIRECTORY_NOT_EMPTY, GNOME_VFS_ERROR_TOO_MANY_LINKS, GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM, GNOME_VFS_ERROR_NOT_SAME_FILE_SYSTEM, GNOME_VFS_ERROR_NAME_TOO_LONG, GNOME_VFS_ERROR_SERVICE_NOT_AVAILABLE, GNOME_VFS_ERROR_SERVICE_OBSOLETE, GNOME_VFS_ERROR_PROTOCOL_ERROR, GNOME_VFS_NUM_ERRORS } GnomeVFSResult; |
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 } GnomeVFSOpenMode; |
typedef enum { GNOME_VFS_FILE_TYPE_UNKNOWN, GNOME_VFS_FILE_TYPE_REGULAR, GNOME_VFS_FILE_TYPE_DIRECTORY, GNOME_VFS_FILE_TYPE_FIFO, GNOME_VFS_FILE_TYPE_SOCKET, GNOME_VFS_FILE_TYPE_CHARACTER_DEVICE, GNOME_VFS_FILE_TYPE_BLOCK_DEVICE, GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK } GnomeVFSFileType; |
typedef enum { GNOME_VFS_PERM_SUID = S_ISUID, GNOME_VFS_PERM_SGID = S_ISGID, GNOME_VFS_PERM_STICKY = 01000, /* S_ISVTX not defined on all systems */ GNOME_VFS_PERM_USER_READ = S_IRUSR, GNOME_VFS_PERM_USER_WRITE = S_IWUSR, GNOME_VFS_PERM_USER_EXEC = S_IXUSR, GNOME_VFS_PERM_USER_ALL = S_IRUSR | S_IWUSR | S_IXUSR, GNOME_VFS_PERM_GROUP_READ = S_IRGRP, GNOME_VFS_PERM_GROUP_WRITE = S_IWGRP, GNOME_VFS_PERM_GROUP_EXEC = S_IXGRP, GNOME_VFS_PERM_GROUP_ALL = S_IRGRP | S_IWGRP | S_IXGRP, GNOME_VFS_PERM_OTHER_READ = S_IROTH, GNOME_VFS_PERM_OTHER_WRITE = S_IWOTH, GNOME_VFS_PERM_OTHER_EXEC = S_IXOTH, GNOME_VFS_PERM_OTHER_ALL = S_IROTH | S_IWOTH | S_IXOTH } GnomeVFSFilePermissions; |
typedef enum { GNOME_VFS_SEEK_START, GNOME_VFS_SEEK_CURRENT, GNOME_VFS_SEEK_END } GnomeVFSSeekPosition; |
typedef struct { /* Base object. */ GnomeVFSURI uri; /* Server location information. */ gchar *host_name; guint host_port; /* Authorization information. */ gchar *user_name; gchar *password; /* The parent URN, if it exists */ gchar *urn; } GnomeVFSToplevelURI; |
typedef enum { GNOME_VFS_URI_HIDE_NONE = 0, GNOME_VFS_URI_HIDE_USER_NAME = 1 << 0, GNOME_VFS_URI_HIDE_PASSWORD = 1 << 1, GNOME_VFS_URI_HIDE_HOST_NAME = 1 << 2, GNOME_VFS_URI_HIDE_HOST_PORT = 1 << 3, GNOME_VFS_URI_HIDE_TOPLEVEL_METHOD = 1 << 4, GNOME_VFS_URI_HIDE_FRAGMENT_IDENTIFIER = 1 << 8 } GnomeVFSURIHideOptions; |
typedef enum { GNOME_VFS_FILE_FLAGS_NONE = 0, /* Whether the file is a symlink. */ GNOME_VFS_FILE_FLAGS_SYMLINK = 1 << 0, /* Whether the file is on a local file system. */ GNOME_VFS_FILE_FLAGS_LOCAL = 1 << 1, } GnomeVFSFileFlags; |
typedef enum { GNOME_VFS_FILE_INFO_FIELDS_NONE = 0, GNOME_VFS_FILE_INFO_FIELDS_TYPE = 1 << 0, GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS = 1 << 1, GNOME_VFS_FILE_INFO_FIELDS_FLAGS = 1 << 2, GNOME_VFS_FILE_INFO_FIELDS_DEVICE = 1 << 3, GNOME_VFS_FILE_INFO_FIELDS_INODE = 1 << 4, GNOME_VFS_FILE_INFO_FIELDS_LINK_COUNT = 1 << 5, GNOME_VFS_FILE_INFO_FIELDS_SIZE = 1 << 6, GNOME_VFS_FILE_INFO_FIELDS_BLOCK_COUNT = 1 << 7, GNOME_VFS_FILE_INFO_FIELDS_IO_BLOCK_SIZE = 1 << 8, GNOME_VFS_FILE_INFO_FIELDS_ATIME = 1 << 9, GNOME_VFS_FILE_INFO_FIELDS_MTIME = 1 << 10, GNOME_VFS_FILE_INFO_FIELDS_CTIME = 1 << 11, GNOME_VFS_FILE_INFO_FIELDS_SYMLINK_NAME = 1 << 12, GNOME_VFS_FILE_INFO_FIELDS_MIME_TYPE = 1 << 13 } GnomeVFSFileInfoFields; |
typedef struct { /* Base name of the file (no path). */ gchar *name; /* Fields which are actually valid in this strcture. */ GnomeVFSFileInfoFields valid_fields; /* File type (i.e. regular, directory, block device...). */ GnomeVFSFileType type; /* File permissions. */ GnomeVFSFilePermissions permissions; /* Flags for this file. */ GnomeVFSFileFlags flags; /* This is only valid if `is_local' is TRUE (see below). */ dev_t device; guint inode; /* Link count. */ guint link_count; /* UID, GID. */ guint uid; guint gid; /* Size in bytes. */ GnomeVFSFileSize size; /* Size measured in units of 512-byte blocks. */ GnomeVFSFileSize block_count; /* Optimal buffer size for reading/writing the file. */ guint io_block_size; /* Access, modification and change times. */ time_t atime; time_t mtime; time_t ctime; /* If the file is a symlink (see `flags'), this specifies the file the link points to. */ gchar *symlink_name; /* MIME type. */ gchar *mime_type; guint refcount; } GnomeVFSFileInfo; |
typedef enum { GNOME_VFS_FILE_INFO_DEFAULT = 0, /* FIXME bugzilla.eazel.com 1203: name sucks */ GNOME_VFS_FILE_INFO_GET_MIME_TYPE = 1 << 0, GNOME_VFS_FILE_INFO_FORCE_FAST_MIME_TYPE = 1 << 1, GNOME_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE = 1 << 2, GNOME_VFS_FILE_INFO_FOLLOW_LINKS = 1 << 3 } GnomeVFSFileInfoOptions; |
typedef enum { GNOME_VFS_SET_FILE_INFO_NONE = 0, GNOME_VFS_SET_FILE_INFO_NAME = 1 << 0, GNOME_VFS_SET_FILE_INFO_PERMISSIONS = 1 << 1, GNOME_VFS_SET_FILE_INFO_OWNER = 1 << 2, GNOME_VFS_SET_FILE_INFO_TIME = 1 << 3 } GnomeVFSSetFileInfoMask; |
typedef enum { GNOME_VFS_DIRECTORY_KIND_DESKTOP = 1000, GNOME_VFS_DIRECTORY_KIND_TRASH = 1001 } GnomeVFSFindDirectoryKind; |
typedef enum { GNOME_VFS_DIRECTORY_FILTER_NONE, GNOME_VFS_DIRECTORY_FILTER_SHELLPATTERN, GNOME_VFS_DIRECTORY_FILTER_REGEXP } GnomeVFSDirectoryFilterType; |
typedef enum { GNOME_VFS_DIRECTORY_FILTER_DEFAULT = 0, GNOME_VFS_DIRECTORY_FILTER_NODIRS = 1 << 0, GNOME_VFS_DIRECTORY_FILTER_DIRSONLY = 1 << 1, GNOME_VFS_DIRECTORY_FILTER_NODOTFILES = 1 << 2, GNOME_VFS_DIRECTORY_FILTER_IGNORECASE = 1 << 3, GNOME_VFS_DIRECTORY_FILTER_EXTENDEDREGEXP = 1 << 4, GNOME_VFS_DIRECTORY_FILTER_NOSELFDIR = 1 << 5, GNOME_VFS_DIRECTORY_FILTER_NOPARENTDIR = 1 << 6, GNOME_VFS_DIRECTORY_FILTER_NOBACKUPFILES = 1 << 7 } GnomeVFSDirectoryFilterOptions; |
typedef enum { GNOME_VFS_DIRECTORY_FILTER_NEEDS_NOTHING = 0, GNOME_VFS_DIRECTORY_FILTER_NEEDS_NAME = 1 << 0, GNOME_VFS_DIRECTORY_FILTER_NEEDS_TYPE = 1 << 1, GNOME_VFS_DIRECTORY_FILTER_NEEDS_STAT = 1 << 2, GNOME_VFS_DIRECTORY_FILTER_NEEDS_MIMETYPE = 1 << 3, } GnomeVFSDirectoryFilterNeeds; |
typedef enum { GNOME_VFS_DIRECTORY_VISIT_DEFAULT = 0, GNOME_VFS_DIRECTORY_VISIT_SAMEFS = 1 << 0, GNOME_VFS_DIRECTORY_VISIT_LOOPCHECK = 1 << 1 } GnomeVFSDirectoryVisitOptions; |
gboolean (*GnomeVFSDirectoryFilterFunc) (const GnomeVFSFileInfo *info, gpointer data); |
gboolean (*GnomeVFSDirectoryVisitFunc) (const gchar *rel_path, GnomeVFSFileInfo *info, gboolean recursing_will_loop, gpointer data, gboolean *recurse); |
typedef enum { GNOME_VFS_XFER_DEFAULT = 0, GNOME_VFS_XFER_UNUSED_1 = 1 << 0, GNOME_VFS_XFER_FOLLOW_LINKS = 1 << 1, GNOME_VFS_XFER_UNUSED_2 = 1 << 2, GNOME_VFS_XFER_RECURSIVE = 1 << 3, GNOME_VFS_XFER_SAMEFS = 1 << 4, GNOME_VFS_XFER_DELETE_ITEMS = 1 << 5, GNOME_VFS_XFER_EMPTY_DIRECTORIES = 1 << 6, GNOME_VFS_XFER_NEW_UNIQUE_DIRECTORY = 1 << 7, GNOME_VFS_XFER_REMOVESOURCE = 1 << 8, GNOME_VFS_XFER_USE_UNIQUE_NAMES = 1 << 9, GNOME_VFS_XFER_LINK_ITEMS = 1 << 10 } GnomeVFSXferOptions; |
typedef enum { GNOME_VFS_XFER_PROGRESS_STATUS_OK = 0, GNOME_VFS_XFER_PROGRESS_STATUS_VFSERROR = 1, GNOME_VFS_XFER_PROGRESS_STATUS_OVERWRITE = 2, /* during the duplicate status the progress callback is asked to supply a new unique name */ GNOME_VFS_XFER_PROGRESS_STATUS_DUPLICATE = 3 } GnomeVFSXferProgressStatus; |
typedef enum { /* Interrupt transferring with an error (GNOME_VFS_ERROR_FILEEXISTS). */ GNOME_VFS_XFER_OVERWRITE_MODE_ABORT = 0, /* Invoke the progress callback with a `GNOME_VFS_XFER_PROGRESS_STATUS_OVERWRITE' status code. */ GNOME_VFS_XFER_OVERWRITE_MODE_QUERY = 1, /* Overwrite files silently. */ GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE = 2, /* Ignore files silently. */ GNOME_VFS_XFER_OVERWRITE_MODE_SKIP = 3 } GnomeVFSXferOverwriteMode; |
typedef enum { GNOME_VFS_XFER_OVERWRITE_ACTION_ABORT = 0, GNOME_VFS_XFER_OVERWRITE_ACTION_REPLACE = 1, GNOME_VFS_XFER_OVERWRITE_ACTION_REPLACE_ALL = 2, GNOME_VFS_XFER_OVERWRITE_ACTION_SKIP = 3, GNOME_VFS_XFER_OVERWRITE_ACTION_SKIP_ALL = 4, } GnomeVFSXferOverwriteAction; |
typedef enum { /* Interrupt transferring with an error (code returned is code of the operation that has caused the error). */ GNOME_VFS_XFER_ERROR_MODE_ABORT = 0, /* Invoke the progress callback with a `GNOME_VFS_XFER_PROGRESS_STATUS_VFSERROR' status code. */ GNOME_VFS_XFER_ERROR_MODE_QUERY = 1, } GnomeVFSXferErrorMode; |
typedef enum { /* Interrupt operation and return `GNOME_VFS_ERROR_INTERRUPTED'. */ GNOME_VFS_XFER_ERROR_ACTION_ABORT = 0, /* Try the same operation again. */ GNOME_VFS_XFER_ERROR_ACTION_RETRY = 1, /* Skip this file and continue normally. */ GNOME_VFS_XFER_ERROR_ACTION_SKIP = 2 } GnomeVFSXferErrorAction; |
typedef enum { /* Initial phase */ GNOME_VFS_XFER_PHASE_INITIAL, /* Checking if destination can handle move/copy */ GNOME_VFS_XFER_CHECKING_DESTINATION, /* Collecting file list */ GNOME_VFS_XFER_PHASE_COLLECTING, /* File list collected (*) */ GNOME_VFS_XFER_PHASE_READYTOGO, /* Opening source file for reading */ GNOME_VFS_XFER_PHASE_OPENSOURCE, /* Creating target file for copy */ GNOME_VFS_XFER_PHASE_OPENTARGET, /* Copying data from source to target (*) */ GNOME_VFS_XFER_PHASE_COPYING, /* Moving file from source to target (*) */ GNOME_VFS_XFER_PHASE_MOVING, /* Reading data from source file */ GNOME_VFS_XFER_PHASE_READSOURCE, /* Writing data to target file */ GNOME_VFS_XFER_PHASE_WRITETARGET, /* Closing source file */ GNOME_VFS_XFER_PHASE_CLOSESOURCE, /* Closing target file */ GNOME_VFS_XFER_PHASE_CLOSETARGET, /* Deleting source file */ GNOME_VFS_XFER_PHASE_DELETESOURCE, /* Setting attributes on target file */ GNOME_VFS_XFER_PHASE_SETATTRIBUTES, /* Go to the next file (*) */ GNOME_VFS_XFER_PHASE_FILECOMPLETED, /* cleaning up after a move (removing source files, etc.) */ GNOME_VFS_XFER_PHASE_CLEANUP, /* Operation finished (*) */ GNOME_VFS_XFER_PHASE_COMPLETED, GNOME_VFS_XFER_NUM_PHASES } GnomeVFSXferPhase; |
typedef struct { /* Progress status (see above for a description). */ GnomeVFSXferProgressStatus status; /* VFS status code. If `status' is `GNOME_VFS_XFER_PROGRESS_STATUS_VFSERROR', you should look at this member to know what has happened. */ GnomeVFSResult vfs_status; /* Current phase in the transferring process. */ GnomeVFSXferPhase phase; /* Source URI. FIXME bugzilla.eazel.com 1206: change name? */ gchar *source_name; /* Destination URI. FIXME bugzilla.eazel.com 1206: change name? */ gchar *target_name; /* Index of file being copied. */ gulong file_index; /* Total number of files to be copied. */ gulong files_total; /* Total number of bytes to be copied. */ GnomeVFSFileSize bytes_total; /* Total size of this file (in bytes). */ GnomeVFSFileSize file_size; /* Bytes copied for this file so far. */ GnomeVFSFileSize bytes_copied; /* Total amount of data copied from the beginning. */ GnomeVFSFileSize total_bytes_copied; /* Target unique name used when duplicating, etc. to avoid collisions */ gchar *duplicate_name; /* Count used in the unique name e.g. (copy 2), etc. */ int duplicate_count; gboolean top_level_item; /* indicates that the copied/moved/deleted item is an actual item * passed in the uri list rather than one encountered by recursively * traversing directories. Used by metadata copying. */ } GnomeVFSXferProgressInfo; |
gint (*GnomeVFSXferProgressCallback) (GnomeVFSXferProgressInfo *info, gpointer data); |
void (*GnomeVFSAsyncCallback) (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer callback_data); |
typedef GnomeVFSAsyncOpenAsChannelCallback GnomeVFSAsyncCreateAsChannelCallback; |
void (*GnomeVFSAsyncReadCallback) (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer buffer, GnomeVFSFileSize bytes_requested, GnomeVFSFileSize bytes_read, gpointer callback_data); |
void (*GnomeVFSAsyncWriteCallback) (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gconstpointer buffer, GnomeVFSFileSize bytes_requested, GnomeVFSFileSize bytes_written, gpointer callback_data); |
typedef struct { GnomeVFSURI *uri; GnomeVFSResult result; GnomeVFSFileInfo *file_info; } GnomeVFSGetFileInfoResult; |
typedef struct { GnomeVFSURI *uri; GnomeVFSResult result; } GnomeVFSFindDirectoryResult; |
void (*GnomeVFSStatusCallback) (const gchar *message, gpointer callback_data); |
GnomeVFSTransform* (*GnomeVFSTransformInitFunc) (const char *method_name, const char *config_args); |
GnomeVFSResult (*GnomeVFSTransformFunc) (GnomeVFSTransform *transform, const char *old_uri, char **new_uri, GnomeVFSContext *context); |