diff options
-rw-r--r-- | libmount/docs/libmount-sections.txt | 3 | ||||
-rw-r--r-- | libmount/src/context.c | 36 | ||||
-rw-r--r-- | libmount/src/libmount.h.in | 4 | ||||
-rw-r--r-- | libmount/src/libmount.sym | 3 |
4 files changed, 46 insertions, 0 deletions
diff --git a/libmount/docs/libmount-sections.txt b/libmount/docs/libmount-sections.txt index f7004fcd4..551ebedc1 100644 --- a/libmount/docs/libmount-sections.txt +++ b/libmount/docs/libmount-sections.txt @@ -36,11 +36,14 @@ mnt_context_enable_verbose mnt_context_get_cache mnt_context_get_fs mnt_context_get_fstab +mnt_context_get_fstab_userdata; mnt_context_get_fstype +mnt_context_get_fs_userdata; mnt_context_get_helper_status mnt_context_get_lock mnt_context_get_mflags mnt_context_get_mtab +mnt_context_get_mtab_userdata; mnt_context_get_options mnt_context_get_optsmode mnt_context_get_source diff --git a/libmount/src/context.c b/libmount/src/context.c index e7fc3981a..12f22fc92 100644 --- a/libmount/src/context.c +++ b/libmount/src/context.c @@ -677,6 +677,42 @@ struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt) } /** + * mnt_context_get_fs_userdata: + * @cxt: mount context + * + * Returns: pointer to userdata or NULL. + */ +void *mnt_context_get_fs_userdata(struct libmnt_context *cxt) +{ + assert(cxt); + return cxt->fs ? mnt_fs_get_userdata(cxt->fs) : NULL; +} + +/** + * mnt_context_get_fstab_userdata: + * @cxt: mount context + * + * Returns: pointer to userdata or NULL. + */ +void *mnt_context_get_fstab_userdata(struct libmnt_context *cxt) +{ + assert(cxt); + return cxt->fstab ? mnt_table_get_userdata(cxt->fstab) : NULL; +} + +/** + * mnt_context_get_mtab_userdata: + * @cxt: mount context + * + * Returns: pointer to userdata or NULL. + */ +void *mnt_context_get_mtab_userdata(struct libmnt_context *cxt) +{ + assert(cxt); + return cxt->mtab ? mnt_table_get_userdata(cxt->mtab) : NULL; +} + +/** * mnt_context_set_source: * @cxt: mount context * @source: mount source (device, directory, UUID, LABEL, ...) diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in index e09f472ab..b6c655467 100644 --- a/libmount/src/libmount.h.in +++ b/libmount/src/libmount.h.in @@ -601,6 +601,10 @@ extern const char *mnt_context_get_source(struct libmnt_context *cxt); extern const char *mnt_context_get_target(struct libmnt_context *cxt); extern const char *mnt_context_get_fstype(struct libmnt_context *cxt); +extern void *mnt_context_get_mtab_userdata(struct libmnt_context *cxt); +extern void *mnt_context_get_fstab_userdata(struct libmnt_context *cxt); +extern void *mnt_context_get_fs_userdata(struct libmnt_context *cxt); + extern int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr); extern int mnt_context_append_options(struct libmnt_context *cxt, const char *optstr); diff --git a/libmount/src/libmount.sym b/libmount/src/libmount.sym index be140000b..ae0bc59f8 100644 --- a/libmount/src/libmount.sym +++ b/libmount/src/libmount.sym @@ -259,6 +259,9 @@ global: MOUNT_2.24 { global: + mnt_context_get_fstab_userdata; + mnt_context_get_fs_userdata; + mnt_context_get_mtab_userdata; mnt_fs_append_comment; mnt_fs_get_comment; mnt_fs_set_comment; |