Top |
Routines for managing mounted UNIX mount points and paths.
Note that <gio/gunixmounts.h>
belongs to the UNIX-specific GIO
interfaces, thus you have to use the gio-unix-2.0.pc
pkg-config
file when using it.
gint g_unix_mount_compare (GUnixMountEntry *mount1
,GUnixMountEntry *mount2
);
Compares two unix mounts.
GUnixMountEntry *
g_unix_mount_copy (GUnixMountEntry *mount_entry
);
Makes a copy of mount_entry
.
Since: 2.54
const char *
g_unix_mount_get_mount_path (GUnixMountEntry *mount_entry
);
Gets the mount path for a unix mount.
const char *
g_unix_mount_get_device_path (GUnixMountEntry *mount_entry
);
Gets the device path for a unix mount.
const char *
g_unix_mount_get_root_path (GUnixMountEntry *mount_entry
);
Gets the root of the mount within the filesystem. This is useful e.g. for mounts created by bind operation, or btrfs subvolumes.
For example, the root path is equal to "/" for mount created by "mount /dev/sda1 /mnt/foo" and "/bar" for "mount --bind /mnt/foo/bar /mnt/bar".
Since: 2.60
const char *
g_unix_mount_get_fs_type (GUnixMountEntry *mount_entry
);
Gets the filesystem type for the unix mount.
const char *
g_unix_mount_get_options (GUnixMountEntry *mount_entry
);
Gets a comma-separated list of mount options for the unix mount. For example,
rw,relatime,seclabel,data=ordered
.
This is similar to g_unix_mount_point_get_options()
, but it takes
a GUnixMountEntry as an argument.
Since: 2.58
gboolean
g_unix_mount_is_readonly (GUnixMountEntry *mount_entry
);
Checks if a unix mount is mounted read only.
gboolean
g_unix_mount_is_system_internal (GUnixMountEntry *mount_entry
);
Checks if a Unix mount is a system mount. This is the Boolean OR of
g_unix_is_system_fs_type()
, g_unix_is_system_device_path()
and
g_unix_is_mount_path_system_internal()
on mount_entry
’s properties.
The definition of what a ‘system’ mount entry is may change over time as new file system types and device paths are ignored.
GIcon *
g_unix_mount_guess_icon (GUnixMountEntry *mount_entry
);
Guesses the icon of a Unix mount.
GIcon *
g_unix_mount_guess_symbolic_icon (GUnixMountEntry *mount_entry
);
Guesses the symbolic icon of a Unix mount.
Since: 2.34
char *
g_unix_mount_guess_name (GUnixMountEntry *mount_entry
);
Guesses the name of a Unix mount. The result is a translated string.
gboolean
g_unix_mount_guess_can_eject (GUnixMountEntry *mount_entry
);
Guesses whether a Unix mount can be ejected.
gboolean
g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry
);
Guesses whether a Unix mount should be displayed in the UI.
void
g_unix_mount_point_free (GUnixMountPoint *mount_point
);
Frees a unix mount point.
gint g_unix_mount_point_compare (GUnixMountPoint *mount1
,GUnixMountPoint *mount2
);
Compares two unix mount points.
GUnixMountPoint *
g_unix_mount_point_copy (GUnixMountPoint *mount_point
);
Makes a copy of mount_point
.
Since: 2.54
const char *
g_unix_mount_point_get_mount_path (GUnixMountPoint *mount_point
);
Gets the mount path for a unix mount point.
const char *
g_unix_mount_point_get_device_path (GUnixMountPoint *mount_point
);
Gets the device path for a unix mount point.
const char *
g_unix_mount_point_get_fs_type (GUnixMountPoint *mount_point
);
Gets the file system type for the mount point.
const char *
g_unix_mount_point_get_options (GUnixMountPoint *mount_point
);
Gets the options for the mount point.
Since: 2.32
gboolean
g_unix_mount_point_is_readonly (GUnixMountPoint *mount_point
);
Checks if a unix mount point is read only.
gboolean
g_unix_mount_point_is_user_mountable (GUnixMountPoint *mount_point
);
Checks if a unix mount point is mountable by the user.
gboolean
g_unix_mount_point_is_loopback (GUnixMountPoint *mount_point
);
Checks if a unix mount point is a loopback device.
GIcon *
g_unix_mount_point_guess_icon (GUnixMountPoint *mount_point
);
Guesses the icon of a Unix mount point.
GIcon *
g_unix_mount_point_guess_symbolic_icon
(GUnixMountPoint *mount_point
);
Guesses the symbolic icon of a Unix mount point.
Since: 2.34
char *
g_unix_mount_point_guess_name (GUnixMountPoint *mount_point
);
Guesses the name of a Unix mount point. The result is a translated string.
gboolean
g_unix_mount_point_guess_can_eject (GUnixMountPoint *mount_point
);
Guesses whether a Unix mount point can be ejected.
GList *
g_unix_mount_points_get (guint64 *time_read
);
Gets a GList of GUnixMountPoint containing the unix mount points.
If time_read
is set, it will be filled with the mount timestamp,
allowing for checking if the mounts have changed with
g_unix_mount_points_changed_since()
.
GUnixMountPoint * g_unix_mount_point_at (const char *mount_path
,guint64 *time_read
);
Gets a GUnixMountPoint for a given mount path. If time_read
is set, it
will be filled with a unix timestamp for checking if the mount points have
changed since with g_unix_mount_points_changed_since()
.
If more mount points have the same mount path, the last matching mount point is returned.
mount_path |
path for a possible unix mount point. |
[type filename] |
time_read |
guint64 to contain a timestamp. |
[out][optional] |
Since: 2.66
GList *
g_unix_mounts_get (guint64 *time_read
);
Gets a GList of GUnixMountEntry containing the unix mounts.
If time_read
is set, it will be filled with the mount
timestamp, allowing for checking if the mounts have changed
with g_unix_mounts_changed_since()
.
GUnixMountEntry * g_unix_mount_at (const char *mount_path
,guint64 *time_read
);
Gets a GUnixMountEntry for a given mount path. If time_read
is set, it will be filled with a unix timestamp for checking
if the mounts have changed since with g_unix_mounts_changed_since()
.
If more mounts have the same mount path, the last matching mount is returned.
This will return NULL
if there is no mount point at mount_path
.
GUnixMountEntry * g_unix_mount_for (const char *file_path
,guint64 *time_read
);
Gets a GUnixMountEntry for a given file path. If time_read
is set, it will be filled with a unix timestamp for checking
if the mounts have changed since with g_unix_mounts_changed_since()
.
If more mounts have the same mount path, the last matching mount is returned.
This will return NULL
if looking up the mount entry fails, if
file_path
doesn’t exist or there is an I/O error.
file_path |
file path on some unix mount. |
[type filename] |
time_read |
guint64 to contain a timestamp. |
[out][optional] |
Since: 2.52
gboolean
g_unix_mounts_changed_since (guint64 time
);
Checks if the unix mounts have changed since a given unix time.
gboolean
g_unix_mount_points_changed_since (guint64 time
);
Checks if the unix mount points have changed since a given unix time.
GUnixMountMonitor *
g_unix_mount_monitor_get (void
);
Gets the GUnixMountMonitor for the current thread-default main context.
The mount monitor can be used to monitor for changes to the list of mounted filesystems as well as the list of mount points (ie: fstab entries).
You must only call g_object_unref()
on the return value from under
the same main context as you called this function.
Since: 2.44
GUnixMountMonitor *
g_unix_mount_monitor_new (void
);
g_unix_mount_monitor_new
has been deprecated since version 2.44 and should not be used in newly-written code.
Use g_unix_mount_monitor_get()
instead.
Deprecated alias for g_unix_mount_monitor_get()
.
This function was never a true constructor, which is why it was renamed.
void g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor
,int limit_msec
);
g_unix_mount_monitor_set_rate_limit
has been deprecated since version 2.44 and should not be used in newly-written code.
This function does nothing. Don't call it.
This function does nothing.
Before 2.44, this was a partially-effective way of controlling the
rate at which events would be reported under some uncommon
circumstances. Since mount_monitor
is a singleton, it also meant
that calling this function would have side effects for other users of
the monitor.
Since: 2.18
gboolean
g_unix_is_mount_path_system_internal (const char *mount_path
);
Determines if mount_path
is considered an implementation of the
OS. This is primarily used for hiding mountable and mounted volumes
that only are used in the OS and has little to no relevance to the
casual user.
gboolean
g_unix_is_system_fs_type (const char *fs_type
);
Determines if fs_type
is considered a type of file system which is only
used in implementation of the OS. This is primarily used for hiding
mounted volumes that are intended as APIs for programs to read, and system
administrators at a shell; rather than something that should, for example,
appear in a GUI. For example, the Linux /proc
filesystem.
The list of file system types considered ‘system’ ones may change over time.
Since: 2.56
gboolean
g_unix_is_system_device_path (const char *device_path
);
Determines if device_path
is considered a block device path which is only
used in implementation of the OS. This is primarily used for hiding
mounted volumes that are intended as APIs for programs to read, and system
administrators at a shell; rather than something that should, for example,
appear in a GUI. For example, the Linux /proc
filesystem.
The list of device paths considered ‘system’ ones may change over time.
Since: 2.56
typedef struct _GUnixMountPoint GUnixMountPoint;
Defines a Unix mount point (e.g. <filename>/dev</filename>). This corresponds roughly to a fstab entry.
typedef struct _GUnixMountEntry GUnixMountEntry;
Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>). This corresponds roughly to a mtab entry.
“mountpoints-changed”
signalvoid user_function (GUnixMountMonitor *monitor, gpointer user_data)
Emitted when the unix mount points have changed.
monitor |
the object on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“mounts-changed”
signalvoid user_function (GUnixMountMonitor *monitor, gpointer user_data)
Emitted when the unix mounts have changed.
monitor |
the object on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last