MateVFSFileInfo

MateVFSFileInfo — stores information about files, MateVFS equivalent of stat

Synopsis

enum                MateVFSFileFlags;
enum                MateVFSFileType;
enum                MateVFSFileInfoFields;
enum                MateVFSFilePermissions;
enum                MateVFSFileInfoOptions;
enum                MateVFSSetFileInfoMask;
                    MateVFSGetFileInfoResult;
typedef             MateVFSInodeNumber;
                    MateVFSFileInfo;
#define             MATE_VFS_FILE_INFO_SYMLINK          (info)
#define             MATE_VFS_FILE_INFO_SET_SYMLINK      (info,
                                                         value)
#define             MATE_VFS_FILE_INFO_LOCAL            (info)
#define             MATE_VFS_FILE_INFO_SET_LOCAL        (info,
                                                         value)
#define             MATE_VFS_FILE_INFO_SUID             (info)
#define             MATE_VFS_FILE_INFO_SGID             (info)
#define             MATE_VFS_FILE_INFO_STICKY           (info)
#define             MATE_VFS_FILE_INFO_SET_SUID         (info,
                                                         value)
#define             MATE_VFS_FILE_INFO_SET_SGID         (info,
                                                         value)
#define             MATE_VFS_FILE_INFO_SET_STICKY       (info,
                                                         value)
MateVFSFileInfo *   mate_vfs_file_info_new              (void);
void                mate_vfs_file_info_unref            (MateVFSFileInfo *info);
void                mate_vfs_file_info_ref              (MateVFSFileInfo *info);
void                mate_vfs_file_info_clear            (MateVFSFileInfo *info);
const char *        mate_vfs_file_info_get_mime_type    (MateVFSFileInfo *info);
void                mate_vfs_file_info_copy             (MateVFSFileInfo *dest,
                                                         const MateVFSFileInfo *src);
MateVFSFileInfo *   mate_vfs_file_info_dup              (const MateVFSFileInfo *orig);
gboolean            mate_vfs_file_info_matches          (const MateVFSFileInfo *a,
                                                         const MateVFSFileInfo *b);
GList *             mate_vfs_file_info_list_ref         (GList *list);
GList *             mate_vfs_file_info_list_unref       (GList *list);
GList *             mate_vfs_file_info_list_copy        (GList *list);
void                mate_vfs_file_info_list_free        (GList *list);
MateVFSGetFileInfoResult * mate_vfs_get_file_info_result_dup
                                                        (MateVFSGetFileInfoResult *result);
void                mate_vfs_get_file_info_result_free  (MateVFSGetFileInfoResult *result);

Description

Details

enum MateVFSFileFlags

typedef enum {
	MATE_VFS_FILE_FLAGS_NONE = 0,
	MATE_VFS_FILE_FLAGS_SYMLINK = 1 << 0,
	MATE_VFS_FILE_FLAGS_LOCAL = 1 << 1
} MateVFSFileFlags;

Packed boolean bitfield representing special flags a MateVFSFileInfo struct can have.

MATE_VFS_FILE_FLAGS_NONE

no flags

MATE_VFS_FILE_FLAGS_SYMLINK

whether the file is a symlink.

MATE_VFS_FILE_FLAGS_LOCAL

whether the file is on a local filesystem

enum MateVFSFileType

typedef enum {
	MATE_VFS_FILE_TYPE_UNKNOWN,
	MATE_VFS_FILE_TYPE_REGULAR,
	MATE_VFS_FILE_TYPE_DIRECTORY,
	MATE_VFS_FILE_TYPE_FIFO,
	MATE_VFS_FILE_TYPE_SOCKET,
	MATE_VFS_FILE_TYPE_CHARACTER_DEVICE,
	MATE_VFS_FILE_TYPE_BLOCK_DEVICE,
	MATE_VFS_FILE_TYPE_SYMBOLIC_LINK
} MateVFSFileType;

Maps to a stat mode, and identifies the kind of file represented by a MateVFSFileInfo struct, stored in the type field.

MATE_VFS_FILE_TYPE_UNKNOWN

The file type is unknown (none of the types below matches).

MATE_VFS_FILE_TYPE_REGULAR

The file is a regular file (stat: S_ISREG).

MATE_VFS_FILE_TYPE_DIRECTORY

The file is a directory (stat: S_ISDIR).

MATE_VFS_FILE_TYPE_FIFO

