This article relies too much on references to primary sources. Please improve this by adding secondary or tertiary sources. (November 2010) (Learn how and when to remove this template message)
GIO
Developer(s)The GNOME Project
Stable release2.66.7 (February 11, 2021; 8 months ago (2021-02-11)) [±][1]
Written inC
TypeSystem library
LicenseGNU Lesser General Public License
Websitedeveloper.gnome.org/gio/stable/
As the GNU C Library serves as a wrapper for Linux kernel system calls, so do the libraries bundled in GLib (GObject, Glib, GModule, GThread and GIO) serve as further wrappers for their specific tasks.
As the GNU C Library serves as a wrapper for Linux kernel system calls, so do the libraries bundled in GLib (GObject, Glib, GModule, GThread and GIO) serve as further wrappers for their specific tasks.
Simplified software architecture of GTK. Pango, GDK, ATK, GIO, Cairo and GLib.
Simplified software architecture of GTK. Pango, GDK, ATK, GIO, Cairo and GLib.

GIO (Gnome Input/Output) is a library, designed to present programmers with a modern and usable interface to a virtual file system. It allows applications to access local and remote files with a single consistent API, which was designed "to overcome the shortcomings of GnomeVFS" and be "so good that developers prefer it over raw POSIX calls."[2]

GIO serves as low-level system library for the GNOME Shell/GNOME/GTK software stack and is being developed by The GNOME Project. It is maintained as a separate library, libgio-2.0, but it is bundled with GLib. GIO is free and open-source software subject to the requirements of the GNU Lesser General Public License.

Features

Beyond these, GIO provides facilities for file monitoring, asynchronous I/O and filename completion. In addition to the interfaces, GIO provides implementations for the local case. Implementations for various network file systems are provided by the GVfs package as loadable modules.

See also

References

  1. ^ Withnall, Philip (11 Feb 2021). "glib 2.66.7". GNOME ftp-release (Mailing list). Retrieved 12 February 2021.
  2. ^ "GIO Reference Manual".
  3. ^ "xdgmime in GIO git".
  4. ^ "inotify in GIO git".
  5. ^ "FAM in GIO git".