summaryrefslogtreecommitdiffstats
path: root/shlibs/mount/src/mount.h.in
diff options
context:
space:
mode:
authorKarel Zak2010-01-13 22:08:16 +0100
committerKarel Zak2010-06-03 15:20:11 +0200
commit6bd8b7a79dffb532ae8639e563f75005a10bc41d (patch)
tree470fe4db5d45f28e2f5c49db4388d315f39e5b61 /shlibs/mount/src/mount.h.in
parentlibmount: rename mnt_optls_iterate_options() (diff)
downloadkernel-qcow2-util-linux-6bd8b7a79dffb532ae8639e563f75005a10bc41d.tar.gz
kernel-qcow2-util-linux-6bd8b7a79dffb532ae8639e563f75005a10bc41d.tar.xz
kernel-qcow2-util-linux-6bd8b7a79dffb532ae8639e563f75005a10bc41d.zip
libmount: add fstab/mtab/mountinfo parsing routines
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'shlibs/mount/src/mount.h.in')
-rw-r--r--shlibs/mount/src/mount.h.in36
1 files changed, 36 insertions, 0 deletions
diff --git a/shlibs/mount/src/mount.h.in b/shlibs/mount/src/mount.h.in
index d179620c1..b4c9bc53a 100644
--- a/shlibs/mount/src/mount.h.in
+++ b/shlibs/mount/src/mount.h.in
@@ -95,6 +95,13 @@ struct mnt_optmap
*/
typedef struct _mnt_fs mnt_fs;
+/**
+ * mnt_tab:
+ *
+ * List of mnt_fs entries (parsed fstab/mtab/mountinfo)
+ */
+typedef struct _mnt_tab mnt_tab;
+
/* version.c */
extern int mnt_parse_version_string(const char *ver_string);
@@ -237,6 +244,35 @@ extern int mnt_fprintf_line(
extern int mnt_fs_fprintf(mnt_fs *ent, FILE *f, const char *fmt);
extern int mnt_fs_print_debug(mnt_fs *ent, FILE *file);
+/* tab-parse.c */
+extern mnt_tab *mnt_new_tab_from_file(const char *filename);
+extern int mnt_tab_parse_file(mnt_tab *tb);
+extern char *mnt_tab_strerror(mnt_tab *tb, char *buf, size_t buflen);
+extern int mnt_tab_get_nerrs(mnt_tab *tb);
+
+/* tab.c */
+extern mnt_tab *mnt_new_tab(const char *filename);
+extern void mnt_free_tab(mnt_tab *tb);
+extern int mnt_tab_get_nents(mnt_tab *tb);
+extern int mnt_tab_set_cache(mnt_tab *tb, mnt_cache *mpc);
+extern mnt_cache *mnt_tab_get_cache(mnt_tab *tb);
+extern const char *mnt_tab_get_name(mnt_tab *tb);
+extern int mnt_tab_add_fs(mnt_tab *tb, mnt_fs *fs);
+extern int mnt_tab_remove_fs(mnt_tab *tb, mnt_fs *fs);
+extern int mnt_tab_next_fs(mnt_tab *tb, mnt_iter *itr, mnt_fs **fs);
+extern int mnt_tab_set_iter(mnt_tab *tb, mnt_iter *itr, mnt_fs *fs);
+
+extern mnt_fs *mnt_tab_find_target(mnt_tab *tb, const char *path, int direction);
+extern mnt_fs *mnt_tab_find_srcpath(mnt_tab *tb, const char *path, int direction);
+extern mnt_fs *mnt_tab_find_tag(mnt_tab *tb, const char *tag,
+ const char *val, int direction);
+extern mnt_fs *mnt_tab_find_source(mnt_tab *tb, const char *source, int direction);
+extern mnt_fs *mnt_tab_find_pair(mnt_tab *tb, const char *srcpath,
+ const char *target, int direction);
+extern int mnt_tab_fprintf(mnt_tab *tb, FILE *f, const char *fmt);
+extern int mnt_tab_update_file(mnt_tab *tb);
+
+
/*
* mount(8) userspace options masks (MNT_MAP_USERSPACE map)
*/