From 1d0cd73f3f8929132e731a821ceb07fa6193c00c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 8 Nov 2010 11:14:44 +0100 Subject: libmount: rewrite update Signed-off-by: Karel Zak --- shlibs/mount/src/mount.h.in | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'shlibs/mount/src/mount.h.in') diff --git a/shlibs/mount/src/mount.h.in b/shlibs/mount/src/mount.h.in index 01ba5a6d6..8bb44c7b4 100644 --- a/shlibs/mount/src/mount.h.in +++ b/shlibs/mount/src/mount.h.in @@ -89,7 +89,7 @@ typedef struct _mnt_tab mnt_tab; /** * mnt_update * - * /etc/mtab or /var/run/mountinfo update description + * /etc/mtab or /dev/.mount/utab update description */ typedef struct _mnt_update mnt_update; @@ -131,9 +131,12 @@ extern int mnt_fstype_is_netfs(const char *type); extern int mnt_fstype_is_pseudofs(const char *type); extern int mnt_match_fstype(const char *type, const char *pattern); extern int mnt_match_options(const char *optstr, const char *pattern); -extern const char *mnt_get_writable_mtab_path(void); extern const char *mnt_get_fstab_path(void); extern const char *mnt_get_mtab_path(void); +extern const char *mnt_get_utab_path(void); + +extern int mnt_has_regular_mtab(const char **mtab, int *writable); +extern int mnt_has_regular_utab(const char **utab, int *writable); /* cache.c */ extern mnt_cache *mnt_new_cache(void); @@ -251,6 +254,7 @@ 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 mnt_tab *mnt_new_tab_from_dir(const char *dirname); extern int mnt_tab_parse_stream(mnt_tab *tb, FILE *f, const char *filename); extern int mnt_tab_parse_file(mnt_tab *tb, const char *filename); extern int mnt_tab_parse_fstab(mnt_tab *tb, const char *filename); @@ -286,22 +290,14 @@ extern int mnt_tab_find_next_fs(mnt_tab *tb, mnt_iter *itr, mnt_fs **fs); /* tab_update.c */ -extern mnt_update *mnt_new_update(int action, unsigned long mountflags, const mnt_fs *fs); +extern mnt_update *mnt_new_update(int userspace_only); extern void mnt_free_update(mnt_update *upd); -extern int mnt_update_set_filename(mnt_update *upd, const char *filename); -extern const char *mnt_update_get_filename(mnt_update *upd); -extern int mnt_update_get_format(mnt_update *upd); -extern int mnt_update_set_action(mnt_update *upd, int action); -extern int mnt_update_set_format(mnt_update *upd, int format); -extern int mnt_update_set_mountflags(mnt_update *upd, unsigned long flags); -extern mnt_lock *mnt_update_get_lock(mnt_update *upd); -extern int mnt_update_disable_lock(mnt_update *upd, int disable); -extern int mnt_update_set_old_target(mnt_update *upd, const char *target); -extern int mnt_update_set_fs(mnt_update *upd, const mnt_fs *fs); - -extern int mnt_prepare_update(mnt_update *upd); -extern int mnt_update_file(mnt_update *upd); -extern int mnt_update_is_pointless(mnt_update *upd); +extern int mnt_update_is_ready(mnt_update *upd); +extern int mnt_update_set_fs(mnt_update *upd, int mountflags, + const char *target, mnt_fs *fs); +extern int mnt_update_tab(mnt_update *upd, const char *filename, mnt_lock *lc); +extern int mnt_update_is_userspace_only(mnt_update *upd);; + /* context.c */ -- cgit v1.2.3-55-g7522