Unix Mounts

Unix Mounts — UNIX mounts

Functions

void g_unix_mount_free ()
gint g_unix_mount_compare ()
GUnixMountEntry * g_unix_mount_copy ()
const char * g_unix_mount_get_mount_path ()
const char * g_unix_mount_get_device_path ()
const char * g_unix_mount_get_fs_type ()
gboolean g_unix_mount_is_readonly ()
gboolean g_unix_mount_is_system_internal ()
GIcon * g_unix_mount_guess_icon ()
GIcon * g_unix_mount_guess_symbolic_icon ()
char * g_unix_mount_guess_name ()
gboolean g_unix_mount_guess_can_eject ()
gboolean g_unix_mount_guess_should_display ()
void g_unix_mount_point_free ()
gint g_unix_mount_point_compare ()
GUnixMountPoint * g_unix_mount_point_copy ()
const char * g_unix_mount_point_get_mount_path ()
const char * g_unix_mount_point_get_device_path ()
const char * g_unix_mount_point_get_fs_type ()
const char * g_unix_mount_point_get_options ()
gboolean g_unix_mount_point_is_readonly ()
gboolean g_unix_mount_point_is_user_mountable ()
gboolean g_unix_mount_point_is_loopback ()
GIcon * g_unix_mount_point_guess_icon ()
GIcon * g_unix_mount_point_guess_symbolic_icon ()
char * g_unix_mount_point_guess_name ()
gboolean g_unix_mount_point_guess_can_eject ()
GList * g_unix_mount_points_get ()
GList * g_unix_mounts_get ()
GUnixMountEntry * g_unix_mount_at ()
gboolean g_unix_mounts_changed_since ()
gboolean g_unix_mount_points_changed_since ()
GUnixMountMonitor * g_unix_mount_monitor_get ()
GUnixMountMonitor * g_unix_mount_monitor_new ()
void g_unix_mount_monitor_set_rate_limit ()
gboolean g_unix_is_mount_path_system_internal ()

Object Hierarchy

    GBoxed
    ├── GUnixMountEntry
    ╰── GUnixMountPoint
    GObject
    ╰── GUnixMountMonitor

Includes

#include <gio/gunixmounts.h>

Description

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.

Functions

g_unix_mount_free ()

void
g_unix_mount_free (GUnixMountEntry *mount_entry);

Frees a unix mount.

Parameters

mount_entry

a GUnixMountEntry.

 

g_unix_mount_compare ()

gint
g_unix_mount_compare (GUnixMountEntry *mount1,
                      GUnixMountEntry *mount2);

Compares two unix mounts.

Parameters

mount1

first GUnixMountEntry to compare.

 

mount2

second GUnixMountEntry to compare.

 

Returns

1, 0 or -1 if mount1 is greater than, equal to, or less than mount2 , respectively.


g_unix_mount_copy ()

GUnixMountEntry *
g_unix_mount_copy (GUnixMountEntry *mount_entry);

Makes a copy of mount_entry .

Parameters

mount_entry

a GUnixMountEntry.

 

Returns

a new GUnixMountEntry.

[transfer full]

Since: 2.54


g_unix_mount_get_mount_path ()

const char *
g_unix_mount_get_mount_path (GUnixMountEntry *mount_entry);

Gets the mount path for a unix mount.

Parameters

mount_entry

input GUnixMountEntry to get the mount path for.

 

Returns

the mount path for mount_entry .

[type filename]


g_unix_mount_get_device_path ()

const char *
g_unix_mount_get_device_path (GUnixMountEntry *mount_entry);

Gets the device path for a unix mount.

Parameters

mount_entry

a GUnixMount.

 

Returns

a string containing the device path.

[type filename]


g_unix_mount_get_fs_type ()

const char *
g_unix_mount_get_fs_type (GUnixMountEntry *mount_entry);

Gets the filesystem type for the unix mount.

Parameters

mount_entry

a GUnixMount.

 

Returns

a string containing the file system type.


g_unix_mount_is_readonly ()

gboolean
g_unix_mount_is_readonly (GUnixMountEntry *mount_entry);

Checks if a unix mount is mounted read only.

Parameters

mount_entry