The file is a FIFO (stat: S_ISFIFO).

MATE_VFS_FILE_TYPE_SOCKET

The file is a socket (stat: S_ISSOCK).

MATE_VFS_FILE_TYPE_CHARACTER_DEVICE

The file is a character device (stat: S_ISCHR).

MATE_VFS_FILE_TYPE_BLOCK_DEVICE

The file is a block device (stat: S_ISBLK).

MATE_VFS_FILE_TYPE_SYMBOLIC_LINK

The file is a symbolic link (stat: S_ISLNK).

enum MateVFSFileInfoFields

typedef enum {
	MATE_VFS_FILE_INFO_FIELDS_NONE = 0,
	MATE_VFS_FILE_INFO_FIELDS_TYPE = 1 << 0,
	MATE_VFS_FILE_INFO_FIELDS_PERMISSIONS = 1 << 1,
	MATE_VFS_FILE_INFO_FIELDS_FLAGS = 1 << 2,
	MATE_VFS_FILE_INFO_FIELDS_DEVICE = 1 << 3,
	MATE_VFS_FILE_INFO_FIELDS_INODE = 1 << 4,
	MATE_VFS_FILE_INFO_FIELDS_LINK_COUNT = 1 << 5,
	MATE_VFS_FILE_INFO_FIELDS_SIZE = 1 << 6,
	MATE_VFS_FILE_INFO_FIELDS_BLOCK_COUNT = 1 << 7,
	MATE_VFS_FILE_INFO_FIELDS_IO_BLOCK_SIZE = 1 << 8,
	MATE_VFS_FILE_INFO_FIELDS_ATIME = 1 << 9,
	MATE_VFS_FILE_INFO_FIELDS_MTIME = 1 << 10,
	MATE_VFS_FILE_INFO_FIELDS_CTIME = 1 << 11,
	MATE_VFS_FILE_INFO_FIELDS_SYMLINK_NAME = 1 << 12,
	MATE_VFS_FILE_INFO_FIELDS_MIME_TYPE = 1 << 13,
	MATE_VFS_FILE_INFO_FIELDS_ACCESS = 1 << 14,
	MATE_VFS_FILE_INFO_FIELDS_IDS = 1 << 15,
	MATE_VFS_FILE_INFO_FIELDS_ACL = 1 << 16,
	MATE_VFS_FILE_INFO_FIELDS_SELINUX_CONTEXT = 1 << 17
} MateVFSFileInfoFields;

Flags indicating what fields in a MateVFSFileInfo struct are valid. Name is always assumed valid (how else would you have gotten a FileInfo struct otherwise?)

MATE_VFS_FILE_INFO_FIELDS_NONE

No fields are valid

MATE_VFS_FILE_INFO_FIELDS_TYPE

Type field is valid

MATE_VFS_FILE_INFO_FIELDS_PERMISSIONS

Permissions field is valid

MATE_VFS_FILE_INFO_FIELDS_FLAGS

Flags field is valid

MATE_VFS_FILE_INFO_FIELDS_DEVICE

Device field is valid

MATE_VFS_FILE_INFO_FIELDS_INODE

Inode field is valid

MATE_VFS_FILE_INFO_FIELDS_LINK_COUNT

Link count field is valid

MATE_VFS_FILE_INFO_FIELDS_SIZE

Size field is valid

MATE_VFS_FILE_INFO_FIELDS_BLOCK_COUNT

Block count field is valid

MATE_VFS_FILE_INFO_FIELDS_IO_BLOCK_SIZE

I/O Block Size field is valid

MATE_VFS_FILE_INFO_FIELDS_ATIME

Access time field is valid

MATE_VFS_FILE_INFO_FIELDS_MTIME

Modification time field is valid

MATE_VFS_FILE_INFO_FIELDS_CTIME

Creating time field is valid

MATE_VFS_FILE_INFO_FIELDS_SYMLINK_NAME

Symlink name field is valid

MATE_VFS_FILE_INFO_FIELDS_MIME_TYPE

Mime type field is valid

MATE_VFS_FILE_INFO_FIELDS_ACCESS

Access bits of the permissions bitfield are valid

MATE_VFS_FILE_INFO_FIELDS_IDS

UID and GID information are valid

MATE_VFS_FILE_INFO_FIELDS_ACL

ACL field is valid

MATE_VFS_FILE_INFO_FIELDS_SELINUX_CONTEXT

SELinux Security context is valid

