Utils

Utils — misc utils.

Functions

int mnt_fstype_is_netfs ()
int mnt_fstype_is_pseudofs ()
const char * mnt_get_fstab_path ()
char * mnt_get_mountpoint ()
const char * mnt_get_mtab_path ()
const char * mnt_get_swaps_path ()
int mnt_has_regular_mtab ()
char * mnt_mangle ()
int mnt_match_fstype ()
int mnt_match_options ()
int mnt_tag_is_valid ()
char * mnt_unmangle ()

Description

Functions

mnt_fstype_is_netfs ()

int
mnt_fstype_is_netfs (const char *type);

Parameters

type

filesystem name

 

Returns

1 for filesystems like cifs, nfs, ... or 0.


mnt_fstype_is_pseudofs ()

int
mnt_fstype_is_pseudofs (const char *type);

Parameters

type

filesystem name

 

Returns

1 for filesystems like proc, sysfs, ... or 0.


mnt_get_fstab_path ()

const char *
mnt_get_fstab_path (void);

Returns

path to /etc/fstab or $LIBMOUNT_FSTAB.


mnt_get_mountpoint ()

char *
mnt_get_mountpoint (const char *path);

This function finds the mountpoint that a given path resides in. path should be canonicalized. The returned pointer should be freed by the caller.

WARNING: the function compares st_dev of the path elements. This traditional way maybe be insufficient on filesystems like Linux "overlay". See also mnt_table_find_target().

Parameters

path

pathname

 

Returns

allocated string with the target of the mounted device or NULL on error


mnt_get_mtab_path ()

const char *
mnt_get_mtab_path (void);

This function returns the *default* location of the mtab file. The result does not have to be writable. See also mnt_has_regular_mtab().

Returns

path to /etc/mtab or $LIBMOUNT_MTAB.


mnt_get_swaps_path ()

const char *
mnt_get_swaps_path (void);

Returns

path to /proc/swaps or $LIBMOUNT_SWAPS.


mnt_has_regular_mtab ()

int
mnt_has_regular_mtab (const char **mtab,
                      int *writable);

If the file does not exist and writable argument is not NULL, then it will try to create the file.

Parameters

mtab

returns path to mtab

 

writable

returns 1 if the file is writable

 

Returns

1 if /etc/mtab is a regular file, and 0 in case of error (check errno for more details).


mnt_mangle ()

char *
mnt_mangle (const char *str);

Encode str to be compatible with fstab/mtab

Parameters

str

string

 

Returns

newly allocated string or NULL in case of error.


mnt_match_fstype ()

int
mnt_match_fstype (const char *type,
                  const char *pattern);

The pattern list of filesystems can be prefixed with a global "no" prefix to invert matching of the whole list. The "no" could also be used for individual items in the pattern list. So, "nofoo,bar" has the same meaning as "nofoo,nobar".

"bar" : "nofoo,bar" -> False (global "no" prefix)

"bar" : "foo,bar" -> True

"bar" : "foo,nobar" -> False

Parameters

type

filesystem type

 

pattern

filesystem name or comma delimited list of names

 

Returns

1 if type is matching, else 0. This function also returns 0 if pattern is NULL and type is non-NULL.


mnt_match_options ()

int
mnt_match_options (const char *optstr,
                   const char *pattern);

The "no" could be used for individual items in the options list. The "no" prefix does not have a global meaning.

Unlike fs type matching, nonetdev,user and nonetdev,nouser have DIFFERENT meanings; each option is matched explicitly as specified.

The "no" prefix interpretation could be disabled by the "+" prefix, for example "+noauto" matches if optstr literally contains the "noauto" string.

"xxx,yyy,zzz" : "nozzz" -> False

"xxx,yyy,zzz" : "xxx,noeee" -> True

"bar,zzz" : "nofoo" -> True

"nofoo,bar" : "+nofoo" -> True

"bar,zzz" : "+nofoo" -> False

Parameters

optstr

options string

 

pattern

comma delimited list of options

 

Returns

1 if pattern is matching, else 0. This function also returns 0 if pattern is NULL and optstr is non-NULL.


mnt_tag_is_valid ()

int
mnt_tag_is_valid (const char *tag);

Parameters

tag

NAME=value string

 

Returns

1 if the tag is parsable and tag NAME= is supported by libmount, or 0.


mnt_unmangle ()

char *
mnt_unmangle (const char *str);

Decode str from fstab/mtab

Parameters

str

string

 

Returns

newly allocated string or NULL in case of error.

Types and Values