a GUnixMount.

 

Returns

TRUE if mount_entry is read only.


g_unix_mount_is_system_internal ()

gboolean
g_unix_mount_is_system_internal (GUnixMountEntry *mount_entry);

Checks if a unix mount is a system path.

Parameters

mount_entry

a GUnixMount.

 

Returns

TRUE if the unix mount is for a system path.


g_unix_mount_guess_icon ()

GIcon *
g_unix_mount_guess_icon (GUnixMountEntry *mount_entry);

Guesses the icon of a Unix mount.

Parameters

mount_entry

a GUnixMountEntry

 

Returns

a GIcon.

[transfer full]


g_unix_mount_guess_symbolic_icon ()

GIcon *
g_unix_mount_guess_symbolic_icon (GUnixMountEntry *mount_entry);

Guesses the symbolic icon of a Unix mount.

Parameters

mount_entry

a GUnixMountEntry

 

Returns

a GIcon.

[transfer full]

Since: 2.34


g_unix_mount_guess_name ()

char *
g_unix_mount_guess_name (GUnixMountEntry *mount_entry);

Guesses the name of a Unix mount. The result is a translated string.

Parameters

mount_entry

a GUnixMountEntry

 

Returns

A newly allocated string that must be freed with g_free()


g_unix_mount_guess_can_eject ()

gboolean
g_unix_mount_guess_can_eject (GUnixMountEntry *mount_entry);

Guesses whether a Unix mount can be ejected.

Parameters

mount_entry

a GUnixMountEntry

 

Returns

TRUE if mount_entry is deemed to be ejectable.


g_unix_mount_guess_should_display ()

gboolean
g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry);

Guesses whether a Unix mount should be displayed in the UI.

Parameters

mount_entry

a GUnixMountEntry

 

Returns

TRUE if mount_entry is deemed to be displayable.


g_unix_mount_point_free ()

void
g_unix_mount_point_free (GUnixMountPoint *mount_point);

Frees a unix mount point.

Parameters

mount_point

unix mount point to free.

 

g_unix_mount_point_compare ()

gint
g_unix_mount_point_compare (GUnixMountPoint *mount1,
                            GUnixMountPoint *mount2);

Compares two unix mount points.

Parameters

mount1

a GUnixMount.

 

mount2

a GUnixMount.

 

Returns

1, 0 or -1 if mount1 is greater than, equal to, or less than mount2 , respectively.


g_unix_mount_point_copy ()

GUnixMountPoint *
g_unix_mount_point_copy (GUnixMountPoint *mount_point);

Makes a copy of mount_point .

Parameters

mount_point

a GUnixMountPoint.

 

Returns

a new GUnixMountPoint.

[transfer full]

Since: 2.54


g_unix_mount_point_get_mount_path ()

const char *
g_unix_mount_point_get_mount_path (GUnixMountPoint *mount_point);

Gets the mount path for a unix mount point.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

a string containing the mount path.

[type filename]


g_unix_mount_point_get_device_path ()

const char *
g_unix_mount_point_get_device_path (GUnixMountPoint *mount_point);

Gets the device path for a unix mount point.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

a string containing the device path.

[type filename]


g_unix_mount_point_get_fs_type ()

const char *
g_unix_mount_point_get_fs_type (GUnixMountPoint *mount_point);

Gets the file system type for the mount point.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

a string containing the file system type.


g_unix_mount_point_get_options ()

const char *
g_unix_mount_point_get_options (GUnixMountPoint *mount_point);

Gets the options for the mount point.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

a string containing the options.

Since: 2.32


g_unix_mount_point_is_readonly ()

gboolean
g_unix_mount_point_is_readonly (GUnixMountPoint *mount_point);

Checks if a unix mount point is read only.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

TRUE if a mount point is read only.


g_unix_mount_point_is_user_mountable ()

gboolean
g_unix_mount_point_is_user_mountable (GUnixMountPoint *mount_point);

Checks if a unix mount point is mountable by the user.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

TRUE if the mount point is user mountable.


g_unix_mount_point_is_loopback ()

gboolean
g_unix_mount_point_is_loopback (GUnixMountPoint *mount_point);