enum MateVFSFilePermissions

typedef enum {
	MATE_VFS_PERM_SUID = S_ISUID,
	MATE_VFS_PERM_SGID = S_ISGID,
	MATE_VFS_PERM_STICKY = 01000, /* S_ISVTX not defined on all systems */
	MATE_VFS_PERM_USER_READ = S_IRUSR,
	MATE_VFS_PERM_USER_WRITE = S_IWUSR,
	MATE_VFS_PERM_USER_EXEC = S_IXUSR,
	MATE_VFS_PERM_USER_ALL = S_IRUSR | S_IWUSR | S_IXUSR,
	MATE_VFS_PERM_GROUP_READ = S_IRGRP,
	MATE_VFS_PERM_GROUP_WRITE = S_IWGRP,
	MATE_VFS_PERM_GROUP_EXEC = S_IXGRP,
	MATE_VFS_PERM_GROUP_ALL = S_IRGRP | S_IWGRP | S_IXGRP,
	MATE_VFS_PERM_OTHER_READ = S_IROTH,
	MATE_VFS_PERM_OTHER_WRITE = S_IWOTH,
	MATE_VFS_PERM_OTHER_EXEC = S_IXOTH,
	MATE_VFS_PERM_OTHER_ALL = S_IROTH | S_IWOTH | S_IXOTH,
	MATE_VFS_PERM_ACCESS_READABLE   = 1 << 16,
	MATE_VFS_PERM_ACCESS_WRITABLE   = 1 << 17,
	MATE_VFS_PERM_ACCESS_EXECUTABLE = 1 << 18
} MateVFSFilePermissions;

File permissions. Some of these fields correspond to traditional UNIX semantics, others provide more abstract concepts.

Note

Some network file systems don't support traditional UNIX semantics but still provide file access control. Thus, if you want to modify the permissions (i.e. do a chmod), you should rely on the traditional fields, but if you just want to determine whether a file or directory can be read from or written to, you should rely on the more abstract MATE_VFS_PERM_ACCESS_* fields.

MATE_VFS_PERM_SUID

UID bit

MATE_VFS_PERM_SGID

GID bit

MATE_VFS_PERM_STICKY

Sticky bit.

MATE_VFS_PERM_USER_READ

Owner has read permission.

MATE_VFS_PERM_USER_WRITE

Owner has write permission.

MATE_VFS_PERM_USER_EXEC

Owner has execution permission.

MATE_VFS_PERM_USER_ALL

Owner has all permissions.

MATE_VFS_PERM_GROUP_READ

Group has read permission.

MATE_VFS_PERM_GROUP_WRITE

Group has write permission.

MATE_VFS_PERM_GROUP_EXEC

Group has execution permission.

MATE_VFS_PERM_GROUP_ALL

Group has all permissions.

MATE_VFS_PERM_OTHER_READ

Others have read permission.

MATE_VFS_PERM_OTHER_WRITE

Others have write permission.

MATE_VFS_PERM_OTHER_EXEC

Others have execution permission.

MATE_VFS_PERM_OTHER_ALL

Others have all permissions.

MATE_VFS_PERM_ACCESS_READABLE

This file is readable for the current client.

MATE_VFS_PERM_ACCESS_WRITABLE

This file is writable for the current client.

MATE_VFS_PERM_ACCESS_EXECUTABLE

This file is executable for the current client.

enum MateVFSFileInfoOptions

typedef enum {
	MATE_VFS_FILE_INFO_DEFAULT = 0,
	MATE_VFS_FILE_INFO_GET_MIME_TYPE = 1 << 0,
	MATE_VFS_FILE_INFO_FORCE_FAST_MIME_TYPE = 1 << 1,
	MATE_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE = 1 << 2,
	MATE_VFS_FILE_INFO_FOLLOW_LINKS = 1 << 3,
	MATE_VFS_FILE_INFO_GET_ACCESS_RIGHTS = 1 << 4,
	MATE_VFS_FILE_INFO_NAME_ONLY = 1 << 5,
	MATE_VFS_FILE_INFO_GET_ACL = 1 << 6,
	MATE_VFS_FILE_INFO_GET_SELINUX_CONTEXT = 1 << 7
} MateVFSFileInfoOptions;

Packed boolean bitfield representing options that can be passed into a mate_vfs_get_file_info() call (or other related calls that return file info) and affect the operation of get_file_info.

