Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:59:56

0001 /* GIO - GLib Input, Output and Streaming Library
0002  *
0003  * Copyright (C) 2006-2007 Red Hat, Inc.
0004  *
0005  * SPDX-License-Identifier: LGPL-2.1-or-later
0006  *
0007  * This library is free software; you can redistribute it and/or
0008  * modify it under the terms of the GNU Lesser General Public
0009  * License as published by the Free Software Foundation; either
0010  * version 2.1 of the License, or (at your option) any later version.
0011  *
0012  * This library is distributed in the hope that it will be useful,
0013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015  * Lesser General Public License for more details.
0016  *
0017  * You should have received a copy of the GNU Lesser General
0018  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
0019  *
0020  * Author: Alexander Larsson <alexl@redhat.com>
0021  */
0022 
0023 #ifndef __G_FILE_INFO_H__
0024 #define __G_FILE_INFO_H__
0025 
0026 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0027 #error "Only <gio/gio.h> can be included directly."
0028 #endif
0029 
0030 #include <gio/giotypes.h>
0031 
0032 G_BEGIN_DECLS
0033 
0034 #define G_TYPE_FILE_INFO         (g_file_info_get_type ())
0035 #define G_FILE_INFO(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INFO, GFileInfo))
0036 #define G_FILE_INFO_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INFO, GFileInfoClass))
0037 #define G_IS_FILE_INFO(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INFO))
0038 #define G_IS_FILE_INFO_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INFO))
0039 #define G_FILE_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INFO, GFileInfoClass))
0040 
0041 typedef struct _GFileInfoClass   GFileInfoClass;
0042 
0043 
0044 /* Common Attributes:  */
0045 /**
0046  * G_FILE_ATTRIBUTE_STANDARD_TYPE:
0047  *
0048  * A key in the "standard" namespace for storing file types.
0049  *
0050  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0051  *
0052  * The value for this key should contain a #GFileType.
0053  **/
0054 #define G_FILE_ATTRIBUTE_STANDARD_TYPE "standard::type"                     /* uint32 (GFileType) */
0055 
0056 /**
0057  * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN:
0058  *
0059  * A key in the "standard" namespace for checking if a file is hidden.
0060  *
0061  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0062  **/
0063 #define G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN "standard::is-hidden"           /* boolean */
0064 
0065 /**
0066  * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP:
0067  *
0068  * A key in the "standard" namespace for checking if a file is a backup file.
0069  *
0070  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0071  **/
0072 #define G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP "standard::is-backup"           /* boolean */
0073 
0074 /**
0075  * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK:
0076  *
0077  * A key in the "standard" namespace for checking if the file is a symlink.
0078  * Typically the actual type is something else, if we followed the symlink
0079  * to get the type.
0080  *
0081  * On Windows NTFS mountpoints are considered to be symlinks as well.
0082  *
0083  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0084  **/
0085 #define G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "standard::is-symlink"         /* boolean */
0086 
0087 /**
0088  * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL:
0089  *
0090  * A key in the "standard" namespace for checking if a file is virtual.
0091  *
0092  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0093  **/
0094 #define G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL "standard::is-virtual"         /* boolean */
0095 
0096 /**
0097  * G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE:
0098  *
0099  * A key in the "standard" namespace for checking if a file is
0100  * volatile. This is meant for opaque, non-POSIX-like backends to
0101  * indicate that the URI is not persistent. Applications should look
0102  * at %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI.
0103  *
0104  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0105  *
0106  * Since: 2.46
0107  **/
0108 #define G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE "standard::is-volatile"      /* boolean */
0109 
0110 /**
0111  * G_FILE_ATTRIBUTE_STANDARD_NAME:
0112  *
0113  * A key in the "standard" namespace for getting the name of the file.
0114  *
0115  * The name is the on-disk filename which may not be in any known encoding,
0116  * and can thus not be generally displayed as is. It is guaranteed to be set on
0117  * every file.
0118  *
0119  * Use %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the
0120  * name in a user interface.
0121  *
0122  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
0123  **/
0124 #define G_FILE_ATTRIBUTE_STANDARD_NAME "standard::name"                     /* byte string */
0125 
0126 /**
0127  * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME:
0128  *
0129  * A key in the "standard" namespace for getting the display name of the file.
0130  *
0131  * A display name is guaranteed to be in UTF-8 and can thus be displayed in
0132  * the UI. It is guaranteed to be set on every file.
0133  *
0134  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0135  **/
0136 #define G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "standard::display-name"     /* string */
0137 
0138 /**
0139  * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME:
0140  *
0141  * A key in the "standard" namespace for edit name of the file.
0142  *
0143  * An edit name is similar to the display name, but it is meant to be
0144  * used when you want to rename the file in the UI. The display name
0145  * might contain information you don't want in the new filename (such as
0146  * "(invalid unicode)" if the filename was in an invalid encoding).
0147  *
0148  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0149  **/
0150 #define G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "standard::edit-name"           /* string */
0151 
0152 /**
0153  * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME:
0154  *
0155  * A key in the "standard" namespace for getting the copy name of the file.
0156  *
0157  * The copy name is an optional version of the name. If available it's always
0158  * in UTF8, and corresponds directly to the original filename (only transcoded to
0159  * UTF8). This is useful if you want to copy the file to another filesystem that
0160  * might have a different encoding. If the filename is not a valid string in the
0161  * encoding selected for the filesystem it is in then the copy name will not be set.
0162  *
0163  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0164  **/
0165 #define G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "standard::copy-name"           /* string */
0166 
0167 /**
0168  * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION:
0169  *
0170  * A key in the "standard" namespace for getting the description of the file.
0171  *
0172  * The description is a utf8 string that describes the file, generally containing
0173  * the filename, but can also contain further information. Example descriptions
0174  * could be "filename (on hostname)" for a remote file or "filename (in trash)"
0175  * for a file in the trash. This is useful for instance as the window title
0176  * when displaying a directory or for a bookmarks menu.
0177  *
0178  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0179  **/
0180 #define G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION "standard::description"        /* string */
0181 
0182 /**
0183  * G_FILE_ATTRIBUTE_STANDARD_ICON:
0184  *
0185  * A key in the "standard" namespace for getting the icon for the file.
0186  *
0187  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
0188  *
0189  * The value for this key should contain a #GIcon.
0190  **/
0191 #define G_FILE_ATTRIBUTE_STANDARD_ICON "standard::icon"                     /* object (GIcon) */
0192 
0193 /**
0194  * G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON:
0195  *
0196  * A key in the "standard" namespace for getting the symbolic icon for the file.
0197  *
0198  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
0199  *
0200  * The value for this key should contain a #GIcon.
0201  *
0202  * Since: 2.34
0203  **/
0204 #define G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON "standard::symbolic-icon"   /* object (GIcon) */
0205 
0206 /**
0207  * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE:
0208  *
0209  * A key in the "standard" namespace for getting the content type of the file.
0210  *
0211  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0212  *
0213  * The value for this key should contain a valid content type.
0214  **/
0215 #define G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "standard::content-type"     /* string */
0216 
0217 /**
0218  * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE:
0219  *
0220  * A key in the "standard" namespace for getting the fast content type.
0221  *
0222  * The fast content type isn't as reliable as the regular one, as it
0223  * only uses the filename to guess it, but it is faster to calculate than the
0224  * regular content type.
0225  *
0226  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0227  *
0228  **/
0229 #define G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "standard::fast-content-type" /* string */
0230 
0231 /**
0232  * G_FILE_ATTRIBUTE_STANDARD_SIZE:
0233  *
0234  * A key in the "standard" namespace for getting the file's size (in bytes).
0235  *
0236  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
0237  **/
0238 #define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size"                     /* uint64 */
0239 
0240 /**
0241  * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE:
0242  *
0243  * A key in the "standard" namespace for getting the amount of disk space
0244  * that is consumed by the file (in bytes).
0245  *
0246  * This will generally be larger than the file size (due to block size
0247  * overhead) but can occasionally be smaller (for example, for sparse files).
0248  *
0249  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
0250  *
0251  * Since: 2.20
0252  **/
0253 #define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */
0254 
0255 /**
0256  * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
0257  *
0258  * A key in the "standard" namespace for getting the symlink target, if the file
0259  * is a symlink.
0260  *
0261  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
0262  **/
0263 #define G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET "standard::symlink-target" /* byte string */
0264 
0265 /**
0266  * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI:
0267  *
0268  * A key in the "standard" namespace for getting the target URI for the file, in
0269  * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files.
0270  *
0271  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0272  **/
0273 #define G_FILE_ATTRIBUTE_STANDARD_TARGET_URI "standard::target-uri"         /* string */
0274 
0275 /**
0276  * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER:
0277  *
0278  * A key in the "standard" namespace for setting the sort order of a file.
0279  *
0280  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32.
0281  *
0282  * An example use would be in file managers, which would use this key
0283  * to set the order files are displayed. Files with smaller sort order
0284  * should be sorted first, and files without sort order as if sort order
0285  * was zero.
0286  **/
0287 #define G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER "standard::sort-order"         /* int32  */
0288 
0289 /* Entity tags, used to avoid missing updates on save */
0290 
0291 /**
0292  * G_FILE_ATTRIBUTE_ETAG_VALUE:
0293  *
0294  * A key in the "etag" namespace for getting the value of the file's
0295  * entity tag.
0296  *
0297  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0298  **/
0299 #define G_FILE_ATTRIBUTE_ETAG_VALUE "etag::value"                 /* string */
0300 
0301 /* File identifier, for e.g. avoiding loops when doing recursive
0302  * directory scanning
0303  */
0304 
0305 /**
0306  * G_FILE_ATTRIBUTE_ID_FILE:
0307  *
0308  * A key in the "id" namespace for getting a file identifier.
0309  *
0310  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0311  *
0312  * An example use would be during listing files, to avoid recursive
0313  * directory scanning.
0314  **/
0315 #define G_FILE_ATTRIBUTE_ID_FILE "id::file"                     /* string */
0316 
0317 /**
0318  * G_FILE_ATTRIBUTE_ID_FILESYSTEM:
0319  *
0320  * A key in the "id" namespace for getting the file system identifier.
0321  *
0322  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0323  *
0324  * An example use would be during drag and drop to see if the source
0325  * and target are on the same filesystem (default to move) or not (default
0326  * to copy).
0327  **/
0328 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM "id::filesystem"         /* string */
0329 
0330 /* Calculated Access Rights for current user */
0331 
0332 /**
0333  * G_FILE_ATTRIBUTE_ACCESS_CAN_READ:
0334  *
0335  * A key in the "access" namespace for getting read privileges.
0336  *
0337  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0338  *
0339  * This attribute will be %TRUE if the user is able to read the file.
0340  **/
0341 #define G_FILE_ATTRIBUTE_ACCESS_CAN_READ "access::can-read"       /* boolean */
0342 
0343 /**
0344  * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE:
0345  *
0346  * A key in the "access" namespace for getting write privileges.
0347  *
0348  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0349  *
0350  * This attribute will be %TRUE if the user is able to write to the file.
0351  **/
0352 #define G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE "access::can-write"     /* boolean */
0353 
0354 /**
0355  * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE:
0356  *
0357  * A key in the "access" namespace for getting execution privileges.
0358  *
0359  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0360  *
0361  * This attribute will be %TRUE if the user is able to execute the file.
0362  **/
0363 #define G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "access::can-execute" /* boolean */
0364 
0365 /**
0366  * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE:
0367  *
0368  * A key in the "access" namespace for checking deletion privileges.
0369  *
0370  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0371  *
0372  * This attribute will be %TRUE if the user is able to delete the file.
0373  **/
0374 #define G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE "access::can-delete"   /* boolean */
0375 
0376 /**
0377  * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH:
0378  *
0379  * A key in the "access" namespace for checking trashing privileges.
0380  *
0381  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0382  *
0383  * This attribute will be %TRUE if the user is able to move the file to
0384  * the trash.
0385  **/
0386 #define G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH "access::can-trash"     /* boolean */
0387 
0388 /**
0389  * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME:
0390  *
0391  * A key in the "access" namespace for checking renaming privileges.
0392  *
0393  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0394  *
0395  * This attribute will be %TRUE if the user is able to rename the file.
0396  **/
0397 #define G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME "access::can-rename"   /* boolean */
0398 
0399 /* TODO: Should we have special version for directories? can_enumerate, etc */
0400 
0401 /* Mountable attributes */
0402 
0403 /**
0404  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT:
0405  *
0406  * A key in the "mountable" namespace for checking if a file (of
0407  * type G_FILE_TYPE_MOUNTABLE) is mountable.
0408  *
0409  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0410  **/
0411 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT "mountable::can-mount"     /* boolean */
0412 
0413 /**
0414  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT:
0415  *
0416  * A key in the "mountable" namespace for checking if a file (of
0417  * type G_FILE_TYPE_MOUNTABLE)  is unmountable.
0418  *
0419  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0420  **/
0421 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT "mountable::can-unmount" /* boolean */
0422 
0423 /**
0424  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT:
0425  *
0426  * A key in the "mountable" namespace for checking if a file (of
0427  * type G_FILE_TYPE_MOUNTABLE) can be ejected.
0428  *
0429  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0430  **/
0431 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT "mountable::can-eject"     /* boolean */
0432 
0433 /**
0434  * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE:
0435  *
0436  * A key in the "mountable" namespace for getting the unix device.
0437  *
0438  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0439  **/
0440 #define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE "mountable::unix-device" /* uint32 */
0441 
0442 /**
0443  * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE:
0444  *
0445  * A key in the "mountable" namespace for getting the unix device file.
0446  *
0447  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0448  *
0449  * Since: 2.22
0450  **/
0451 #define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE "mountable::unix-device-file" /* string */
0452 
0453 /**
0454  * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI:
0455  *
0456  * A key in the "mountable" namespace for getting the HAL UDI for the mountable
0457  * file.
0458  *
0459  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0460  **/
0461 #define G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI "mountable::hal-udi"         /* string */
0462 
0463 /**
0464  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START:
0465  *
0466  * A key in the "mountable" namespace for checking if a file (of
0467  * type G_FILE_TYPE_MOUNTABLE) can be started.
0468  *
0469  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0470  *
0471  * Since: 2.22
0472  */
0473 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START "mountable::can-start"     /* boolean */
0474 
0475 /**
0476  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED:
0477  *
0478  * A key in the "mountable" namespace for checking if a file (of
0479  * type G_FILE_TYPE_MOUNTABLE) can be started degraded.
0480  *
0481  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0482  *
0483  * Since: 2.22
0484  */
0485 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED "mountable::can-start-degraded"     /* boolean */
0486 
0487 /**
0488  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP:
0489  *
0490  * A key in the "mountable" namespace for checking if a file (of
0491  * type G_FILE_TYPE_MOUNTABLE) can be stopped.
0492  *
0493  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0494  *
0495  * Since: 2.22
0496  */
0497 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP "mountable::can-stop"      /* boolean */
0498 
0499 /**
0500  * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE:
0501  *
0502  * A key in the "mountable" namespace for getting the #GDriveStartStopType.
0503  *
0504  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0505  *
0506  * Since: 2.22
0507  */
0508 #define G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE "mountable::start-stop-type" /* uint32 (GDriveStartStopType) */
0509 
0510 /**
0511  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL:
0512  *
0513  * A key in the "mountable" namespace for checking if a file (of
0514  * type G_FILE_TYPE_MOUNTABLE) can be polled.
0515  *
0516  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0517  *
0518  * Since: 2.22
0519  */
0520 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL "mountable::can-poll"      /* boolean */
0521 
0522 /**
0523  * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC:
0524  *
0525  * A key in the "mountable" namespace for checking if a file (of
0526  * type G_FILE_TYPE_MOUNTABLE) is automatically polled for media.
0527  *
0528  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0529  *
0530  * Since: 2.22
0531  */
0532 #define G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC "mountable::is-media-check-automatic"      /* boolean */
0533 
0534 /* Time attributes */
0535 
0536 /**
0537  * G_FILE_ATTRIBUTE_TIME_MODIFIED:
0538  *
0539  * A key in the "time" namespace for getting the time the file was last
0540  * modified.
0541  *
0542  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and
0543  * contains the time since the file was modified, in seconds since the UNIX
0544  * epoch.
0545  **/
0546 #define G_FILE_ATTRIBUTE_TIME_MODIFIED "time::modified"           /* uint64 */
0547 
0548 /**
0549  * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC:
0550  *
0551  * A key in the "time" namespace for getting the microseconds of the time
0552  * the file was last modified.
0553  *
0554  * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_MODIFIED.
0555  *
0556  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0557  **/
0558 #define G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC "time::modified-usec" /* uint32 */
0559 
0560 /**
0561  * G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC:
0562  *
0563  * A key in the "time" namespace for getting the nanoseconds of the time
0564  * the file was last modified. This should be used in conjunction with
0565  * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is
0566  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
0567  *
0568  * Since: 2.74
0569  **/
0570 #define G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC "time::modified-nsec" /* uint32 */
0571 
0572 /**
0573  * G_FILE_ATTRIBUTE_TIME_ACCESS:
0574  *
0575  * A key in the "time" namespace for getting the time the file was last
0576  * accessed.
0577  *
0578  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and
0579  * contains the time since the file was last accessed, in seconds since the
0580  * UNIX epoch.
0581  **/
0582 #define G_FILE_ATTRIBUTE_TIME_ACCESS "time::access"               /* uint64 */
0583 
0584 /**
0585  * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC:
0586  *
0587  * A key in the "time" namespace for getting the microseconds of the time
0588  * the file was last accessed.
0589  *
0590  * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_ACCESS.
0591  *
0592  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0593  **/
0594 #define G_FILE_ATTRIBUTE_TIME_ACCESS_USEC "time::access-usec"     /* uint32 */
0595 
0596 /**
0597  * G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC:
0598  *
0599  * A key in the "time" namespace for getting the nanoseconds of the time
0600  * the file was last accessed. This should be used in conjunction with
0601  * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is
0602  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
0603  *
0604  * Since: 2.74
0605  **/
0606 #define G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC "time::access-nsec"     /* uint32 */
0607 
0608 /**
0609  * G_FILE_ATTRIBUTE_TIME_CHANGED:
0610  *
0611  * A key in the "time" namespace for getting the time the file was last
0612  * changed.
0613  *
0614  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
0615  * and contains the time since the file was last changed, in seconds since
0616  * the UNIX epoch.
0617  *
0618  * This corresponds to the traditional UNIX ctime.
0619  **/
0620 #define G_FILE_ATTRIBUTE_TIME_CHANGED "time::changed"             /* uint64 */
0621 
0622 /**
0623  * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC:
0624  *
0625  * A key in the "time" namespace for getting the microseconds of the time
0626  * the file was last changed.
0627  *
0628  * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CHANGED.
0629  *
0630  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0631  **/
0632 #define G_FILE_ATTRIBUTE_TIME_CHANGED_USEC "time::changed-usec"   /* uint32 */
0633 
0634 /**
0635  * G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC:
0636  *
0637  * A key in the "time" namespace for getting the nanoseconds of the time
0638  * the file was last changed. This should be used in conjunction with
0639  * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is
0640  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
0641  *
0642  * Since: 2.74
0643  **/
0644 #define G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC "time::changed-nsec"   /* uint32 */
0645 
0646 /**
0647  * G_FILE_ATTRIBUTE_TIME_CREATED:
0648  *
0649  * A key in the "time" namespace for getting the time the file was created.
0650  *
0651  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
0652  * and contains the time since the file was created, in seconds since the UNIX
0653  * epoch.
0654  *
0655  * This may correspond to Linux `stx_btime`, FreeBSD `st_birthtim`, NetBSD
0656  * `st_birthtime` or NTFS `ctime`.
0657  **/
0658 #define G_FILE_ATTRIBUTE_TIME_CREATED "time::created"             /* uint64 */
0659 
0660 /**
0661  * G_FILE_ATTRIBUTE_TIME_CREATED_USEC:
0662  *
0663  * A key in the "time" namespace for getting the microseconds of the time
0664  * the file was created.
0665  *
0666  * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CREATED.
0667  *
0668  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0669  **/
0670 #define G_FILE_ATTRIBUTE_TIME_CREATED_USEC "time::created-usec"   /* uint32 */
0671 
0672 /**
0673  * G_FILE_ATTRIBUTE_TIME_CREATED_NSEC:
0674  *
0675  * A key in the "time" namespace for getting the nanoseconds of the time
0676  * the file was created. This should be used in conjunction with
0677  * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is
0678  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
0679  *
0680  * Since: 2.74
0681  **/
0682 #define G_FILE_ATTRIBUTE_TIME_CREATED_NSEC "time::created-nsec"   /* uint32 */
0683 
0684 /* Unix specific attributes */
0685 
0686 /**
0687  * G_FILE_ATTRIBUTE_UNIX_DEVICE:
0688  *
0689  * A key in the "unix" namespace for getting the device id of the device the
0690  * file is located on (see stat() documentation).
0691  *
0692  * This attribute is only available for UNIX file systems.
0693  *
0694  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0695  **/
0696 #define G_FILE_ATTRIBUTE_UNIX_DEVICE "unix::device"               /* uint32 */
0697 
0698 /**
0699  * G_FILE_ATTRIBUTE_UNIX_INODE:
0700  *
0701  * A key in the "unix" namespace for getting the inode of the file.
0702  *
0703  * This attribute is only available for UNIX file systems.
0704  *
0705  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
0706  **/
0707 #define G_FILE_ATTRIBUTE_UNIX_INODE "unix::inode"                 /* uint64 */
0708 
0709 /**
0710  * G_FILE_ATTRIBUTE_UNIX_MODE:
0711  *
0712  * A key in the "unix" namespace for getting the mode of the file
0713  * (e.g. whether the file is a regular file, symlink, etc).
0714  *
0715  * See the documentation for `lstat()`: this attribute is equivalent to
0716  * the `st_mode` member of `struct stat`, and includes both the file type
0717  * and permissions.
0718  *
0719  * This attribute is only available for UNIX file systems.
0720  *
0721  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0722  **/
0723 #define G_FILE_ATTRIBUTE_UNIX_MODE "unix::mode"                   /* uint32 */
0724 
0725 /**
0726  * G_FILE_ATTRIBUTE_UNIX_NLINK:
0727  *
0728  * A key in the "unix" namespace for getting the number of hard links
0729  * for a file.
0730  *
0731  * See the documentation for `lstat()`.
0732  *
0733  * This attribute is only available for UNIX file systems.
0734  *
0735  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0736  **/
0737 #define G_FILE_ATTRIBUTE_UNIX_NLINK "unix::nlink"                 /* uint32 */
0738 
0739 /**
0740  * G_FILE_ATTRIBUTE_UNIX_UID:
0741  *
0742  * A key in the "unix" namespace for getting the user ID for the file.
0743  *
0744  * This attribute is only available for UNIX file systems.
0745  *
0746  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0747  **/
0748 #define G_FILE_ATTRIBUTE_UNIX_UID "unix::uid"                     /* uint32 */
0749 
0750 /**
0751  * G_FILE_ATTRIBUTE_UNIX_GID:
0752  *
0753  * A key in the "unix" namespace for getting the group ID for the file.
0754  *
0755  * This attribute is only available for UNIX file systems.
0756  *
0757  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0758  **/
0759 #define G_FILE_ATTRIBUTE_UNIX_GID "unix::gid"                     /* uint32 */
0760 
0761 /**
0762  * G_FILE_ATTRIBUTE_UNIX_RDEV:
0763  *
0764  * A key in the "unix" namespace for getting the device ID for the file
0765  * (if it is a special file).
0766  *
0767  * See the documentation for `lstat()`.
0768  *
0769  * This attribute is only available for UNIX file systems.
0770  *
0771  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0772  **/
0773 #define G_FILE_ATTRIBUTE_UNIX_RDEV "unix::rdev"                   /* uint32 */
0774 
0775 /**
0776  * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE:
0777  *
0778  * A key in the "unix" namespace for getting the block size for the file
0779  * system.
0780  *
0781  * This attribute is only available for UNIX file systems.
0782  *
0783  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0784  **/
0785 #define G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE "unix::block-size"       /* uint32 */
0786 
0787 /**
0788  * G_FILE_ATTRIBUTE_UNIX_BLOCKS:
0789  *
0790  * A key in the "unix" namespace for getting the number of blocks allocated
0791  * for the file.
0792  *
0793  * This attribute is only available for UNIX file systems.
0794  *
0795  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
0796  **/
0797 #define G_FILE_ATTRIBUTE_UNIX_BLOCKS "unix::blocks"               /* uint64 */
0798 
0799 /**
0800  * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT:
0801  *
0802  * A key in the "unix" namespace for checking if the file represents a
0803  * UNIX mount point.
0804  *
0805  * This attribute is %TRUE if the file is a UNIX mount point.
0806  *
0807  * Since 2.58, `/` is considered to be a mount point.
0808  *
0809  * This attribute is only available for UNIX file systems.
0810  *
0811  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0812  **/
0813 #define G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT "unix::is-mountpoint" /* boolean */
0814 
0815 /* DOS specific attributes */
0816 
0817 /**
0818  * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE:
0819  *
0820  * A key in the "dos" namespace for checking if the file's archive flag
0821  * is set.
0822  *
0823  * This attribute is %TRUE if the archive flag is set.
0824  *
0825  * This attribute is only available for DOS file systems.
0826  *
0827  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0828  **/
0829 #define G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE "dos::is-archive"         /* boolean */
0830 
0831 /**
0832  * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM:
0833  *
0834  * A key in the "dos" namespace for checking if the file's backup flag
0835  * is set.
0836  *
0837  * This attribute is %TRUE if the backup flag is set.
0838  *
0839  * This attribute is only available for DOS file systems.
0840  *
0841  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0842  **/
0843 #define G_FILE_ATTRIBUTE_DOS_IS_SYSTEM "dos::is-system"           /* boolean */
0844 
0845 /**
0846  * G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT:
0847  *
0848  * A key in the "dos" namespace for checking if the file is a NTFS mount point
0849  * (a volume mount or a junction point).
0850  *
0851  * This attribute is %TRUE if file is a reparse point of type
0852  * [IO_REPARSE_TAG_MOUNT_POINT](https://msdn.microsoft.com/en-us/library/dd541667.aspx).
0853  *
0854  * This attribute is only available for DOS file systems.
0855  *
0856  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0857  *
0858  * Since: 2.60
0859  **/
0860 #define G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT "dos::is-mountpoint"   /* boolean */
0861 
0862 /**
0863  * G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG:
0864  *
0865  * A key in the "dos" namespace for getting the file NTFS reparse tag.
0866  *
0867  * This value is 0 for files that are not reparse points.
0868  *
0869  * See the [Reparse Tags](https://msdn.microsoft.com/en-us/library/dd541667.aspx)
0870  * page for possible reparse tag values.
0871  *
0872  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
0873  *
0874  * Since: 2.60
0875  **/
0876 #define G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG "dos::reparse-point-tag"   /* uint32 */
0877 
0878 /* Owner attributes */
0879 
0880 /**
0881  * G_FILE_ATTRIBUTE_OWNER_USER:
0882  *
0883  * A key in the "owner" namespace for getting the user name of the
0884  * file's owner.
0885  *
0886  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0887  **/
0888 #define G_FILE_ATTRIBUTE_OWNER_USER "owner::user"                 /* string */
0889 
0890 /**
0891  * G_FILE_ATTRIBUTE_OWNER_USER_REAL:
0892  *
0893  * A key in the "owner" namespace for getting the real name of the
0894  * user that owns the file.
0895  *
0896  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0897  **/
0898 #define G_FILE_ATTRIBUTE_OWNER_USER_REAL "owner::user-real"       /* string */
0899 
0900 /**
0901  * G_FILE_ATTRIBUTE_OWNER_GROUP:
0902  *
0903  * A key in the "owner" namespace for getting the file owner's group.
0904  *
0905  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
0906  **/
0907 #define G_FILE_ATTRIBUTE_OWNER_GROUP "owner::group"               /* string */
0908 
0909 /* Thumbnails */
0910 
0911 /**
0912  * G_FILE_ATTRIBUTE_THUMBNAIL_PATH:
0913  *
0914  * A key in the "thumbnail" namespace for getting the path to the thumbnail
0915  * image with the biggest size available.
0916  *
0917  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
0918  **/
0919 #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH "thumbnail::path"         /* bytestring */
0920 /**
0921  * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED:
0922  *
0923  * A key in the "thumbnail" namespace for checking if thumbnailing failed.
0924  *
0925  * This attribute is %TRUE if thumbnailing failed.
0926  *
0927  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0928  **/
0929 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "thumbnail::failed"         /* boolean */
0930 /**
0931  * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID:
0932  *
0933  * A key in the "thumbnail" namespace for checking whether the thumbnail is outdated.
0934  *
0935  * This attribute is %TRUE if the thumbnail is up-to-date with the file it represents,
0936  * and %FALSE if the file has been modified since the thumbnail was generated.
0937  *
0938  * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED is %TRUE and this attribute is %FALSE,
0939  * it indicates that thumbnailing may be attempted again and may succeed.
0940  *
0941  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0942  *
0943  * Since: 2.40
0944  */
0945 #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID "thumbnail::is-valid"        /* boolean */
0946 
0947 /**
0948  * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL:
0949  *
0950  * A key in the "thumbnail" namespace for getting the path to the normal
0951  * thumbnail image.
0952  *
0953  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
0954  *
0955  * Since: 2.76
0956  */
0957 #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL "thumbnail::path-normal"  /* bytestring */
0958 /**
0959  * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL:
0960  *
0961  * A key in the "thumbnail" namespace for checking if thumbnailing failed
0962  * for the normal image.
0963  *
0964  * This attribute is %TRUE if thumbnailing failed.
0965  *
0966  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0967  *
0968  * Since: 2.76
0969  */
0970 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL "thumbnail::failed-normal"  /* boolean */
0971 /**
0972  * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL:
0973  *
0974  * A key in the "thumbnail" namespace for checking whether the normal
0975  * thumbnail is outdated.
0976  *
0977  * This attribute is %TRUE if the normal thumbnail is up-to-date with the file
0978  * it represents, and %FALSE if the file has been modified since the thumbnail
0979  * was generated.
0980  *
0981  * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL is %TRUE and this attribute
0982  * is %FALSE, it indicates that thumbnailing may be attempted again and may
0983  * succeed.
0984  *
0985  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
0986  *
0987  * Since: 2.76
0988  */
0989 #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL "thumbnail::is-valid-normal"  /* boolean */
0990 
0991 /**
0992  * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE:
0993  *
0994  * A key in the "thumbnail" namespace for getting the path to the large
0995  * thumbnail image.
0996  *
0997  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
0998  *
0999  * Since: 2.76
1000  */
1001 #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE "thumbnail::path-large"  /* bytestring */
1002 /**
1003  * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE:
1004  *
1005  * A key in the "thumbnail" namespace for checking if thumbnailing failed
1006  * for the large image.
1007  *
1008  * This attribute is %TRUE if thumbnailing failed.
1009  *
1010  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1011  *
1012  * Since: 2.76
1013  */
1014 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE "thumbnail::failed-large"  /* boolean */
1015 /**
1016  * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE:
1017  *
1018  * A key in the "thumbnail" namespace for checking whether the large
1019  * thumbnail is outdated.
1020  *
1021  * This attribute is %TRUE if the large thumbnail is up-to-date with the file
1022  * it represents, and %FALSE if the file has been modified since the thumbnail
1023  * was generated.
1024  *
1025  * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE is %TRUE and this attribute
1026  * is %FALSE, it indicates that thumbnailing may be attempted again and may
1027  * succeed.
1028  *
1029  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1030  *
1031  * Since: 2.76
1032  */
1033 #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE "thumbnail::is-valid-large" /* boolean */
1034 
1035 /**
1036  * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE:
1037  *
1038  * A key in the "thumbnail" namespace for getting the path to the x-large
1039  * thumbnail image.
1040  *
1041  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
1042  *
1043  * Since: 2.76
1044  */
1045 #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE "thumbnail::path-xlarge"  /* bytestring */
1046 /**
1047  * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE:
1048  *
1049  * A key in the "thumbnail" namespace for checking if thumbnailing failed
1050  * for the x-large image.
1051  *
1052  * This attribute is %TRUE if thumbnailing failed.
1053  *
1054  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1055  *
1056  * Since: 2.76
1057  */
1058 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE "thumbnail::failed-xlarge"  /* boolean */
1059 /**
1060  * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE:
1061  *
1062  * A key in the "thumbnail" namespace for checking whether the x-large
1063  * thumbnail is outdated.
1064  *
1065  * This attribute is %TRUE if the x-large thumbnail is up-to-date with the file
1066  * it represents, and %FALSE if the file has been modified since the thumbnail
1067  * was generated.
1068  *
1069  * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE is %TRUE and this attribute
1070  * is %FALSE, it indicates that thumbnailing may be attempted again and may
1071  * succeed.
1072  *
1073  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1074  *
1075  * Since: 2.76
1076  */
1077 #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE "thumbnail::is-valid-xlarge"  /* boolean */
1078 
1079 /**
1080  * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE:
1081  *
1082  * A key in the "thumbnail" namespace for getting the path to the xx-large
1083  * thumbnail image.
1084  *
1085  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
1086  *
1087  * Since: 2.76
1088  */
1089 #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE "thumbnail::path-xxlarge"  /* bytestring */
1090 /**
1091  * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE:
1092  *
1093  * A key in the "thumbnail" namespace for checking if thumbnailing failed
1094  * for the xx-large image.
1095  *
1096  * This attribute is %TRUE if thumbnailing failed.
1097  *
1098  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1099  *
1100  * Since: 2.76
1101  */
1102 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE "thumbnail::failed-xxlarge"  /* boolean */
1103 /**
1104  * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE:
1105  *
1106  * A key in the "thumbnail" namespace for checking whether the xx-large
1107  * thumbnail is outdated.
1108  *
1109  * This attribute is %TRUE if the x-large thumbnail is up-to-date with the file
1110  * it represents, and %FALSE if the file has been modified since the thumbnail
1111  * was generated.
1112  *
1113  * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE is %TRUE and this attribute
1114  * is %FALSE, it indicates that thumbnailing may be attempted again and may
1115  * succeed.
1116  *
1117  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1118  *
1119  * Since: 2.76
1120  */
1121 #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE "thumbnail::is-valid-xxlarge"  /* boolean */
1122 
1123 /* Preview */
1124 
1125 /**
1126  * G_FILE_ATTRIBUTE_PREVIEW_ICON:
1127  *
1128  * A key in the "preview" namespace for getting a #GIcon that can be
1129  * used to get preview of the file.
1130  *
1131  * For example, it may be a low resolution thumbnail without metadata.
1132  *
1133  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
1134  *
1135  * The value for this key should contain a #GIcon.
1136  *
1137  * Since: 2.20
1138  **/
1139 #define G_FILE_ATTRIBUTE_PREVIEW_ICON "preview::icon"         /* object (GIcon) */
1140 
1141 /* File system info (for g_file_get_filesystem_info) */
1142 
1143 /**
1144  * G_FILE_ATTRIBUTE_FILESYSTEM_SIZE:
1145  *
1146  * A key in the "filesystem" namespace for getting the total size (in
1147  * bytes) of the file system, used in g_file_query_filesystem_info().
1148  *
1149  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
1150  **/
1151 #define G_FILE_ATTRIBUTE_FILESYSTEM_SIZE "filesystem::size"                       /* uint64 */
1152 
1153 /**
1154  * G_FILE_ATTRIBUTE_FILESYSTEM_FREE:
1155  *
1156  * A key in the "filesystem" namespace for getting the number of bytes
1157  * of free space left on the file system.
1158  *
1159  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
1160  **/
1161 #define G_FILE_ATTRIBUTE_FILESYSTEM_FREE "filesystem::free"                       /* uint64 */
1162 
1163 /**
1164  * G_FILE_ATTRIBUTE_FILESYSTEM_USED:
1165  *
1166  * A key in the "filesystem" namespace for getting the number of bytes
1167  * used by data on the file system.
1168  *
1169  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
1170  *
1171  * Since: 2.32
1172  */
1173 #define G_FILE_ATTRIBUTE_FILESYSTEM_USED "filesystem::used"                       /* uint64 */
1174 
1175 /**
1176  * G_FILE_ATTRIBUTE_FILESYSTEM_TYPE:
1177  *
1178  * A key in the "filesystem" namespace for getting the file system's type.
1179  *
1180  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
1181  **/
1182 #define G_FILE_ATTRIBUTE_FILESYSTEM_TYPE "filesystem::type"                       /* string */
1183 
1184 /**
1185  * G_FILE_ATTRIBUTE_FILESYSTEM_READONLY:
1186  *
1187  * A key in the "filesystem" namespace for checking if the file system
1188  * is read only.
1189  *
1190  * Is set to %TRUE if the file system is read only.
1191  *
1192  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1193  **/
1194 #define G_FILE_ATTRIBUTE_FILESYSTEM_READONLY "filesystem::readonly"               /* boolean */
1195 
1196 /**
1197  * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW:
1198  *
1199  * A key in the "filesystem" namespace for hinting a file manager
1200  * application whether it should preview (e.g. thumbnail) files on the
1201  * file system.
1202  *
1203  * The value for this key contain a #GFilesystemPreviewType.
1204  **/
1205 #define G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW "filesystem::use-preview"        /* uint32 (GFilesystemPreviewType) */
1206 
1207 /**
1208  * G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE:
1209  *
1210  * A key in the "filesystem" namespace for checking if the file system
1211  * is remote.
1212  *
1213  * Is set to %TRUE if the file system is remote.
1214  *
1215  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1216  **/
1217 #define G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE "filesystem::remote"                   /* boolean */
1218 
1219 /**
1220  * G_FILE_ATTRIBUTE_GVFS_BACKEND:
1221  *
1222  * A key in the "gvfs" namespace that gets the name of the current
1223  * GVFS backend in use.
1224  *
1225  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
1226  **/
1227 #define G_FILE_ATTRIBUTE_GVFS_BACKEND "gvfs::backend"             /* string */
1228 
1229 /**
1230  * G_FILE_ATTRIBUTE_SELINUX_CONTEXT:
1231  *
1232  * A key in the "selinux" namespace for getting the file's SELinux
1233  * context.
1234  *
1235  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
1236  *
1237  * Note that this attribute is only available if GLib has been built
1238  * with SELinux support.
1239  **/
1240 #define G_FILE_ATTRIBUTE_SELINUX_CONTEXT "selinux::context"       /* string */
1241 
1242 /**
1243  * G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT:
1244  *
1245  * A key in the "trash" namespace for getting the number of (toplevel) items
1246  * that are present in the `trash:///` folder.
1247  *
1248  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
1249  **/
1250 #define G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT "trash::item-count"     /* uint32 */
1251 
1252 /**
1253  * G_FILE_ATTRIBUTE_TRASH_ORIG_PATH:
1254  *
1255  * A key in the "trash" namespace for getting the original path of a file
1256  * inside the `trash:///` folder before it was trashed.
1257  *
1258  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
1259  *
1260  * Since: 2.24
1261  **/
1262 #define G_FILE_ATTRIBUTE_TRASH_ORIG_PATH "trash::orig-path"     /* byte string */
1263 
1264 /**
1265  * G_FILE_ATTRIBUTE_TRASH_DELETION_DATE:
1266  *
1267  * A key in the "trash" namespace for getting the deletion date and time
1268  * of a file inside the `trash:///` folder.
1269  *
1270  * The format of the returned string is `YYYY-MM-DDThh:mm:ss`.
1271  *
1272  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
1273  *
1274  * Since: 2.24
1275  **/
1276 #define G_FILE_ATTRIBUTE_TRASH_DELETION_DATE "trash::deletion-date"  /* string */
1277 
1278 /**
1279  * G_FILE_ATTRIBUTE_RECENT_MODIFIED:
1280  *
1281  * A key in the "recent" namespace for getting time, when the metadata for the
1282  * file in `recent:///` was last changed.
1283  *
1284  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT64.
1285  *
1286  * Since: 2.52
1287  **/
1288 #define G_FILE_ATTRIBUTE_RECENT_MODIFIED "recent::modified"          /* int64 (time_t) */
1289 
1290 GIO_AVAILABLE_IN_ALL
1291 GType              g_file_info_get_type                  (void) G_GNUC_CONST;
1292 
1293 GIO_AVAILABLE_IN_ALL
1294 GFileInfo *        g_file_info_new                       (void);
1295 GIO_AVAILABLE_IN_ALL
1296 GFileInfo *        g_file_info_dup                       (GFileInfo  *other);
1297 GIO_AVAILABLE_IN_ALL
1298 void               g_file_info_copy_into                 (GFileInfo  *src_info,
1299                               GFileInfo  *dest_info);
1300 GIO_AVAILABLE_IN_ALL
1301 gboolean           g_file_info_has_attribute             (GFileInfo  *info,
1302                               const char *attribute);
1303 GIO_AVAILABLE_IN_ALL
1304 gboolean           g_file_info_has_namespace             (GFileInfo  *info,
1305                               const char *name_space);
1306 GIO_AVAILABLE_IN_ALL
1307 char **            g_file_info_list_attributes           (GFileInfo  *info,
1308                               const char *name_space);
1309 GIO_AVAILABLE_IN_ALL
1310 gboolean           g_file_info_get_attribute_data        (GFileInfo  *info,
1311                               const char *attribute,
1312                               GFileAttributeType *type,
1313                               gpointer   *value_pp,
1314                               GFileAttributeStatus *status);
1315 GIO_AVAILABLE_IN_ALL
1316 GFileAttributeType g_file_info_get_attribute_type        (GFileInfo  *info,
1317                               const char *attribute);
1318 GIO_AVAILABLE_IN_ALL
1319 void               g_file_info_remove_attribute          (GFileInfo  *info,
1320                               const char *attribute);
1321 GIO_AVAILABLE_IN_ALL
1322 GFileAttributeStatus g_file_info_get_attribute_status    (GFileInfo  *info,
1323                               const char *attribute);
1324 GIO_AVAILABLE_IN_ALL
1325 gboolean           g_file_info_set_attribute_status      (GFileInfo  *info,
1326                               const char *attribute,
1327                               GFileAttributeStatus status);
1328 GIO_AVAILABLE_IN_ALL
1329 char *             g_file_info_get_attribute_as_string   (GFileInfo  *info,
1330                               const char *attribute);
1331 GIO_AVAILABLE_IN_ALL
1332 const char *       g_file_info_get_attribute_string      (GFileInfo  *info,
1333                               const char *attribute);
1334 GIO_AVAILABLE_IN_ALL
1335 const char *       g_file_info_get_attribute_byte_string (GFileInfo  *info,
1336                               const char *attribute);
1337 GIO_AVAILABLE_IN_ALL
1338 gboolean           g_file_info_get_attribute_boolean     (GFileInfo  *info,
1339                               const char *attribute);
1340 GIO_AVAILABLE_IN_ALL
1341 guint32            g_file_info_get_attribute_uint32      (GFileInfo  *info,
1342                               const char *attribute);
1343 GIO_AVAILABLE_IN_ALL
1344 gint32             g_file_info_get_attribute_int32       (GFileInfo  *info,
1345                               const char *attribute);
1346 GIO_AVAILABLE_IN_ALL
1347 guint64            g_file_info_get_attribute_uint64      (GFileInfo  *info,
1348                               const char *attribute);
1349 GIO_AVAILABLE_IN_ALL
1350 gint64             g_file_info_get_attribute_int64       (GFileInfo  *info,
1351                               const char *attribute);
1352 GIO_AVAILABLE_IN_ALL
1353 GObject *          g_file_info_get_attribute_object      (GFileInfo  *info,
1354                               const char *attribute);
1355 GIO_AVAILABLE_IN_ALL
1356 char **            g_file_info_get_attribute_stringv     (GFileInfo  *info,
1357                               const char *attribute);
1358 GIO_AVAILABLE_IN_2_78
1359 const char *       g_file_info_get_attribute_file_path   (GFileInfo  *info,
1360                               const char *attribute);
1361 
1362 GIO_AVAILABLE_IN_ALL
1363 void               g_file_info_set_attribute             (GFileInfo  *info,
1364                               const char *attribute,
1365                               GFileAttributeType type,
1366                               gpointer    value_p);
1367 GIO_AVAILABLE_IN_ALL
1368 void               g_file_info_set_attribute_string      (GFileInfo  *info,
1369                               const char *attribute,
1370                               const char *attr_value);
1371 GIO_AVAILABLE_IN_ALL
1372 void               g_file_info_set_attribute_byte_string (GFileInfo  *info,
1373                               const char *attribute,
1374                               const char *attr_value);
1375 GIO_AVAILABLE_IN_ALL
1376 void               g_file_info_set_attribute_boolean     (GFileInfo  *info,
1377                               const char *attribute,
1378                               gboolean    attr_value);
1379 GIO_AVAILABLE_IN_ALL
1380 void               g_file_info_set_attribute_uint32      (GFileInfo  *info,
1381                               const char *attribute,
1382                               guint32     attr_value);
1383 GIO_AVAILABLE_IN_ALL
1384 void               g_file_info_set_attribute_int32       (GFileInfo  *info,
1385                               const char *attribute,
1386                               gint32      attr_value);
1387 GIO_AVAILABLE_IN_ALL
1388 void               g_file_info_set_attribute_uint64      (GFileInfo  *info,
1389                               const char *attribute,
1390                               guint64     attr_value);
1391 GIO_AVAILABLE_IN_ALL
1392 void               g_file_info_set_attribute_int64       (GFileInfo  *info,
1393                               const char *attribute,
1394                               gint64      attr_value);
1395 GIO_AVAILABLE_IN_ALL
1396 void               g_file_info_set_attribute_object      (GFileInfo  *info,
1397                               const char *attribute,
1398                               GObject    *attr_value);
1399 GIO_AVAILABLE_IN_ALL
1400 void               g_file_info_set_attribute_stringv     (GFileInfo  *info,
1401                               const char *attribute,
1402                               char      **attr_value);
1403 GIO_AVAILABLE_IN_2_78
1404 void               g_file_info_set_attribute_file_path   (GFileInfo  *info,
1405                               const char *attribute,
1406                               const char *attr_value);
1407 
1408 GIO_AVAILABLE_IN_ALL
1409 void               g_file_info_clear_status              (GFileInfo  *info);
1410 
1411 /* Helper getters: */
1412 GIO_AVAILABLE_IN_2_36
1413 GDateTime *       g_file_info_get_deletion_date      (GFileInfo         *info);
1414 GIO_AVAILABLE_IN_ALL
1415 GFileType         g_file_info_get_file_type          (GFileInfo         *info);
1416 GIO_AVAILABLE_IN_ALL
1417 gboolean          g_file_info_get_is_hidden          (GFileInfo         *info);
1418 GIO_AVAILABLE_IN_ALL
1419 gboolean          g_file_info_get_is_backup          (GFileInfo         *info);
1420 GIO_AVAILABLE_IN_ALL
1421 gboolean          g_file_info_get_is_symlink         (GFileInfo         *info);
1422 GIO_AVAILABLE_IN_ALL
1423 const char *      g_file_info_get_name               (GFileInfo         *info);
1424 GIO_AVAILABLE_IN_ALL
1425 const char *      g_file_info_get_display_name       (GFileInfo         *info);
1426 GIO_AVAILABLE_IN_ALL
1427 const char *      g_file_info_get_edit_name          (GFileInfo         *info);
1428 GIO_AVAILABLE_IN_ALL
1429 GIcon *           g_file_info_get_icon               (GFileInfo         *info);
1430 GIO_AVAILABLE_IN_ALL
1431 GIcon *           g_file_info_get_symbolic_icon      (GFileInfo         *info);
1432 GIO_AVAILABLE_IN_ALL
1433 const char *      g_file_info_get_content_type       (GFileInfo         *info);
1434 GIO_AVAILABLE_IN_ALL
1435 goffset           g_file_info_get_size               (GFileInfo         *info);
1436 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
1437 GIO_DEPRECATED_IN_2_62_FOR(g_file_info_get_modification_date_time)
1438 void              g_file_info_get_modification_time  (GFileInfo         *info,
1439                                                       GTimeVal          *result);
1440 G_GNUC_END_IGNORE_DEPRECATIONS
1441 GIO_AVAILABLE_IN_2_62
1442 GDateTime *       g_file_info_get_modification_date_time (GFileInfo     *info);
1443 GIO_AVAILABLE_IN_2_70
1444 GDateTime *       g_file_info_get_access_date_time (GFileInfo     *info);
1445 GIO_AVAILABLE_IN_2_70
1446 GDateTime *       g_file_info_get_creation_date_time (GFileInfo     *info);
1447 GIO_AVAILABLE_IN_ALL
1448 const char *      g_file_info_get_symlink_target     (GFileInfo         *info);
1449 GIO_AVAILABLE_IN_ALL
1450 const char *      g_file_info_get_etag               (GFileInfo         *info);
1451 GIO_AVAILABLE_IN_ALL
1452 gint32            g_file_info_get_sort_order         (GFileInfo         *info);
1453 
1454 GIO_AVAILABLE_IN_ALL
1455 void              g_file_info_set_attribute_mask     (GFileInfo         *info,
1456                               GFileAttributeMatcher *mask);
1457 GIO_AVAILABLE_IN_ALL
1458 void              g_file_info_unset_attribute_mask   (GFileInfo         *info);
1459 
1460 /* Helper setters: */
1461 GIO_AVAILABLE_IN_ALL
1462 void              g_file_info_set_file_type          (GFileInfo         *info,
1463                               GFileType          type);
1464 GIO_AVAILABLE_IN_ALL
1465 void              g_file_info_set_is_hidden          (GFileInfo         *info,
1466                               gboolean           is_hidden);
1467 GIO_AVAILABLE_IN_ALL
1468 void              g_file_info_set_is_symlink         (GFileInfo         *info,
1469                               gboolean           is_symlink);
1470 GIO_AVAILABLE_IN_ALL
1471 void              g_file_info_set_name               (GFileInfo         *info,
1472                               const char        *name);
1473 GIO_AVAILABLE_IN_ALL
1474 void              g_file_info_set_display_name       (GFileInfo         *info,
1475                               const char        *display_name);
1476 GIO_AVAILABLE_IN_ALL
1477 void              g_file_info_set_edit_name          (GFileInfo         *info,
1478                               const char        *edit_name);
1479 GIO_AVAILABLE_IN_ALL
1480 void              g_file_info_set_icon               (GFileInfo         *info,
1481                               GIcon             *icon);
1482 GIO_AVAILABLE_IN_ALL
1483 void              g_file_info_set_symbolic_icon      (GFileInfo         *info,
1484                               GIcon             *icon);
1485 GIO_AVAILABLE_IN_ALL
1486 void              g_file_info_set_content_type       (GFileInfo         *info,
1487                               const char        *content_type);
1488 GIO_AVAILABLE_IN_ALL
1489 void              g_file_info_set_size               (GFileInfo         *info,
1490                               goffset            size);
1491 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
1492 GIO_DEPRECATED_IN_2_62_FOR(g_file_info_set_modification_date_time)
1493 void              g_file_info_set_modification_time  (GFileInfo         *info,
1494                                                       GTimeVal          *mtime);
1495 G_GNUC_END_IGNORE_DEPRECATIONS
1496 GIO_AVAILABLE_IN_2_62
1497 void              g_file_info_set_modification_date_time (GFileInfo     *info,
1498                                                           GDateTime     *mtime);
1499 GIO_AVAILABLE_IN_2_70
1500 void              g_file_info_set_access_date_time (GFileInfo *info,
1501                                                     GDateTime *atime);
1502 GIO_AVAILABLE_IN_2_70
1503 void              g_file_info_set_creation_date_time (GFileInfo *info,
1504                                                       GDateTime *creation_time);
1505 GIO_AVAILABLE_IN_ALL
1506 void              g_file_info_set_symlink_target     (GFileInfo         *info,
1507                               const char        *symlink_target);
1508 GIO_AVAILABLE_IN_ALL
1509 void              g_file_info_set_sort_order         (GFileInfo         *info,
1510                               gint32             sort_order);
1511 
1512 #define G_TYPE_FILE_ATTRIBUTE_MATCHER (g_file_attribute_matcher_get_type ())
1513 GIO_AVAILABLE_IN_ALL
1514 GType g_file_attribute_matcher_get_type (void) G_GNUC_CONST;
1515 
1516 GIO_AVAILABLE_IN_ALL
1517 GFileAttributeMatcher *g_file_attribute_matcher_new            (const char            *attributes);
1518 GIO_AVAILABLE_IN_ALL
1519 GFileAttributeMatcher *g_file_attribute_matcher_ref            (GFileAttributeMatcher *matcher);
1520 GIO_AVAILABLE_IN_ALL
1521 void                   g_file_attribute_matcher_unref          (GFileAttributeMatcher *matcher);
1522 GIO_AVAILABLE_IN_ALL
1523 GFileAttributeMatcher *g_file_attribute_matcher_subtract       (GFileAttributeMatcher *matcher,
1524                                                                 GFileAttributeMatcher *subtract);
1525 GIO_AVAILABLE_IN_ALL
1526 gboolean               g_file_attribute_matcher_matches        (GFileAttributeMatcher *matcher,
1527                                 const char            *attribute);
1528 GIO_AVAILABLE_IN_ALL
1529 gboolean               g_file_attribute_matcher_matches_only   (GFileAttributeMatcher *matcher,
1530                                 const char            *attribute);
1531 GIO_AVAILABLE_IN_ALL
1532 gboolean               g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher *matcher,
1533                                      const char            *ns);
1534 GIO_AVAILABLE_IN_ALL
1535 const char *           g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher);
1536 GIO_AVAILABLE_IN_2_32
1537 char *                 g_file_attribute_matcher_to_string      (GFileAttributeMatcher *matcher);
1538 
1539 G_END_DECLS
1540 
1541 #endif /* __G_FILE_INFO_H__ */