Checks if a unix mount point is a loopback device.

Parameters

mount_point

a GUnixMountPoint.

 

Returns

TRUE if the mount point is a loopback. FALSE otherwise.


g_unix_mount_point_guess_icon ()

GIcon *
g_unix_mount_point_guess_icon (GUnixMountPoint *mount_point);

Guesses the icon of a Unix mount point.

Parameters

mount_point

a GUnixMountPoint

 

Returns

a GIcon.

[transfer full]


g_unix_mount_point_guess_symbolic_icon ()

GIcon *
g_unix_mount_point_guess_symbolic_icon
                               (GUnixMountPoint *mount_point);

Guesses the symbolic icon of a Unix mount point.

Parameters

mount_point

a GUnixMountPoint

 

Returns

a GIcon.

[transfer full]

Since: 2.34


g_unix_mount_point_guess_name ()

char *
g_unix_mount_point_guess_name (GUnixMountPoint *mount_point);

Guesses the name of a Unix mount point. The result is a translated string.

Parameters

mount_point

a GUnixMountPoint

 

Returns

A newly allocated string that must be freed with g_free()


g_unix_mount_point_guess_can_eject ()

gboolean
g_unix_mount_point_guess_can_eject (GUnixMountPoint *mount_point);

Guesses whether a Unix mount point can be ejected.

Parameters

mount_point

a GUnixMountPoint

 

Returns

TRUE if mount_point is deemed to be ejectable.


g_unix_mount_points_get ()

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().

Parameters

time_read

guint64 to contain a timestamp.

[out][optional]

Returns

a GList of the UNIX mountpoints.

[element-type GUnixMountPoint][transfer full]


g_unix_mounts_get ()

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().

Parameters

time_read

guint64 to contain a timestamp, or NULL.

[out][optional]

Returns

a GList of the UNIX mounts.

[element-type GUnixMountEntry][transfer full]


g_unix_mount_at ()

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().

Parameters

mount_path

path for a possible unix mount.

[type filename]

time_read

guint64 to contain a timestamp.

[out][optional]

Returns

a GUnixMountEntry.

[transfer full]


g_unix_mounts_changed_since ()

gboolean
g_unix_mounts_changed_since (guint64 time);

Checks if the unix mounts have changed since a given unix time.

Parameters

time

guint64 to contain a timestamp.

 

Returns

TRUE if the mounts have changed since time .


g_unix_mount_points_changed_since ()

gboolean
g_unix_mount_points_changed_since (guint64 time);

Checks if the unix mount points have changed since a given unix time.

Parameters

time

guint64 to contain a timestamp.

 

Returns

TRUE if the mount points have changed since time .


g_unix_mount_monitor_get ()

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.

Returns

the GUnixMountMonitor.

[transfer full]

Since: 2.44


g_unix_mount_monitor_new ()

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.

Returns

a GUnixMountMonitor.


g_unix_mount_monitor_set_rate_limit ()

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.

Parameters

mount_monitor

a GUnixMountMonitor

 

limit_msec

a integer with the limit in milliseconds to poll for changes.

 

Since: 2.18


g_unix_is_mount_path_system_internal ()

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.

Parameters

mount_path

a mount path, e.g. /media/disk or /usr.

[type filename]

Returns

TRUE if mount_path is considered an implementation detail of the OS.

Types and Values

GUnixMountPoint

typedef struct _GUnixMountPoint GUnixMountPoint;

Defines a Unix mount point (e.g. <filename>/dev</filename>). This corresponds roughly to a fstab entry.


GUnixMountEntry

typedef struct _GUnixMountEntry GUnixMountEntry;

Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>). This corresponds roughly to a mtab entry.


GUnixMountMonitor

typedef struct _GUnixMountMonitor GUnixMountMonitor;

Watches GUnixMounts for changes.

Signal Details

The “mountpoints-changed” signal

void
user_function (GUnixMountMonitor *monitor,
               gpointer           user_data)

Emitted when the unix mount points have changed.

Parameters

monitor

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “mounts-changed” signal

void
user_function (GUnixMountMonitor *monitor,
               gpointer           user_data)

Emitted when the unix mounts have changed.

Parameters

monitor

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last