MATE_VFS_FILE_INFO_DEFAULT

default flags

MATE_VFS_FILE_INFO_GET_MIME_TYPE

detect the MIME type

MATE_VFS_FILE_INFO_FORCE_FAST_MIME_TYPE

only use fast MIME type detection (extensions)

MATE_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE

force slow MIME type detection where available (sniffing, algorithmic detection, etc)

MATE_VFS_FILE_INFO_FOLLOW_LINKS

automatically follow symbolic links and retrieve the properties of their target (recommended)

MATE_VFS_FILE_INFO_GET_ACCESS_RIGHTS

tries to get data similar to what would return access(2) on a local file system (ie is the file readable, writable and/or executable). Can be really slow on remote file systems

MATE_VFS_FILE_INFO_NAME_ONLY

When reading a directory, only get the filename (if doing so is faster). Useful to e.g. count the number of files.

MATE_VFS_FILE_INFO_GET_ACL

get ACLs for the file

MATE_VFS_FILE_INFO_GET_SELINUX_CONTEXT


enum MateVFSSetFileInfoMask

typedef enum {
	MATE_VFS_SET_FILE_INFO_NONE = 0,
	MATE_VFS_SET_FILE_INFO_NAME = 1 << 0,
	MATE_VFS_SET_FILE_INFO_PERMISSIONS = 1 << 1,
	MATE_VFS_SET_FILE_INFO_OWNER = 1 << 2,
	MATE_VFS_SET_FILE_INFO_TIME = 1 << 3,
	MATE_VFS_SET_FILE_INFO_ACL = 1 << 4,
	MATE_VFS_SET_FILE_INFO_SELINUX_CONTEXT = 1 << 5,
	MATE_VFS_SET_FILE_INFO_SYMLINK_NAME = 1 << 6
} MateVFSSetFileInfoMask;

Packed boolean bitfield representing the aspects of the file to be changed in a mate_vfs_set_file_info() call.

MATE_VFS_SET_FILE_INFO_NONE

don't set any file info fields

MATE_VFS_SET_FILE_INFO_NAME

change the name

MATE_VFS_SET_FILE_INFO_PERMISSIONS

change the permissions

MATE_VFS_SET_FILE_INFO_OWNER

change the file's owner

MATE_VFS_SET_FILE_INFO_TIME

change the file's time stamp(s)

MATE_VFS_SET_FILE_INFO_ACL

change the file's ACLs

MATE_VFS_SET_FILE_INFO_SELINUX_CONTEXT

MATE_VFS_SET_FILE_INFO_SYMLINK_NAME

change the file's symlink name

MateVFSGetFileInfoResult

typedef struct {
	MateVFSURI *uri;
	MateVFSResult result;
	MateVFSFileInfo *file_info;
} MateVFSGetFileInfoResult;

This data structure encapsulates the details of an individual file info request that was part of a mass file info request launched through mate_vfs_async_get_file_info(), and is passed to a MateVFSAsyncGetFileInfoCallback.

MateVFSURI *uri;

The MateVFSURI the file info was requested for.

MateVFSResult result;

The MateVFSResult of the file info request.

MateVFSFileInfo *file_info;

The MateVFSFileInfo that was retrieved.

MateVFSInodeNumber

typedef MateVFSFileSize MateVFSInodeNumber;

Represents the i-node of a file, this is a low level data structure that the operating system uses to hold information about a file.


MateVFSFileInfo

typedef struct {
	char *name;

	MateVFSFileInfoFields valid_fields;
	MateVFSFileType type;
	MateVFSFilePermissions permissions;

	MateVFSFileFlags flags;

	dev_t device;
	MateVFSInodeNumber inode;

	guint link_count;

	guint uid;
	guint gid;

	MateVFSFileSize size;

	MateVFSFileSize block_count;

	guint io_block_size;

	time_t atime;
	time_t mtime;
	time_t ctime;

	char *symlink_name;

	char *mime_type;

	guint refcount;

	/* File ACLs */
	MateVFSACL *acl;

	/* SELinux security context. -- ascii string, raw format. */
	char* selinux_context;
} MateVFSFileInfo;

Note

When doing massive I/O, it is suggested to adhere io_block_size if applicable. For network file systems, this may be set to very big values allowing parallelization.

The MateVFSFileInfo structure contains information about a file.

char *name;

A char * specifying the base name of the file (without any path string).

MateVFSFileInfoFields valid_fields;

