X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=libfstools%2Flibfstools.h;h=0398c96d5cd8de37558c99620ca3ee3f832d0ed5;hb=41e7cf7483c89926f5650028e07a54f9052884c4;hp=598196ed5f3a66524bffb8fb3d8c8e15ddacf7ce;hpb=9303a84fb4bcf84ebcf58f2afdd7cac7dde0161f;p=project%2Ffstools.git diff --git a/libfstools/libfstools.h b/libfstools/libfstools.h index 598196e..0398c96 100644 --- a/libfstools/libfstools.h +++ b/libfstools/libfstools.h @@ -16,18 +16,32 @@ #include #include +#include +#include + +struct volume; enum { FS_NONE, FS_SNAPSHOT, FS_JFFS2, FS_DEADCODE, + FS_UBIFS, + FS_F2FS, + FS_EXT4, +}; + +enum fs_state { + FS_STATE_UNKNOWN, + FS_STATE_PENDING, + FS_STATE_READY, + __FS_STATE_LAST = FS_STATE_READY, }; extern char const *extroot_prefix; extern int mount_extroot(void); -extern int mount_snapshot(void); -extern int mount_overlay(void); +extern int mount_snapshot(struct volume *v); +extern int mount_overlay(struct volume *v); extern int mount_move(char *oldroot, char *newroot, char *dir); extern int pivot(char *new, char *old); @@ -36,15 +50,17 @@ extern int ramoverlay(void); extern int find_overlay_mount(char *overlay); extern char* find_mount(char *mp); -extern char* find_mount_point(char *block, char *fs); +extern char* find_mount_point(char *block, int root_only); extern int find_filesystem(char *fs); -extern int find_mtd_block(char *name, char *part, int plen); -extern int find_mtd_char(char *name, char *part, int plen); -extern int jffs2_ready(char *mtd); -extern int jffs2_switch(int argc, char **argv); +extern int jffs2_switch(struct volume *v); extern int handle_whiteout(const char *dir); extern void foreachdir(const char *dir, int (*cb)(const char*)); +extern void overlay_delete(const char *dir, bool keep_sysupgrade); + +enum fs_state fs_state_get(const char *dir); +int fs_state_set(const char *dir, enum fs_state state); + #endif