From: Karel Zak Date: Wed, 21 Aug 2013 08:01:23 +0000 (+0200) Subject: libmount: add function for context userdata X-Git-Tag: v2.24-rc1~360 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32953aebdd355b00fed519a06b015f63e6e3af1e;p=thirdparty%2Futil-linux.git libmount: add function for context userdata Signed-off-by: Karel Zak --- diff --git a/libmount/docs/libmount-sections.txt b/libmount/docs/libmount-sections.txt index f7004fcd4b..551ebedc10 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 e7fc3981ab..12f22fc924 100644 --- a/libmount/src/context.c +++ b/libmount/src/context.c @@ -676,6 +676,42 @@ struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt) return cxt->fs; } +/** + * 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 diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in index e09f472ab2..b6c6554674 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 be140000b0..ae0bc59f88 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;