(root)/
glib-2.79.0/
gio/
gfileinfo.h
       1  /* GIO - GLib Input, Output and Streaming Library
       2   *
       3   * Copyright (C) 2006-2007 Red Hat, Inc.
       4   *
       5   * SPDX-License-Identifier: LGPL-2.1-or-later
       6   *
       7   * This library is free software; you can redistribute it and/or
       8   * modify it under the terms of the GNU Lesser General Public
       9   * License as published by the Free Software Foundation; either
      10   * version 2.1 of the License, or (at your option) any later version.
      11   *
      12   * This library is distributed in the hope that it will be useful,
      13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
      14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      15   * Lesser General Public License for more details.
      16   *
      17   * You should have received a copy of the GNU Lesser General
      18   * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
      19   *
      20   * Author: Alexander Larsson <alexl@redhat.com>
      21   */
      22  
      23  #ifndef __G_FILE_INFO_H__
      24  #define __G_FILE_INFO_H__
      25  
      26  #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
      27  #error "Only <gio/gio.h> can be included directly."
      28  #endif
      29  
      30  #include <gio/giotypes.h>
      31  
      32  G_BEGIN_DECLS
      33  
      34  #define G_TYPE_FILE_INFO         (g_file_info_get_type ())
      35  #define G_FILE_INFO(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INFO, GFileInfo))
      36  #define G_FILE_INFO_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INFO, GFileInfoClass))
      37  #define G_IS_FILE_INFO(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INFO))
      38  #define G_IS_FILE_INFO_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INFO))
      39  #define G_FILE_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INFO, GFileInfoClass))
      40  
      41  typedef struct _GFileInfoClass   GFileInfoClass;
      42  
      43  
      44  /* Common Attributes:  */
      45  /**
      46   * G_FILE_ATTRIBUTE_STANDARD_TYPE:
      47   *
      48   * A key in the "standard" namespace for storing file types.
      49   *
      50   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
      51   *
      52   * The value for this key should contain a #GFileType.
      53   **/
      54  #define G_FILE_ATTRIBUTE_STANDARD_TYPE "standard::type"                     /* uint32 (GFileType) */
      55  
      56  /**
      57   * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN:
      58   *
      59   * A key in the "standard" namespace for checking if a file is hidden.
      60   *
      61   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
      62   **/
      63  #define G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN "standard::is-hidden"           /* boolean */
      64  
      65  /**
      66   * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP:
      67   *
      68   * A key in the "standard" namespace for checking if a file is a backup file.
      69   *
      70   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
      71   **/
      72  #define G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP "standard::is-backup"           /* boolean */
      73  
      74  /**
      75   * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK:
      76   *
      77   * A key in the "standard" namespace for checking if the file is a symlink.
      78   * Typically the actual type is something else, if we followed the symlink
      79   * to get the type.
      80   *
      81   * On Windows NTFS mountpoints are considered to be symlinks as well.
      82   *
      83   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
      84   **/
      85  #define G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "standard::is-symlink"         /* boolean */
      86  
      87  /**
      88   * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL:
      89   *
      90   * A key in the "standard" namespace for checking if a file is virtual.
      91   *
      92   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
      93   **/
      94  #define G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL "standard::is-virtual"         /* boolean */
      95  
      96  /**
      97   * G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE:
      98   *
      99   * A key in the "standard" namespace for checking if a file is
     100   * volatile. This is meant for opaque, non-POSIX-like backends to
     101   * indicate that the URI is not persistent. Applications should look
     102   * at %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI.
     103   *
     104   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     105   *
     106   * Since: 2.46
     107   **/
     108  #define G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE "standard::is-volatile"      /* boolean */
     109  
     110  /**
     111   * G_FILE_ATTRIBUTE_STANDARD_NAME:
     112   *
     113   * A key in the "standard" namespace for getting the name of the file.
     114   *
     115   * The name is the on-disk filename which may not be in any known encoding,
     116   * and can thus not be generally displayed as is. It is guaranteed to be set on
     117   * every file.
     118   *
     119   * Use %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the
     120   * name in a user interface.
     121   *
     122   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
     123   **/
     124  #define G_FILE_ATTRIBUTE_STANDARD_NAME "standard::name"                     /* byte string */
     125  
     126  /**
     127   * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME:
     128   *
     129   * A key in the "standard" namespace for getting the display name of the file.
     130   *
     131   * A display name is guaranteed to be in UTF-8 and can thus be displayed in
     132   * the UI. It is guaranteed to be set on every file.
     133   *
     134   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     135   **/
     136  #define G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "standard::display-name"     /* string */
     137  
     138  /**
     139   * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME:
     140   *
     141   * A key in the "standard" namespace for edit name of the file.
     142   *
     143   * An edit name is similar to the display name, but it is meant to be
     144   * used when you want to rename the file in the UI. The display name
     145   * might contain information you don't want in the new filename (such as
     146   * "(invalid unicode)" if the filename was in an invalid encoding).
     147   *
     148   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     149   **/
     150  #define G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "standard::edit-name"           /* string */
     151  
     152  /**
     153   * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME:
     154   *
     155   * A key in the "standard" namespace for getting the copy name of the file.
     156   *
     157   * The copy name is an optional version of the name. If available it's always
     158   * in UTF8, and corresponds directly to the original filename (only transcoded to
     159   * UTF8). This is useful if you want to copy the file to another filesystem that
     160   * might have a different encoding. If the filename is not a valid string in the
     161   * encoding selected for the filesystem it is in then the copy name will not be set.
     162   *
     163   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     164   **/
     165  #define G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "standard::copy-name"           /* string */
     166  
     167  /**
     168   * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION:
     169   *
     170   * A key in the "standard" namespace for getting the description of the file.
     171   *
     172   * The description is a utf8 string that describes the file, generally containing
     173   * the filename, but can also contain further information. Example descriptions
     174   * could be "filename (on hostname)" for a remote file or "filename (in trash)"
     175   * for a file in the trash. This is useful for instance as the window title
     176   * when displaying a directory or for a bookmarks menu.
     177   *
     178   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     179   **/
     180  #define G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION "standard::description"        /* string */
     181  
     182  /**
     183   * G_FILE_ATTRIBUTE_STANDARD_ICON:
     184   *
     185   * A key in the "standard" namespace for getting the icon for the file.
     186   *
     187   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
     188   *
     189   * The value for this key should contain a #GIcon.
     190   **/
     191  #define G_FILE_ATTRIBUTE_STANDARD_ICON "standard::icon"                     /* object (GIcon) */
     192  
     193  /**
     194   * G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON:
     195   *
     196   * A key in the "standard" namespace for getting the symbolic icon for the file.
     197   *
     198   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
     199   *
     200   * The value for this key should contain a #GIcon.
     201   *
     202   * Since: 2.34
     203   **/
     204  #define G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON "standard::symbolic-icon"   /* object (GIcon) */
     205  
     206  /**
     207   * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE:
     208   *
     209   * A key in the "standard" namespace for getting the content type of the file.
     210   *
     211   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     212   *
     213   * The value for this key should contain a valid content type.
     214   **/
     215  #define G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "standard::content-type"     /* string */
     216  
     217  /**
     218   * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE:
     219   *
     220   * A key in the "standard" namespace for getting the fast content type.
     221   *
     222   * The fast content type isn't as reliable as the regular one, as it
     223   * only uses the filename to guess it, but it is faster to calculate than the
     224   * regular content type.
     225   *
     226   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     227   *
     228   **/
     229  #define G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "standard::fast-content-type" /* string */
     230  
     231  /**
     232   * G_FILE_ATTRIBUTE_STANDARD_SIZE:
     233   *
     234   * A key in the "standard" namespace for getting the file's size (in bytes).
     235   *
     236   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
     237   **/
     238  #define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size"                     /* uint64 */
     239  
     240  /**
     241   * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE:
     242   *
     243   * A key in the "standard" namespace for getting the amount of disk space
     244   * that is consumed by the file (in bytes).
     245   *
     246   * This will generally be larger than the file size (due to block size
     247   * overhead) but can occasionally be smaller (for example, for sparse files).
     248   *
     249   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
     250   *
     251   * Since: 2.20
     252   **/
     253  #define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */
     254  
     255  /**
     256   * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
     257   *
     258   * A key in the "standard" namespace for getting the symlink target, if the file
     259   * is a symlink.
     260   *
     261   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
     262   **/
     263  #define G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET "standard::symlink-target" /* byte string */
     264  
     265  /**
     266   * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI:
     267   *
     268   * A key in the "standard" namespace for getting the target URI for the file, in
     269   * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files.
     270   *
     271   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     272   **/
     273  #define G_FILE_ATTRIBUTE_STANDARD_TARGET_URI "standard::target-uri"         /* string */
     274  
     275  /**
     276   * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER:
     277   *
     278   * A key in the "standard" namespace for setting the sort order of a file.
     279   *
     280   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32.
     281   *
     282   * An example use would be in file managers, which would use this key
     283   * to set the order files are displayed. Files with smaller sort order
     284   * should be sorted first, and files without sort order as if sort order
     285   * was zero.
     286   **/
     287  #define G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER "standard::sort-order"         /* int32  */
     288  
     289  /* Entity tags, used to avoid missing updates on save */
     290  
     291  /**
     292   * G_FILE_ATTRIBUTE_ETAG_VALUE:
     293   *
     294   * A key in the "etag" namespace for getting the value of the file's
     295   * entity tag.
     296   *
     297   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     298   **/
     299  #define G_FILE_ATTRIBUTE_ETAG_VALUE "etag::value"                 /* string */
     300  
     301  /* File identifier, for e.g. avoiding loops when doing recursive
     302   * directory scanning
     303   */
     304  
     305  /**
     306   * G_FILE_ATTRIBUTE_ID_FILE:
     307   *
     308   * A key in the "id" namespace for getting a file identifier.
     309   *
     310   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     311   *
     312   * An example use would be during listing files, to avoid recursive
     313   * directory scanning.
     314   **/
     315  #define G_FILE_ATTRIBUTE_ID_FILE "id::file"                     /* string */
     316  
     317  /**
     318   * G_FILE_ATTRIBUTE_ID_FILESYSTEM:
     319   *
     320   * A key in the "id" namespace for getting the file system identifier.
     321   *
     322   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     323   *
     324   * An example use would be during drag and drop to see if the source
     325   * and target are on the same filesystem (default to move) or not (default
     326   * to copy).
     327   **/
     328  #define G_FILE_ATTRIBUTE_ID_FILESYSTEM "id::filesystem"         /* string */
     329  
     330  /* Calculated Access Rights for current user */
     331  
     332  /**
     333   * G_FILE_ATTRIBUTE_ACCESS_CAN_READ:
     334   *
     335   * A key in the "access" namespace for getting read privileges.
     336   *
     337   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     338   *
     339   * This attribute will be %TRUE if the user is able to read the file.
     340   **/
     341  #define G_FILE_ATTRIBUTE_ACCESS_CAN_READ "access::can-read"       /* boolean */
     342  
     343  /**
     344   * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE:
     345   *
     346   * A key in the "access" namespace for getting write privileges.
     347   *
     348   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     349   *
     350   * This attribute will be %TRUE if the user is able to write to the file.
     351   **/
     352  #define G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE "access::can-write"     /* boolean */
     353  
     354  /**
     355   * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE:
     356   *
     357   * A key in the "access" namespace for getting execution privileges.
     358   *
     359   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     360   *
     361   * This attribute will be %TRUE if the user is able to execute the file.
     362   **/
     363  #define G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "access::can-execute" /* boolean */
     364  
     365  /**
     366   * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE:
     367   *
     368   * A key in the "access" namespace for checking deletion privileges.
     369   *
     370   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     371   *
     372   * This attribute will be %TRUE if the user is able to delete the file.
     373   **/
     374  #define G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE "access::can-delete"   /* boolean */
     375  
     376  /**
     377   * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH:
     378   *
     379   * A key in the "access" namespace for checking trashing privileges.
     380   *
     381   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     382   *
     383   * This attribute will be %TRUE if the user is able to move the file to
     384   * the trash.
     385   **/
     386  #define G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH "access::can-trash"     /* boolean */
     387  
     388  /**
     389   * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME:
     390   *
     391   * A key in the "access" namespace for checking renaming privileges.
     392   *
     393   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     394   *
     395   * This attribute will be %TRUE if the user is able to rename the file.
     396   **/
     397  #define G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME "access::can-rename"   /* boolean */
     398  
     399  /* TODO: Should we have special version for directories? can_enumerate, etc */
     400  
     401  /* Mountable attributes */
     402  
     403  /**
     404   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT:
     405   *
     406   * A key in the "mountable" namespace for checking if a file (of
     407   * type G_FILE_TYPE_MOUNTABLE) is mountable.
     408   *
     409   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     410   **/
     411  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT "mountable::can-mount"     /* boolean */
     412  
     413  /**
     414   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT:
     415   *
     416   * A key in the "mountable" namespace for checking if a file (of
     417   * type G_FILE_TYPE_MOUNTABLE)  is unmountable.
     418   *
     419   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     420   **/
     421  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT "mountable::can-unmount" /* boolean */
     422  
     423  /**
     424   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT:
     425   *
     426   * A key in the "mountable" namespace for checking if a file (of
     427   * type G_FILE_TYPE_MOUNTABLE) can be ejected.
     428   *
     429   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     430   **/
     431  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT "mountable::can-eject"     /* boolean */
     432  
     433  /**
     434   * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE:
     435   *
     436   * A key in the "mountable" namespace for getting the unix device.
     437   *
     438   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     439   **/
     440  #define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE "mountable::unix-device" /* uint32 */
     441  
     442  /**
     443   * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE:
     444   *
     445   * A key in the "mountable" namespace for getting the unix device file.
     446   *
     447   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     448   *
     449   * Since: 2.22
     450   **/
     451  #define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE "mountable::unix-device-file" /* string */
     452  
     453  /**
     454   * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI:
     455   *
     456   * A key in the "mountable" namespace for getting the HAL UDI for the mountable
     457   * file.
     458   *
     459   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     460   **/
     461  #define G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI "mountable::hal-udi"         /* string */
     462  
     463  /**
     464   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START:
     465   *
     466   * A key in the "mountable" namespace for checking if a file (of
     467   * type G_FILE_TYPE_MOUNTABLE) can be started.
     468   *
     469   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     470   *
     471   * Since: 2.22
     472   */
     473  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START "mountable::can-start"     /* boolean */
     474  
     475  /**
     476   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED:
     477   *
     478   * A key in the "mountable" namespace for checking if a file (of
     479   * type G_FILE_TYPE_MOUNTABLE) can be started degraded.
     480   *
     481   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     482   *
     483   * Since: 2.22
     484   */
     485  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED "mountable::can-start-degraded"     /* boolean */
     486  
     487  /**
     488   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP:
     489   *
     490   * A key in the "mountable" namespace for checking if a file (of
     491   * type G_FILE_TYPE_MOUNTABLE) can be stopped.
     492   *
     493   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     494   *
     495   * Since: 2.22
     496   */
     497  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP "mountable::can-stop"      /* boolean */
     498  
     499  /**
     500   * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE:
     501   *
     502   * A key in the "mountable" namespace for getting the #GDriveStartStopType.
     503   *
     504   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     505   *
     506   * Since: 2.22
     507   */
     508  #define G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE "mountable::start-stop-type" /* uint32 (GDriveStartStopType) */
     509  
     510  /**
     511   * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL:
     512   *
     513   * A key in the "mountable" namespace for checking if a file (of
     514   * type G_FILE_TYPE_MOUNTABLE) can be polled.
     515   *
     516   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     517   *
     518   * Since: 2.22
     519   */
     520  #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL "mountable::can-poll"      /* boolean */
     521  
     522  /**
     523   * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC:
     524   *
     525   * A key in the "mountable" namespace for checking if a file (of
     526   * type G_FILE_TYPE_MOUNTABLE) is automatically polled for media.
     527   *
     528   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     529   *
     530   * Since: 2.22
     531   */
     532  #define G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC "mountable::is-media-check-automatic"      /* boolean */
     533  
     534  /* Time attributes */
     535  
     536  /**
     537   * G_FILE_ATTRIBUTE_TIME_MODIFIED:
     538   *
     539   * A key in the "time" namespace for getting the time the file was last
     540   * modified.
     541   *
     542   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and
     543   * contains the time since the file was modified, in seconds since the UNIX
     544   * epoch.
     545   **/
     546  #define G_FILE_ATTRIBUTE_TIME_MODIFIED "time::modified"           /* uint64 */
     547  
     548  /**
     549   * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC:
     550   *
     551   * A key in the "time" namespace for getting the microseconds of the time
     552   * the file was last modified.
     553   *
     554   * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_MODIFIED.
     555   *
     556   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     557   **/
     558  #define G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC "time::modified-usec" /* uint32 */
     559  
     560  /**
     561   * G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC:
     562   *
     563   * A key in the "time" namespace for getting the nanoseconds of the time
     564   * the file was last modified. This should be used in conjunction with
     565   * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is
     566   * %G_FILE_ATTRIBUTE_TYPE_UINT32.
     567   *
     568   * Since: 2.74
     569   **/
     570  #define G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC "time::modified-nsec" /* uint32 */
     571  
     572  /**
     573   * G_FILE_ATTRIBUTE_TIME_ACCESS:
     574   *
     575   * A key in the "time" namespace for getting the time the file was last
     576   * accessed.
     577   *
     578   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and
     579   * contains the time since the file was last accessed, in seconds since the
     580   * UNIX epoch.
     581   **/
     582  #define G_FILE_ATTRIBUTE_TIME_ACCESS "time::access"               /* uint64 */
     583  
     584  /**
     585   * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC:
     586   *
     587   * A key in the "time" namespace for getting the microseconds of the time
     588   * the file was last accessed.
     589   *
     590   * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_ACCESS.
     591   *
     592   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     593   **/
     594  #define G_FILE_ATTRIBUTE_TIME_ACCESS_USEC "time::access-usec"     /* uint32 */
     595  
     596  /**
     597   * G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC:
     598   *
     599   * A key in the "time" namespace for getting the nanoseconds of the time
     600   * the file was last accessed. This should be used in conjunction with
     601   * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is
     602   * %G_FILE_ATTRIBUTE_TYPE_UINT32.
     603   *
     604   * Since: 2.74
     605   **/
     606  #define G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC "time::access-nsec"     /* uint32 */
     607  
     608  /**
     609   * G_FILE_ATTRIBUTE_TIME_CHANGED:
     610   *
     611   * A key in the "time" namespace for getting the time the file was last
     612   * changed.
     613   *
     614   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
     615   * and contains the time since the file was last changed, in seconds since
     616   * the UNIX epoch.
     617   *
     618   * This corresponds to the traditional UNIX ctime.
     619   **/
     620  #define G_FILE_ATTRIBUTE_TIME_CHANGED "time::changed"             /* uint64 */
     621  
     622  /**
     623   * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC:
     624   *
     625   * A key in the "time" namespace for getting the microseconds of the time
     626   * the file was last changed.
     627   *
     628   * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CHANGED.
     629   *
     630   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     631   **/
     632  #define G_FILE_ATTRIBUTE_TIME_CHANGED_USEC "time::changed-usec"   /* uint32 */
     633  
     634  /**
     635   * G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC:
     636   *
     637   * A key in the "time" namespace for getting the nanoseconds of the time
     638   * the file was last changed. This should be used in conjunction with
     639   * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is
     640   * %G_FILE_ATTRIBUTE_TYPE_UINT32.
     641   *
     642   * Since: 2.74
     643   **/
     644  #define G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC "time::changed-nsec"   /* uint32 */
     645  
     646  /**
     647   * G_FILE_ATTRIBUTE_TIME_CREATED:
     648   *
     649   * A key in the "time" namespace for getting the time the file was created.
     650   *
     651   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
     652   * and contains the time since the file was created, in seconds since the UNIX
     653   * epoch.
     654   *
     655   * This may correspond to Linux `stx_btime`, FreeBSD `st_birthtim`, NetBSD
     656   * `st_birthtime` or NTFS `ctime`.
     657   **/
     658  #define G_FILE_ATTRIBUTE_TIME_CREATED "time::created"             /* uint64 */
     659  
     660  /**
     661   * G_FILE_ATTRIBUTE_TIME_CREATED_USEC:
     662   *
     663   * A key in the "time" namespace for getting the microseconds of the time
     664   * the file was created.
     665   *
     666   * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CREATED.
     667   *
     668   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     669   **/
     670  #define G_FILE_ATTRIBUTE_TIME_CREATED_USEC "time::created-usec"   /* uint32 */
     671  
     672  /**
     673   * G_FILE_ATTRIBUTE_TIME_CREATED_NSEC:
     674   *
     675   * A key in the "time" namespace for getting the nanoseconds of the time
     676   * the file was created. This should be used in conjunction with
     677   * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is
     678   * %G_FILE_ATTRIBUTE_TYPE_UINT32.
     679   *
     680   * Since: 2.74
     681   **/
     682  #define G_FILE_ATTRIBUTE_TIME_CREATED_NSEC "time::created-nsec"   /* uint32 */
     683  
     684  /* Unix specific attributes */
     685  
     686  /**
     687   * G_FILE_ATTRIBUTE_UNIX_DEVICE:
     688   *
     689   * A key in the "unix" namespace for getting the device id of the device the
     690   * file is located on (see stat() documentation).
     691   *
     692   * This attribute is only available for UNIX file systems.
     693   *
     694   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     695   **/
     696  #define G_FILE_ATTRIBUTE_UNIX_DEVICE "unix::device"               /* uint32 */
     697  
     698  /**
     699   * G_FILE_ATTRIBUTE_UNIX_INODE:
     700   *
     701   * A key in the "unix" namespace for getting the inode of the file.
     702   *
     703   * This attribute is only available for UNIX file systems.
     704   *
     705   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
     706   **/
     707  #define G_FILE_ATTRIBUTE_UNIX_INODE "unix::inode"                 /* uint64 */
     708  
     709  /**
     710   * G_FILE_ATTRIBUTE_UNIX_MODE:
     711   *
     712   * A key in the "unix" namespace for getting the mode of the file
     713   * (e.g. whether the file is a regular file, symlink, etc).
     714   *
     715   * See the documentation for `lstat()`: this attribute is equivalent to
     716   * the `st_mode` member of `struct stat`, and includes both the file type
     717   * and permissions.
     718   *
     719   * This attribute is only available for UNIX file systems.
     720   *
     721   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     722   **/
     723  #define G_FILE_ATTRIBUTE_UNIX_MODE "unix::mode"                   /* uint32 */
     724  
     725  /**
     726   * G_FILE_ATTRIBUTE_UNIX_NLINK:
     727   *
     728   * A key in the "unix" namespace for getting the number of hard links
     729   * for a file.
     730   *
     731   * See the documentation for `lstat()`.
     732   *
     733   * This attribute is only available for UNIX file systems.
     734   *
     735   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     736   **/
     737  #define G_FILE_ATTRIBUTE_UNIX_NLINK "unix::nlink"                 /* uint32 */
     738  
     739  /**
     740   * G_FILE_ATTRIBUTE_UNIX_UID:
     741   *
     742   * A key in the "unix" namespace for getting the user ID for the file.
     743   *
     744   * This attribute is only available for UNIX file systems.
     745   *
     746   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     747   **/
     748  #define G_FILE_ATTRIBUTE_UNIX_UID "unix::uid"                     /* uint32 */
     749  
     750  /**
     751   * G_FILE_ATTRIBUTE_UNIX_GID:
     752   *
     753   * A key in the "unix" namespace for getting the group ID for the file.
     754   *
     755   * This attribute is only available for UNIX file systems.
     756   *
     757   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     758   **/
     759  #define G_FILE_ATTRIBUTE_UNIX_GID "unix::gid"                     /* uint32 */
     760  
     761  /**
     762   * G_FILE_ATTRIBUTE_UNIX_RDEV:
     763   *
     764   * A key in the "unix" namespace for getting the device ID for the file
     765   * (if it is a special file).
     766   *
     767   * See the documentation for `lstat()`.
     768   *
     769   * This attribute is only available for UNIX file systems.
     770   *
     771   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     772   **/
     773  #define G_FILE_ATTRIBUTE_UNIX_RDEV "unix::rdev"                   /* uint32 */
     774  
     775  /**
     776   * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE:
     777   *
     778   * A key in the "unix" namespace for getting the block size for the file
     779   * system.
     780   *
     781   * This attribute is only available for UNIX file systems.
     782   *
     783   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     784   **/
     785  #define G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE "unix::block-size"       /* uint32 */
     786  
     787  /**
     788   * G_FILE_ATTRIBUTE_UNIX_BLOCKS:
     789   *
     790   * A key in the "unix" namespace for getting the number of blocks allocated
     791   * for the file.
     792   *
     793   * This attribute is only available for UNIX file systems.
     794   *
     795   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
     796   **/
     797  #define G_FILE_ATTRIBUTE_UNIX_BLOCKS "unix::blocks"               /* uint64 */
     798  
     799  /**
     800   * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT:
     801   *
     802   * A key in the "unix" namespace for checking if the file represents a
     803   * UNIX mount point.
     804   *
     805   * This attribute is %TRUE if the file is a UNIX mount point.
     806   *
     807   * Since 2.58, `/` is considered to be a mount point.
     808   *
     809   * This attribute is only available for UNIX file systems.
     810   *
     811   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     812   **/
     813  #define G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT "unix::is-mountpoint" /* boolean */
     814  
     815  /* DOS specific attributes */
     816  
     817  /**
     818   * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE:
     819   *
     820   * A key in the "dos" namespace for checking if the file's archive flag
     821   * is set.
     822   *
     823   * This attribute is %TRUE if the archive flag is set.
     824   *
     825   * This attribute is only available for DOS file systems.
     826   *
     827   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     828   **/
     829  #define G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE "dos::is-archive"         /* boolean */
     830  
     831  /**
     832   * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM:
     833   *
     834   * A key in the "dos" namespace for checking if the file's backup flag
     835   * is set.
     836   *
     837   * This attribute is %TRUE if the backup flag is set.
     838   *
     839   * This attribute is only available for DOS file systems.
     840   *
     841   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     842   **/
     843  #define G_FILE_ATTRIBUTE_DOS_IS_SYSTEM "dos::is-system"           /* boolean */
     844  
     845  /**
     846   * G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT:
     847   *
     848   * A key in the "dos" namespace for checking if the file is a NTFS mount point
     849   * (a volume mount or a junction point).
     850   *
     851   * This attribute is %TRUE if file is a reparse point of type
     852   * [IO_REPARSE_TAG_MOUNT_POINT](https://msdn.microsoft.com/en-us/library/dd541667.aspx).
     853   *
     854   * This attribute is only available for DOS file systems.
     855   *
     856   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     857   *
     858   * Since: 2.60
     859   **/
     860  #define G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT "dos::is-mountpoint"   /* boolean */
     861  
     862  /**
     863   * G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG:
     864   *
     865   * A key in the "dos" namespace for getting the file NTFS reparse tag.
     866   *
     867   * This value is 0 for files that are not reparse points.
     868   *
     869   * See the [Reparse Tags](https://msdn.microsoft.com/en-us/library/dd541667.aspx)
     870   * page for possible reparse tag values.
     871   *
     872   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
     873   *
     874   * Since: 2.60
     875   **/
     876  #define G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG "dos::reparse-point-tag"   /* uint32 */
     877  
     878  /* Owner attributes */
     879  
     880  /**
     881   * G_FILE_ATTRIBUTE_OWNER_USER:
     882   *
     883   * A key in the "owner" namespace for getting the user name of the
     884   * file's owner.
     885   *
     886   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     887   **/
     888  #define G_FILE_ATTRIBUTE_OWNER_USER "owner::user"                 /* string */
     889  
     890  /**
     891   * G_FILE_ATTRIBUTE_OWNER_USER_REAL:
     892   *
     893   * A key in the "owner" namespace for getting the real name of the
     894   * user that owns the file.
     895   *
     896   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     897   **/
     898  #define G_FILE_ATTRIBUTE_OWNER_USER_REAL "owner::user-real"       /* string */
     899  
     900  /**
     901   * G_FILE_ATTRIBUTE_OWNER_GROUP:
     902   *
     903   * A key in the "owner" namespace for getting the file owner's group.
     904   *
     905   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
     906   **/
     907  #define G_FILE_ATTRIBUTE_OWNER_GROUP "owner::group"               /* string */
     908  
     909  /* Thumbnails */
     910  
     911  /**
     912   * G_FILE_ATTRIBUTE_THUMBNAIL_PATH:
     913   *
     914   * A key in the "thumbnail" namespace for getting the path to the thumbnail
     915   * image with the biggest size available.
     916   *
     917   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
     918   **/
     919  #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH "thumbnail::path"         /* bytestring */
     920  /**
     921   * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED:
     922   *
     923   * A key in the "thumbnail" namespace for checking if thumbnailing failed.
     924   *
     925   * This attribute is %TRUE if thumbnailing failed.
     926   *
     927   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     928   **/
     929  #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "thumbnail::failed"         /* boolean */
     930  /**
     931   * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID:
     932   *
     933   * A key in the "thumbnail" namespace for checking whether the thumbnail is outdated.
     934   *
     935   * This attribute is %TRUE if the thumbnail is up-to-date with the file it represents,
     936   * and %FALSE if the file has been modified since the thumbnail was generated.
     937   *
     938   * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED is %TRUE and this attribute is %FALSE,
     939   * it indicates that thumbnailing may be attempted again and may succeed.
     940   *
     941   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     942   *
     943   * Since: 2.40
     944   */
     945  #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID "thumbnail::is-valid"        /* boolean */
     946  
     947  /**
     948   * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL:
     949   *
     950   * A key in the "thumbnail" namespace for getting the path to the normal
     951   * thumbnail image.
     952   *
     953   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
     954   *
     955   * Since: 2.76
     956   */
     957  #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL "thumbnail::path-normal"  /* bytestring */
     958  /**
     959   * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL:
     960   *
     961   * A key in the "thumbnail" namespace for checking if thumbnailing failed
     962   * for the normal image.
     963   *
     964   * This attribute is %TRUE if thumbnailing failed.
     965   *
     966   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     967   *
     968   * Since: 2.76
     969   */
     970  #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL "thumbnail::failed-normal"  /* boolean */
     971  /**
     972   * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL:
     973   *
     974   * A key in the "thumbnail" namespace for checking whether the normal
     975   * thumbnail is outdated.
     976   *
     977   * This attribute is %TRUE if the normal thumbnail is up-to-date with the file
     978   * it represents, and %FALSE if the file has been modified since the thumbnail
     979   * was generated.
     980   *
     981   * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL is %TRUE and this attribute
     982   * is %FALSE, it indicates that thumbnailing may be attempted again and may
     983   * succeed.
     984   *
     985   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
     986   *
     987   * Since: 2.76
     988   */
     989  #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL "thumbnail::is-valid-normal"  /* boolean */
     990  
     991  /**
     992   * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE:
     993   *
     994   * A key in the "thumbnail" namespace for getting the path to the large
     995   * thumbnail image.
     996   *
     997   * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
     998   *
     999   * 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__ */