]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libmount: add mnt_table_{set,get}_userdata()
authorKarel Zak <kzak@redhat.com>
Tue, 20 Aug 2013 10:41:27 +0000 (12:41 +0200)
committerKarel Zak <kzak@redhat.com>
Tue, 20 Aug 2013 10:41:27 +0000 (12:41 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
libmount/src/libmount.h.in
libmount/src/libmount.sym
libmount/src/tab.c

index df78c268a064bd2d519450aa0ff6fd5c2ce37857..c2aa4fa83be9fea70cc67dfd97b3e2acef12993b 100644 (file)
@@ -413,6 +413,9 @@ extern void mnt_free_table(struct libmnt_table *tb);
 extern int mnt_reset_table(struct libmnt_table *tb);
 extern int mnt_table_get_nents(struct libmnt_table *tb);
 
+extern int mnt_table_set_userdata(struct libmnt_table *tb, void *data);
+extern void *mnt_table_get_userdata(struct libmnt_table *tb);
+
 extern void mnt_table_enable_comments(struct libmnt_table *tb, int enable);
 extern int mnt_table_with_comments(struct libmnt_table *tb);
 extern const char *mnt_table_get_intro_comment(struct libmnt_table *tb);
index 2cb101c48929e851c6de523eb792029cd7147a70..508c5cd38450dc129749d1b4521330237561df4e 100644 (file)
@@ -267,9 +267,11 @@ global:
        mnt_table_enable_comments;
        mnt_table_get_intro_comment;
        mnt_table_get_trailing_comment;
+       mnt_table_get_userdata;
        mnt_table_replace_file;
        mnt_table_set_intro_comment;
        mnt_table_set_trailing_comment;
+       mnt_table_set_userdata;
        mnt_table_with_comments;
        mnt_table_write_file;
 } MOUNT_2.23;
index c79b9819c70a62488ca9ae3e13dc7e26448123f5..a8b462faa83288801b653109f77af91f4b0cf878 100644 (file)
@@ -127,6 +127,37 @@ int mnt_table_get_nents(struct libmnt_table *tb)
        return tb ? tb->nents : 0;
 }
 
+/**
+ * mnt_table_set_userdata:
+ * @tb: pointer to tab
+ * @data: pointer to user data
+ *
+ * Sets pointer to the private user data.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_set_userdata(struct libmnt_table *tb, void *data)
+{
+       assert(tb);
+       if (!tb)
+               return -EINVAL;
+
+       tb->userdata = data;
+       return 0;
+}
+
+/**
+ * mnt_table_get_userdata:
+ * @tb: pointer to tab
+ *
+ * Returns: pointer to user's data.
+ */
+void *mnt_table_get_userdata(struct libmnt_table *tb)
+{
+       assert(tb);
+       return tb ? tb->userdata : NULL;
+}
+
 /**
  * mnt_table_enable_comments:
  * @tb: pointer to tab