MateVFSFileInfoFields specifying which fields of MateVFSFileInfo are valid. Note that name is always assumed to be valid, i.e. clients may assume that it is not NULL.

MateVFSFileType type;

The MateVFSFileType of the file (i.e. regular, directory, block device, ...) if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_TYPE.

MateVFSFilePermissions permissions;

The MateVFSFilePermissions corresponding to the UNIX-like permissions of the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_PERMISSIONS, and the MateVFSFilePermissions corresponding to abstract access concepts (MATE_VFS_PERM_ACCESS_READABLE, MATE_VFS_PERM_ACCESS_WRITABLE, and MATE_VFS_PERM_ACCESS_EXECUTABLE) if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_PERMISSIONS.

MateVFSFileFlags flags;

MateVFSFileFlags providing additional information about the file, for instance whether it is local or a symbolic link, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_FLAGS.

dev_t device;

Identifies the device the file is located on, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_DEVICE.

MateVFSInodeNumber inode;

Identifies the inode corresponding to the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_INODE.

guint link_count;

Counts the number of hard links to the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_LINK_COUNT.

guint uid;

The user owning the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_IDS.

guint gid;

The user owning the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_IDS.

MateVFSFileSize size;

The size of the file in bytes (a MateVFSFileSize), if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_SIZE.

MateVFSFileSize block_count;

The size of the file in file system blocks (a MateVFSFileSize), if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_BLOCK_COUNT.

guint io_block_size;

The optimal buffer size for reading/writing the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_IO_BLOCK_SIZE.

time_t atime;

The time of the last file access, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_ATIME.

time_t mtime;

The time of the last file contents modification, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_MTIME.

time_t ctime;

The time of the last inode change, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_CTIME.

char *symlink_name;

This is the name of the file this link points to, type is MATE_VFS_FILE_FLAGS_SYMLINK, and valid_fields provides MATE_VFS_FILE_INFO_FIELDS_SYMLINK_NAME.

char *mime_type;

This is a char * identifying the type of the file, if valid_fields provides MATE_VFS_FILE_INFO_FIELDS_MIME_TYPE.

guint refcount;

The reference count of this file info, which is one by default, and that can be increased using mate_vfs_file_info_ref() and decreased using mate_vfs_file_info_unref(). When it drops to zero, the file info is freed and its memory is invalid. Make sure to keep your own reference to a file info if you received it from MateVFS, i.e. if you didn't call mate_vfs_file_info_new() yourself.

MateVFSACL *acl;

char *selinux_context;


MATE_VFS_FILE_INFO_SYMLINK()

#define             MATE_VFS_FILE_INFO_SYMLINK(info)

Determines whether a file is a symbolic link given info.

info :

MateVFSFileInfo struct

MATE_VFS_FILE_INFO_SET_SYMLINK()

#define             MATE_VFS_FILE_INFO_SET_SYMLINK(info, value)

Set the symbolic link field in info to value.

info :

MateVFSFileInfo struct

value :

if TRUE, info is set to indicate the file is a symbolic link

MATE_VFS_FILE_INFO_LOCAL()

#define             MATE_VFS_FILE_INFO_LOCAL(info)

Determines whether a file is local given info.

info :

MateVFSFileInfo struct

MATE_VFS_FILE_INFO_SET_LOCAL()

#define             MATE_VFS_FILE_INFO_SET_LOCAL(info, value)

Set the "local file" field in info to value.

info :

MateVFSFileInfo struct

value :

if TRUE, info is set to indicate the file is local

MATE_VFS_FILE_INFO_SUID()

#define             MATE_VFS_FILE_INFO_SUID(info)

Determines whether a file belongs to the super user.

info :

MateVFSFileInfo struct

MATE_VFS_FILE_INFO_SGID()

#define             MATE_VFS_FILE_INFO_SGID(info)

Determines whether a file belongs to the super user's group.

info :

MateVFSFileInfo struct

MATE_VFS_FILE_INFO_STICKY()

#define             MATE_VFS_FILE_INFO_STICKY(info)

Determines whether a file has the sticky bit set, given info

info :

MateVFSFileInfo struct

MATE_VFS_FILE_INFO_SET_SUID()

#define             MATE_VFS_FILE_INFO_SET_SUID(info, value)

Set the SUID field in info to value.

info :

MateVFSFileInfo struct

value :

if TRUE, info is set to indicate the file belongs to the super user

MATE_VFS_FILE_INFO_SET_SGID()

#define             MATE_VFS_FILE_INFO_SET_SGID(info, value)

Set the SGID field in info to value.

info :

MateVFSFileInfo struct

value :

if TRUE, info is set to indicate the file belongs to the super user's group

MATE_VFS_FILE_INFO_SET_STICKY()

#define             MATE_VFS_FILE_INFO_SET_STICKY(info, value)

Set the sticky bit in info to value.

info :

MateVFSFileInfo struct

value :

if TRUE, info is set to indicate the file has the sticky bit set

mate_vfs_file_info_new ()

MateVFSFileInfo *   mate_vfs_file_info_new              (void);

Allocate and initialize a new MateVFSFileInfo struct.

Returns :

a pointer to the newly allocated file information struct.

mate_vfs_file_info_unref ()

void                mate_vfs_file_info_unref            (MateVFSFileInfo *info);

Decreases the refcount of info by 1. Frees the struct info if refcount becomes 0.

info :

pointer to a file information struct.

mate_vfs_file_info_ref ()

void                mate_vfs_file_info_ref              (MateVFSFileInfo *info);

Increment refcount of info by 1.

info :

pointer to a file information struct.

mate_vfs_file_info_clear ()

void                mate_vfs_file_info_clear            (MateVFSFileInfo *info);

Clear info so that it's ready to accept new data. This is supposed to be used when info already contains meaningful information which we want to replace.

info :

pointer to a file information struct.

mate_vfs_file_info_get_mime_type ()

const char *        mate_vfs_file_info_get_mime_type    (MateVFSFileInfo *info);

Retrieve MIME type from info. There is no need to free the return value.

info :

a pointer to a file information struct.

Returns :

a pointer to a string representing the MIME type.

mate_vfs_file_info_copy ()

void                mate_vfs_file_info_copy             (MateVFSFileInfo *dest,
                                                         const MateVFSFileInfo *src);

Copy information from src into dest.

dest :

pointer to a struct to copy src's information into.

src :

pointer to the information to be copied into dest.

mate_vfs_file_info_dup ()

MateVFSFileInfo *   mate_vfs_file_info_dup              (const MateVFSFileInfo *orig);

Duplicates orig and returns it.

orig :

pointer to a file information structure to duplicate.

Returns :

a new file information struct that duplicates the information in orig.

mate_vfs_file_info_matches ()

gboolean            mate_vfs_file_info_matches          (const MateVFSFileInfo *a,
                                                         const MateVFSFileInfo *b);

Compare the two file info structs, return TRUE if they match exactly the same file data.

a :

first MateVFSFileInfo struct to compare.

b :

second MateVFSFileInfo struct to compare.

Returns :

TRUE if the two MateVFSFileInfos match, otherwise return FALSE.

mate_vfs_file_info_list_ref ()

GList *             mate_vfs_file_info_list_ref         (GList *list);

Increments the refcount of the items in list by one.

list :

list of MateVFSFileInfo elements.

Returns :

list.

mate_vfs_file_info_list_unref ()

GList *             mate_vfs_file_info_list_unref       (GList *list);

Decrements the refcount of the items in list by one. Note that the list is *not freed* even if each member of the list is freed.

list :

list of MateVFSFileInfo elements.

Returns :

list.

mate_vfs_file_info_list_copy ()

GList *             mate_vfs_file_info_list_copy        (GList *list);

Creates a duplicate of list, and references each member of that list.

list :

list of MateVFSFileInfo elements.

Returns :

a newly referenced duplicate of list.

mate_vfs_file_info_list_free ()

void                mate_vfs_file_info_list_free        (GList *list);

Decrements the refcount of each member of list by one, and frees the list itself.

list :

list of MateVFSFileInfo elements.

mate_vfs_get_file_info_result_dup ()

MateVFSGetFileInfoResult * mate_vfs_get_file_info_result_dup
                                                        (MateVFSGetFileInfoResult *result);

Duplicate result.

Note: The internal uri and fileinfo objects are not duplicated but their refcount is incremented by 1.

result :

a MateVFSGetFileInfoResult.

Returns :

a duplicated version of result.

Since 2.12


mate_vfs_get_file_info_result_free ()

void                mate_vfs_get_file_info_result_free  (MateVFSGetFileInfoResult *result);

Unrefs the internal uri and fileinfo objects and frees the memory allocated for result.

Since 2.12